From b67d03126e92dff59532cffd1d5f47d6388308e9 Mon Sep 17 00:00:00 2001 From: Geoff Romer Date: Thu, 24 Oct 2024 08:22:32 -0700 Subject: [PATCH] Separate inst kind for out params (#4442) --- toolchain/check/deduce.cpp | 2 +- toolchain/check/eval.cpp | 8 +- toolchain/check/handle_binding_pattern.cpp | 2 +- toolchain/check/handle_function.cpp | 4 +- toolchain/check/import_ref.cpp | 10 +- toolchain/check/merge.cpp | 4 +- toolchain/check/pattern_match.cpp | 44 +++++- .../no_prelude/fail_local_in_namespace.carbon | 4 +- .../alias/no_prelude/fail_params.carbon | 2 +- .../alias/no_prelude/in_namespace.carbon | 4 +- .../testdata/alias/no_prelude/local.carbon | 4 +- .../testdata/array/array_in_place.carbon | 4 +- .../testdata/array/assign_return_value.carbon | 4 +- .../testdata/array/canonicalize_index.carbon | 12 +- .../testdata/array/fail_bound_negative.carbon | 8 +- .../testdata/array/function_param.carbon | 16 +- .../check/testdata/array/generic_empty.carbon | 4 +- .../testdata/as/adapter_conversion.carbon | 4 +- toolchain/check/testdata/as/basic.carbon | 4 +- toolchain/check/testdata/as/identity.carbon | 12 +- .../check/testdata/as/no_prelude/tuple.carbon | 4 +- toolchain/check/testdata/as/overloaded.carbon | 16 +- .../check/testdata/basics/fail_bad_run.carbon | 4 +- .../testdata/basics/fail_bad_run_2.carbon | 4 +- .../no_prelude/raw_and_textual_ir.carbon | 16 +- .../basics/no_prelude/raw_identifier.carbon | 24 +-- .../testdata/basics/no_prelude/raw_ir.carbon | 12 +- .../basics/no_prelude/textual_ir.carbon | 8 +- .../check/testdata/basics/run_i32.carbon | 4 +- .../builtins/big_int/make_type.carbon | 4 +- .../testdata/builtins/bool/make_type.carbon | 4 +- .../check/testdata/builtins/float/add.carbon | 108 ++++++------- .../check/testdata/builtins/float/div.carbon | 108 ++++++------- .../check/testdata/builtins/float/eq.carbon | 44 +++--- .../testdata/builtins/float/greater.carbon | 40 ++--- .../testdata/builtins/float/greater_eq.carbon | 40 ++--- .../check/testdata/builtins/float/less.carbon | 40 ++--- .../testdata/builtins/float/less_eq.carbon | 40 ++--- .../testdata/builtins/float/make_type.carbon | 16 +- .../check/testdata/builtins/float/mul.carbon | 108 ++++++------- .../testdata/builtins/float/negate.carbon | 88 +++++------ .../check/testdata/builtins/float/neq.carbon | 44 +++--- .../check/testdata/builtins/float/sub.carbon | 108 ++++++------- .../check/testdata/builtins/int/and.carbon | 24 +-- .../testdata/builtins/int/complement.carbon | 28 ++-- .../check/testdata/builtins/int/eq.carbon | 44 +++--- .../testdata/builtins/int/greater.carbon | 40 ++--- .../testdata/builtins/int/greater_eq.carbon | 40 ++--- .../testdata/builtins/int/left_shift.carbon | 44 +++--- .../check/testdata/builtins/int/less.carbon | 40 ++--- .../testdata/builtins/int/less_eq.carbon | 40 ++--- .../testdata/builtins/int/make_type_32.carbon | 4 +- .../builtins/int/make_type_signed.carbon | 44 +++--- .../builtins/int/make_type_unsigned.carbon | 44 +++--- .../check/testdata/builtins/int/neq.carbon | 32 ++-- .../check/testdata/builtins/int/or.carbon | 24 +-- .../testdata/builtins/int/right_shift.carbon | 64 ++++---- .../check/testdata/builtins/int/sadd.carbon | 120 +++++++-------- .../check/testdata/builtins/int/sdiv.carbon | 68 ++++----- .../check/testdata/builtins/int/smod.carbon | 68 ++++----- .../check/testdata/builtins/int/smul.carbon | 36 ++--- .../testdata/builtins/int/snegate.carbon | 108 ++++++------- .../check/testdata/builtins/int/ssub.carbon | 36 ++--- .../check/testdata/builtins/int/uadd.carbon | 120 +++++++-------- .../check/testdata/builtins/int/udiv.carbon | 68 ++++----- .../check/testdata/builtins/int/umod.carbon | 68 ++++----- .../check/testdata/builtins/int/umul.carbon | 36 ++--- .../testdata/builtins/int/unegate.carbon | 108 ++++++------- .../check/testdata/builtins/int/usub.carbon | 36 ++--- .../check/testdata/builtins/int/xor.carbon | 24 +-- .../check/testdata/builtins/print.carbon | 4 +- .../testdata/class/access_modifers.carbon | 28 ++-- toolchain/check/testdata/class/adapt.carbon | 4 +- toolchain/check/testdata/class/base.carbon | 12 +- .../check/testdata/class/base_field.carbon | 8 +- .../check/testdata/class/base_method.carbon | 12 +- .../class/base_method_qualified.carbon | 56 +++---- .../testdata/class/base_method_shadow.carbon | 28 ++-- toolchain/check/testdata/class/basic.carbon | 28 ++-- .../class/complete_in_member_fn.carbon | 8 +- .../testdata/class/compound_field.carbon | 32 ++-- .../testdata/class/derived_to_base.carbon | 36 ++--- .../check/testdata/class/extend_adapt.carbon | 28 ++-- .../check/testdata/class/fail_abstract.carbon | 36 ++--- .../testdata/class/fail_adapt_bad_decl.carbon | 8 +- .../testdata/class/fail_addr_not_self.carbon | 8 +- .../testdata/class/fail_addr_self.carbon | 16 +- .../testdata/class/fail_base_bad_type.carbon | 104 ++++++------- .../class/fail_compound_type_mismatch.carbon | 8 +- .../class/fail_convert_to_invalid.carbon | 4 +- .../class/fail_derived_to_base.carbon | 16 +- .../testdata/class/fail_generic_method.carbon | 22 +-- .../testdata/class/fail_incomplete.carbon | 44 +++--- .../class/fail_init_as_inplace.carbon | 4 +- .../class/fail_memaccess_category.carbon | 12 +- .../testdata/class/fail_member_of_let.carbon | 4 +- .../check/testdata/class/fail_method.carbon | 8 +- .../class/fail_method_modifiers.carbon | 20 +-- .../check/testdata/class/fail_scope.carbon | 8 +- .../check/testdata/class/fail_self.carbon | 24 +-- .../testdata/class/fail_self_param.carbon | 4 +- .../testdata/class/fail_unbound_field.carbon | 8 +- .../testdata/class/fail_unknown_member.carbon | 8 +- .../testdata/class/forward_declared.carbon | 8 +- .../check/testdata/class/generic/basic.carbon | 24 +-- .../check/testdata/class/generic/call.carbon | 56 +++---- .../check/testdata/class/generic/field.carbon | 36 ++--- .../testdata/class/generic/import.carbon | 36 ++--- .../check/testdata/class/generic/init.carbon | 48 +++--- .../class/generic/member_access.carbon | 60 ++++---- .../class/generic/member_inline.carbon | 24 +-- .../class/generic/member_out_of_line.carbon | 88 +++++------ .../class/generic/method_deduce.carbon | 40 ++--- .../testdata/class/generic/redeclare.carbon | 52 +++---- .../check/testdata/class/generic/self.carbon | 12 +- .../testdata/class/generic_method.carbon | 22 +-- toolchain/check/testdata/class/import.carbon | 8 +- .../check/testdata/class/import_base.carbon | 8 +- .../testdata/class/inheritance_access.carbon | 60 ++++---- toolchain/check/testdata/class/init.carbon | 24 +-- .../check/testdata/class/init_adapt.carbon | 16 +- toolchain/check/testdata/class/init_as.carbon | 4 +- .../check/testdata/class/init_nested.carbon | 8 +- toolchain/check/testdata/class/method.carbon | 76 ++++----- toolchain/check/testdata/class/nested.carbon | 4 +- .../check/testdata/class/nested_name.carbon | 12 +- .../class/no_prelude/generic_vs_params.carbon | 16 +- .../class/no_prelude/import_access.carbon | 12 +- .../class/no_prelude/syntactic_merge.carbon | 104 ++++++------- .../check/testdata/class/raw_self.carbon | 40 ++--- .../check/testdata/class/raw_self_type.carbon | 16 +- .../check/testdata/class/redeclaration.carbon | 16 +- .../check/testdata/class/reenter_scope.carbon | 12 +- toolchain/check/testdata/class/reorder.carbon | 8 +- toolchain/check/testdata/class/scope.carbon | 12 +- toolchain/check/testdata/class/self.carbon | 40 ++--- .../testdata/class/self_conversion.carbon | 32 ++-- .../check/testdata/class/self_type.carbon | 20 +-- .../check/testdata/class/static_method.carbon | 8 +- .../class/syntactic_merge_literal.carbon | 24 +-- toolchain/check/testdata/const/basic.carbon | 16 +- .../check/testdata/const/collapse.carbon | 8 +- .../check/testdata/const/fail_collapse.carbon | 8 +- toolchain/check/testdata/const/import.carbon | 4 +- toolchain/check/testdata/deduce/array.carbon | 84 +++++----- .../check/testdata/deduce/generic_type.carbon | 100 ++++++------ .../check/testdata/deduce/int_float.carbon | 40 ++--- toolchain/check/testdata/deduce/tuple.carbon | 72 ++++----- .../testdata/deduce/type_operator.carbon | 80 +++++----- .../check/testdata/eval/fail_symbolic.carbon | 4 +- toolchain/check/testdata/eval/symbolic.carbon | 4 +- .../expr_category/in_place_tuple_init.carbon | 12 +- .../testdata/function/builtin/call.carbon | 12 +- .../function/builtin/definition.carbon | 12 +- .../function/builtin/fail_redefined.carbon | 72 ++++----- .../testdata/function/builtin/method.carbon | 24 +-- .../no_prelude/call_from_operator.carbon | 28 ++-- .../function/builtin/no_prelude/import.carbon | 16 +- .../function/call/fail_param_count.carbon | 12 +- .../function/call/fail_param_type.carbon | 4 +- .../call/fail_return_type_mismatch.carbon | 4 +- .../check/testdata/function/call/i32.carbon | 8 +- .../function/call/more_param_ir.carbon | 8 +- .../function/call/no_prelude/alias.carbon | 4 +- .../call/no_prelude/empty_struct.carbon | 8 +- .../call/no_prelude/empty_tuple.carbon | 8 +- .../fail_explicit_self_param.carbon | 4 +- .../testdata/function/call/params_one.carbon | 4 +- .../function/call/params_one_comma.carbon | 4 +- .../testdata/function/call/params_two.carbon | 8 +- .../function/call/params_two_comma.carbon | 8 +- .../declaration/fail_param_in_type.carbon | 8 +- .../declaration/fail_param_redecl.carbon | 8 +- .../function/declaration/import.carbon | 48 +++--- .../declaration/no_prelude/extern.carbon | 4 +- .../fail_import_incomplete_return.carbon | 16 +- .../declaration/no_prelude/fail_redecl.carbon | 12 +- .../declaration/param_same_name.carbon | 8 +- .../function/definition/import.carbon | 20 +-- .../fail_decl_param_mismatch.carbon | 32 ++-- .../no_prelude/syntactic_merge.carbon | 104 ++++++------- .../function/definition/params_one.carbon | 4 +- .../definition/params_one_comma.carbon | 4 +- .../function/definition/params_two.carbon | 8 +- .../definition/params_two_comma.carbon | 8 +- .../testdata/function/generic/deduce.carbon | 120 +++++++-------- .../generic/fail_todo_param_in_type.carbon | 8 +- .../function/generic/no_prelude/call.carbon | 88 +++++------ .../fail_type_param_mismatch.carbon | 8 +- .../generic/no_prelude/forward_decl.carbon | 4 +- .../no_prelude/indirect_generic_type.carbon | 12 +- .../generic/no_prelude/type_param.carbon | 4 +- .../no_prelude/type_param_scope.carbon | 12 +- .../function/generic/redeclare.carbon | 88 +++++------ .../function/generic/resolve_used.carbon | 4 +- .../function/generic/return_slot.carbon | 8 +- .../function/generic/undefined.carbon | 60 ++++---- .../testdata/global/class_with_fun.carbon | 4 +- .../testdata/global/simple_with_fun.carbon | 4 +- toolchain/check/testdata/if/else.carbon | 4 +- .../if/fail_reachable_fallthrough.carbon | 24 +-- toolchain/check/testdata/if/fail_scope.carbon | 8 +- toolchain/check/testdata/if/no_else.carbon | 4 +- .../if/unreachable_fallthrough.carbon | 8 +- toolchain/check/testdata/if_expr/basic.carbon | 16 +- .../if_expr/constant_condition.carbon | 28 ++-- .../testdata/if_expr/control_flow.carbon | 16 +- .../if_expr/fail_partial_constant.carbon | 8 +- .../check/testdata/if_expr/nested.carbon | 16 +- .../check/testdata/if_expr/struct.carbon | 8 +- toolchain/check/testdata/impl/compound.carbon | 24 +-- .../check/testdata/impl/extend_impl.carbon | 4 +- .../testdata/impl/fail_call_invalid.carbon | 12 +- .../impl/fail_extend_impl_forall.carbon | 16 +- .../impl/fail_impl_bad_assoc_fn.carbon | 120 +++++++-------- .../check/testdata/impl/impl_forall.carbon | 4 +- .../check/testdata/impl/lookup/alias.carbon | 4 +- .../lookup/fail_alias_impl_not_found.carbon | 4 +- .../lookup/fail_todo_undefined_impl.carbon | 4 +- .../check/testdata/impl/lookup/generic.carbon | 84 +++++----- .../check/testdata/impl/lookup/import.carbon | 4 +- .../impl/lookup/instance_method.carbon | 24 +-- .../impl/lookup/no_prelude/impl_forall.carbon | 48 +++--- .../impl/lookup/no_prelude/import.carbon | 4 +- .../no_prelude/generic_redeclaration.carbon | 40 ++--- .../impl/no_prelude/import_generic.carbon | 16 +- .../impl/no_prelude/import_self.carbon | 36 ++--- .../impl/no_prelude/interface_args.carbon | 44 +++--- .../impl/no_prelude/self_in_class.carbon | 8 +- .../impl/no_prelude/self_in_signature.carbon | 48 +++--- .../check/testdata/index/expr_category.carbon | 12 +- .../testdata/index/fail_expr_category.carbon | 8 +- .../fail_todo_define_default_fn_inline.carbon | 12 +- ..._todo_define_default_fn_out_of_line.carbon | 56 +++---- .../interface/no_prelude/as_type.carbon | 4 +- .../no_prelude/as_type_of_type.carbon | 4 +- .../no_prelude/assoc_const_in_generic.carbon | 16 +- .../interface/no_prelude/export_name.carbon | 4 +- .../no_prelude/fail_duplicate.carbon | 4 +- .../fail_generic_redeclaration.carbon | 16 +- .../no_prelude/fail_lookup_undefined.carbon | 4 +- .../no_prelude/fail_todo_facet_lookup.carbon | 12 +- .../fail_todo_generic_default_fn.carbon | 22 +-- .../interface/no_prelude/generic.carbon | 44 +++--- .../generic_binding_after_assoc_const.carbon | 8 +- .../no_prelude/generic_import.carbon | 4 +- .../no_prelude/generic_vs_params.carbon | 12 +- .../interface/no_prelude/import.carbon | 12 +- .../interface/no_prelude/import_access.carbon | 36 ++--- .../testdata/interface/no_prelude/self.carbon | 8 +- .../no_prelude/syntactic_merge.carbon | 96 ++++++------ .../interface/todo_define_not_default.carbon | 12 +- .../testdata/let/compile_time_bindings.carbon | 36 ++--- toolchain/check/testdata/let/convert.carbon | 4 +- .../check/testdata/let/fail_generic.carbon | 8 +- toolchain/check/testdata/let/global.carbon | 4 +- toolchain/check/testdata/let/local.carbon | 8 +- .../check/testdata/let/shadowed_decl.carbon | 8 +- .../testdata/namespace/add_to_import.carbon | 4 +- .../check/testdata/namespace/alias.carbon | 12 +- .../namespace/fail_decl_in_alias.carbon | 4 +- .../testdata/namespace/fail_params.carbon | 8 +- .../merging_with_indirections.carbon | 4 +- .../check/testdata/namespace/shadow.carbon | 4 +- .../testdata/operators/builtin/and.carbon | 16 +- .../fail_and_or_partial_constant.carbon | 8 +- .../fail_assignment_to_non_assignable.carbon | 4 +- .../fail_redundant_compound_access.carbon | 4 +- .../builtin/fail_type_mismatch_once.carbon | 4 +- .../builtin/fail_unimplemented_op.carbon | 4 +- .../testdata/operators/builtin/or.carbon | 16 +- .../operators/builtin/unary_op.carbon | 8 +- .../testdata/operators/overloaded/add.carbon | 40 ++--- .../operators/overloaded/bit_and.carbon | 40 ++--- .../overloaded/bit_complement.carbon | 16 +- .../operators/overloaded/bit_or.carbon | 40 ++--- .../operators/overloaded/bit_xor.carbon | 40 ++--- .../testdata/operators/overloaded/dec.carbon | 4 +- .../testdata/operators/overloaded/div.carbon | 40 ++--- .../testdata/operators/overloaded/eq.carbon | 120 +++++++-------- .../overloaded/fail_assign_non_ref.carbon | 24 +-- .../operators/overloaded/fail_no_impl.carbon | 24 +-- .../overloaded/fail_no_impl_for_arg.carbon | 36 ++--- .../operators/overloaded/implicit_as.carbon | 32 ++-- .../testdata/operators/overloaded/inc.carbon | 4 +- .../operators/overloaded/left_shift.carbon | 40 ++--- .../testdata/operators/overloaded/mod.carbon | 40 ++--- .../testdata/operators/overloaded/mul.carbon | 40 ++--- .../operators/overloaded/negate.carbon | 16 +- .../operators/overloaded/ordered.carbon | 144 +++++++++--------- .../operators/overloaded/right_shift.carbon | 40 ++--- .../testdata/operators/overloaded/sub.carbon | 40 ++--- .../no_prelude/cross_package_import.carbon | 4 +- .../no_prelude/fail_export_name_params.carbon | 10 +- .../no_prelude/missing_prelude.carbon | 16 +- .../testdata/pointer/address_of_deref.carbon | 4 +- toolchain/check/testdata/pointer/arrow.carbon | 8 +- toolchain/check/testdata/pointer/basic.carbon | 4 +- .../pointer/fail_address_of_value.carbon | 12 +- .../pointer/fail_deref_not_pointer.carbon | 4 +- .../pointer/fail_type_mismatch.carbon | 8 +- .../testdata/pointer/nested_const.carbon | 8 +- toolchain/check/testdata/pointer/types.carbon | 16 +- .../return/code_after_return_value.carbon | 8 +- .../testdata/return/fail_call_in_type.carbon | 8 +- .../testdata/return/fail_error_in_type.carbon | 4 +- .../return/fail_missing_return.carbon | 4 +- .../fail_missing_return_empty_tuple.carbon | 4 +- .../fail_return_var_no_returned_var.carbon | 4 +- .../fail_return_with_returned_var.carbon | 8 +- .../return/fail_returned_var_shadow.carbon | 8 +- .../return/fail_returned_var_type.carbon | 4 +- .../testdata/return/fail_type_mismatch.carbon | 4 +- .../testdata/return/fail_value_missing.carbon | 4 +- .../testdata/return/fail_var_in_type.carbon | 4 +- .../check/testdata/return/returned_var.carbon | 8 +- .../testdata/return/returned_var_scope.carbon | 12 +- toolchain/check/testdata/return/struct.carbon | 4 +- toolchain/check/testdata/return/tuple.carbon | 4 +- toolchain/check/testdata/return/value.carbon | 4 +- .../struct/fail_duplicate_name.carbon | 4 +- toolchain/check/testdata/struct/import.carbon | 8 +- .../struct/literal_member_access.carbon | 8 +- .../struct/nested_struct_in_place.carbon | 4 +- .../testdata/struct/reorder_fields.carbon | 12 +- .../tuple/access/return_value_access.carbon | 8 +- toolchain/check/testdata/tuple/import.carbon | 8 +- .../tuple/nested_tuple_in_place.carbon | 4 +- .../testdata/var/fail_not_copyable.carbon | 4 +- .../testdata/where_expr/constraints.carbon | 40 ++--- .../testdata/where_expr/designator.carbon | 32 ++-- .../testdata/where_expr/fail_not_facet.carbon | 4 +- .../testdata/where_expr/non_generic.carbon | 4 +- .../testdata/while/break_continue.carbon | 32 ++-- .../testdata/while/unreachable_end.carbon | 4 +- toolchain/check/testdata/while/while.carbon | 4 +- toolchain/lower/handle.cpp | 7 +- toolchain/sem_ir/file.cpp | 10 +- toolchain/sem_ir/formatter.cpp | 8 +- toolchain/sem_ir/function.cpp | 6 +- toolchain/sem_ir/function.h | 4 +- toolchain/sem_ir/inst_kind.def | 6 +- toolchain/sem_ir/inst_namer.cpp | 8 +- toolchain/sem_ir/stringify_type.cpp | 6 +- toolchain/sem_ir/typed_insts.h | 68 +++++++-- 345 files changed, 4128 insertions(+), 4019 deletions(-) diff --git a/toolchain/check/deduce.cpp b/toolchain/check/deduce.cpp index fa1c86b3168a..ad514915fc0f 100644 --- a/toolchain/check/deduce.cpp +++ b/toolchain/check/deduce.cpp @@ -364,7 +364,7 @@ auto DeductionContext::Deduce() -> bool { continue; } - case CARBON_KIND(SemIR::ParamPattern pattern): { + case CARBON_KIND(SemIR::ValueParamPattern pattern): { Add(pattern.subpattern_id, arg_id, needs_substitution); continue; } diff --git a/toolchain/check/eval.cpp b/toolchain/check/eval.cpp index 9e32ed22cf04..196596eaac39 100644 --- a/toolchain/check/eval.cpp +++ b/toolchain/check/eval.cpp @@ -1421,7 +1421,9 @@ static auto TryEvalInstInContext(EvalContext& eval_context, case CARBON_KIND(SemIR::NameRef typed_inst): { return eval_context.GetConstantValue(typed_inst.value_id); } - case CARBON_KIND(SemIR::ParamPattern param_pattern): { + case CARBON_KIND(SemIR::ValueParamPattern param_pattern): { + // TODO: treat this as a non-expression (here and in GetExprCategory) + // once generic deduction doesn't need patterns to have constant values. return eval_context.GetConstantValue(param_pattern.subpattern_id); } case CARBON_KIND(SemIR::Converted typed_inst): { @@ -1489,7 +1491,8 @@ static auto TryEvalInstInContext(EvalContext& eval_context, case SemIR::BranchIf::Kind: case SemIR::BranchWithArg::Kind: case SemIR::ImportDecl::Kind: - case SemIR::Param::Kind: + case SemIR::OutParam::Kind: + case SemIR::OutParamPattern::Kind: case SemIR::RequirementEquivalent::Kind: case SemIR::RequirementImpls::Kind: case SemIR::RequirementRewrite::Kind: @@ -1498,6 +1501,7 @@ static auto TryEvalInstInContext(EvalContext& eval_context, case SemIR::ReturnSlotPattern::Kind: case SemIR::StructLiteral::Kind: case SemIR::TupleLiteral::Kind: + case SemIR::ValueParam::Kind: case SemIR::VarStorage::Kind: break; diff --git a/toolchain/check/handle_binding_pattern.cpp b/toolchain/check/handle_binding_pattern.cpp index ee4079af53ea..ec7c64b23eec 100644 --- a/toolchain/check/handle_binding_pattern.cpp +++ b/toolchain/check/handle_binding_pattern.cpp @@ -230,7 +230,7 @@ static auto HandleAnyBindingPattern(Context& context, Parse::NodeId node_id, .entity_name_id = entity_name_id, .bind_name_id = bind_id}); } - param_pattern_id = context.AddPatternInst( + param_pattern_id = context.AddPatternInst( node_id, { .type_id = context.insts().Get(pattern_inst_id).type_id(), diff --git a/toolchain/check/handle_function.cpp b/toolchain/check/handle_function.cpp index 0224a9d6f43d..1f88f5bcc7e2 100644 --- a/toolchain/check/handle_function.cpp +++ b/toolchain/check/handle_function.cpp @@ -46,9 +46,7 @@ auto HandleParseNode(Context& context, Parse::ReturnTypeId node_id) -> bool { auto type_id = ExprAsType(context, type_node_id, type_inst_id).type_id; auto return_slot_id = context.AddPatternInst( node_id, {.type_id = type_id, .type_inst_id = type_inst_id}); - // TODO: Use a separate inst kind here and for the corresponding Param, - // to capture the fact that the corresponding Param is not a value expression. - auto param_pattern_id = context.AddPatternInst( + auto param_pattern_id = context.AddPatternInst( node_id, {.type_id = type_id, .subpattern_id = return_slot_id, .runtime_index = SemIR::RuntimeParamIndex::Unknown}); diff --git a/toolchain/check/import_ref.cpp b/toolchain/check/import_ref.cpp index e9a3c00a7736..6b2466dc62ad 100644 --- a/toolchain/check/import_ref.cpp +++ b/toolchain/check/import_ref.cpp @@ -707,7 +707,7 @@ class ImportRefResolver { GetLocalConstantId(pattern_inst.type_id()); } pattern_id = import_ir_.insts() - .GetAs(pattern_id) + .GetAs(pattern_id) .subpattern_id; pattern_inst = import_ir_.insts().Get(pattern_id); // If the parameter is a symbolic binding, build the @@ -751,7 +751,7 @@ class ImportRefResolver { auto bind_inst = inst.As(); param_id = bind_inst.value_id; inst = import_ir_.insts().Get(param_id); - auto param_inst = inst.As(); + auto param_inst = inst.As(); // Rebuild the param instruction. auto entity_name = @@ -760,7 +760,7 @@ class ImportRefResolver { auto type_id = context_.GetTypeIdForTypeConstant( GetLocalConstantIdChecked(param_inst.type_id)); - auto new_param_id = context_.AddInstInNoBlock( + auto new_param_id = context_.AddInstInNoBlock( AddImportIRInst(param_id), {.type_id = type_id, .runtime_index = param_inst.runtime_index, @@ -826,7 +826,7 @@ class ImportRefResolver { } auto param_pattern = - import_ir_.insts().GetAs(param_pattern_id); + import_ir_.insts().GetAs(param_pattern_id); auto binding_id = param_pattern.subpattern_id; auto binding = @@ -870,7 +870,7 @@ class ImportRefResolver { } } new_param_id = context_.AddInstInNoBlock( - context_.MakeImportedLocAndInst( + context_.MakeImportedLocAndInst( AddImportIRInst(param_pattern_id), {.type_id = type_id, .subpattern_id = new_param_id, diff --git a/toolchain/check/merge.cpp b/toolchain/check/merge.cpp index c0b0088d4f7a..066b3756363c 100644 --- a/toolchain/check/merge.cpp +++ b/toolchain/check/merge.cpp @@ -244,9 +244,9 @@ static auto CheckRedeclParam(Context& context, bool is_implicit_param, } new_param_pattern = context.insts().Get( - new_param_pattern.As().subpattern_id); + new_param_pattern.As().subpattern_id); prev_param_pattern = context.insts().Get( - prev_param_pattern.As().subpattern_id); + prev_param_pattern.As().subpattern_id); if (new_param_pattern.kind() != prev_param_pattern.kind()) { emit_diagnostic(); return false; diff --git a/toolchain/check/pattern_match.cpp b/toolchain/check/pattern_match.cpp index d08423b86d9f..f7079a3bfc70 100644 --- a/toolchain/check/pattern_match.cpp +++ b/toolchain/check/pattern_match.cpp @@ -19,7 +19,8 @@ namespace { // Returns a best-effort name for the given ParamPattern, suitable for use in // IR pretty-printing. // TODO: Resolve overlap with SemIR::Function::ParamPatternInfo::GetNameId -auto GetPrettyName(Context& context, SemIR::ParamPattern param_pattern) +template +auto GetPrettyName(Context& context, ParamPattern param_pattern) -> SemIR::NameId { if (context.insts().Is( param_pattern.subpattern_id)) { @@ -220,7 +221,7 @@ auto EmitPatternMatch(Context& context, MatchContext& match, {.pattern_id = addr_pattern.inner_id, .scrutinee_id = new_scrutinee}); break; } - case CARBON_KIND(SemIR::ParamPattern param_pattern): { + case CARBON_KIND(SemIR::ValueParamPattern param_pattern): { switch (match.kind()) { case MatchKind::Caller: { CARBON_CHECK(entry.scrutinee_id.is_valid()); @@ -243,12 +244,47 @@ auto EmitPatternMatch(Context& context, MatchContext& match, } match.AddWork( {.pattern_id = param_pattern.subpattern_id, - .scrutinee_id = context.AddInst( + .scrutinee_id = context.AddInst( pattern.loc_id, {.type_id = param_pattern.type_id, .runtime_index = param_pattern.runtime_index, .pretty_name_id = GetPrettyName(context, param_pattern)})}); - } break; + break; + } + } + break; + } + case CARBON_KIND(SemIR::OutParamPattern param_pattern): { + switch (match.kind()) { + case MatchKind::Caller: { + CARBON_CHECK(entry.scrutinee_id.is_valid()); + CARBON_CHECK(context.insts().Get(entry.scrutinee_id).type_id() == + SemIR::GetTypeInSpecific(context.sem_ir(), + match.callee_specific_id(), + param_pattern.type_id)); + match.Finish(entry.scrutinee_id); + // Do not traverse farther, because the caller side of the pattern + // ends here. + break; + } + case MatchKind::Callee: { + // TODO: consider ways to address near-duplication with the + // ValueParamPattern case. + if (param_pattern.runtime_index == + SemIR::RuntimeParamIndex::Unknown) { + param_pattern.runtime_index = match.NextRuntimeIndex(); + context.ReplaceInstBeforeConstantUse(entry.pattern_id, + param_pattern); + } + match.AddWork( + {.pattern_id = param_pattern.subpattern_id, + .scrutinee_id = context.AddInst( + pattern.loc_id, + {.type_id = param_pattern.type_id, + .runtime_index = param_pattern.runtime_index, + .pretty_name_id = GetPrettyName(context, param_pattern)})}); + break; + } } break; } diff --git a/toolchain/check/testdata/alias/no_prelude/fail_local_in_namespace.carbon b/toolchain/check/testdata/alias/no_prelude/fail_local_in_namespace.carbon index 7278aa1e2492..74e853b2eb31 100644 --- a/toolchain/check/testdata/alias/no_prelude/fail_local_in_namespace.carbon +++ b/toolchain/check/testdata/alias/no_prelude/fail_local_in_namespace.carbon @@ -43,11 +43,11 @@ fn F() -> {} { // CHECK:STDOUT: %NS: = namespace [template] {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_12.1: %.1 = struct_literal () // CHECK:STDOUT: %.loc13_12.2: type = converted %.loc13_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/fail_params.carbon b/toolchain/check/testdata/alias/no_prelude/fail_params.carbon index 252533899359..4fa86cfe4b9e 100644 --- a/toolchain/check/testdata/alias/no_prelude/fail_params.carbon +++ b/toolchain/check/testdata/alias/no_prelude/fail_params.carbon @@ -31,7 +31,7 @@ alias A(T:! type) = T*; // CHECK:STDOUT: } // CHECK:STDOUT: %T.ref: type = name_ref T, %T [symbolic = constants.%T] // CHECK:STDOUT: %.loc18: type = ptr_type %T [symbolic = constants.%.1] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: %A: = bind_alias A, [template = ] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon b/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon index 282ffcb2bdc2..c271d9248504 100644 --- a/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon +++ b/toolchain/check/testdata/alias/no_prelude/in_namespace.carbon @@ -51,11 +51,11 @@ fn F() -> NS.a { // CHECK:STDOUT: %a.ref: type = name_ref a, %a [template = constants.%C] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %NS.ref: = name_ref NS, file.%NS [template = file.%NS] // CHECK:STDOUT: %a.ref: type = name_ref a, file.%a [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/local.carbon b/toolchain/check/testdata/alias/no_prelude/local.carbon index 018e83bbb2be..bebcc075b1a2 100644 --- a/toolchain/check/testdata/alias/no_prelude/local.carbon +++ b/toolchain/check/testdata/alias/no_prelude/local.carbon @@ -29,11 +29,11 @@ fn F() -> () { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc11_12.2: type = converted %.loc11_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/array_in_place.carbon b/toolchain/check/testdata/array/array_in_place.carbon index e4b2665d3cd9..a49fc8769ea2 100644 --- a/toolchain/check/testdata/array/array_in_place.carbon +++ b/toolchain/check/testdata/array/array_in_place.carbon @@ -59,7 +59,7 @@ fn G() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc11_17: init type = call constants.%Int32() [template = i32] @@ -72,7 +72,7 @@ fn G() { // CHECK:STDOUT: %.loc11_25.6: type = value_of_initializer %int.make_type_32.loc11_22 [template = i32] // CHECK:STDOUT: %.loc11_25.7: type = converted %int.make_type_32.loc11_22, %.loc11_25.6 [template = i32] // CHECK:STDOUT: %.loc11_25.8: type = converted %.loc11_25.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {} {} diff --git a/toolchain/check/testdata/array/assign_return_value.carbon b/toolchain/check/testdata/array/assign_return_value.carbon index 5f0de6623178..0e7eb9c13984 100644 --- a/toolchain/check/testdata/array/assign_return_value.carbon +++ b/toolchain/check/testdata/array/assign_return_value.carbon @@ -57,14 +57,14 @@ fn Run() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_16.1: %.2 = tuple_literal (%int.make_type_32) // CHECK:STDOUT: %.loc11_16.2: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_16.3: type = converted %int.make_type_32, %.loc11_16.2 [template = i32] // CHECK:STDOUT: %.loc11_16.4: type = converted %.loc11_16.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] {} {} diff --git a/toolchain/check/testdata/array/canonicalize_index.carbon b/toolchain/check/testdata/array/canonicalize_index.carbon index 7df7fdc96979..ad8c6d962801 100644 --- a/toolchain/check/testdata/array/canonicalize_index.carbon +++ b/toolchain/check/testdata/array/canonicalize_index.carbon @@ -56,11 +56,11 @@ let b: [i32; 3]* = &a; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -71,11 +71,11 @@ let b: [i32; 3]* = &a; // CHECK:STDOUT: %int.make_type_32.loc11_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_27.1: type = value_of_initializer %int.make_type_32.loc11_27 [template = i32] // CHECK:STDOUT: %.loc11_27.2: type = converted %int.make_type_32.loc11_27, %.loc11_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc13: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/array/fail_bound_negative.carbon b/toolchain/check/testdata/array/fail_bound_negative.carbon index a04502a1534e..9262583098aa 100644 --- a/toolchain/check/testdata/array/fail_bound_negative.carbon +++ b/toolchain/check/testdata/array/fail_bound_negative.carbon @@ -51,9 +51,9 @@ var a: [i32; Negate(1)]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32.loc11_14 [template = i32] @@ -61,9 +61,9 @@ var a: [i32; Negate(1)]; // CHECK:STDOUT: %int.make_type_32.loc11_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_22.1: type = value_of_initializer %int.make_type_32.loc11_22 [template = i32] // CHECK:STDOUT: %.loc11_22.2: type = converted %int.make_type_32.loc11_22, %.loc11_22.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/array/function_param.carbon b/toolchain/check/testdata/array/function_param.carbon index e50e8058d7ad..ce6c240736d2 100644 --- a/toolchain/check/testdata/array/function_param.carbon +++ b/toolchain/check/testdata/array/function_param.carbon @@ -60,11 +60,11 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %arr.patt: %.3 = binding_pattern arr -// CHECK:STDOUT: %arr.param_patt: %.3 = param_pattern %arr.patt, runtime_param0 +// CHECK:STDOUT: %arr.param_patt: %.3 = value_param_pattern %arr.patt, runtime_param0 // CHECK:STDOUT: %i.patt: i32 = binding_pattern i -// CHECK:STDOUT: %i.param_patt: i32 = param_pattern %i.patt, runtime_param1 +// CHECK:STDOUT: %i.param_patt: i32 = value_param_pattern %i.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_17: i32 = int_literal 3 [template = constants.%.2] @@ -77,21 +77,21 @@ fn G() -> i32 { // CHECK:STDOUT: %int.make_type_32.loc11_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_32.1: type = value_of_initializer %int.make_type_32.loc11_32 [template = i32] // CHECK:STDOUT: %.loc11_32.2: type = converted %int.make_type_32.loc11_32, %.loc11_32.1 [template = i32] -// CHECK:STDOUT: %arr.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %arr.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %arr: %.3 = bind_name arr, %arr.param -// CHECK:STDOUT: %i.param: i32 = param runtime_param1 +// CHECK:STDOUT: %i.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %i: i32 = bind_name i, %i.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_11.2: type = converted %int.make_type_32, %.loc15_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/generic_empty.carbon b/toolchain/check/testdata/array/generic_empty.carbon index b9a207a3e61c..5ad21c5736be 100644 --- a/toolchain/check/testdata/array/generic_empty.carbon +++ b/toolchain/check/testdata/array/generic_empty.carbon @@ -48,9 +48,9 @@ fn G(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %T.patt.loc11_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index 43edaddec374..ec98ea37f006 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -178,10 +178,10 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: %.loc6_8: %.2 = field_decl y, element1 [template] // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %A = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %A = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %A = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] -// CHECK:STDOUT: %return.param: %A = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %A = out_param runtime_param0 // CHECK:STDOUT: %return: ref %A = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = complete_type_witness %.3 [template = constants.%.4] diff --git a/toolchain/check/testdata/as/basic.carbon b/toolchain/check/testdata/as/basic.carbon index f89c4e717faf..837936c4516b 100644 --- a/toolchain/check/testdata/as/basic.carbon +++ b/toolchain/check/testdata/as/basic.carbon @@ -46,12 +46,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32.loc11, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/as/identity.carbon b/toolchain/check/testdata/as/identity.carbon index 1ddfeda1cf59..badf6e283535 100644 --- a/toolchain/check/testdata/as/identity.carbon +++ b/toolchain/check/testdata/as/identity.carbon @@ -73,27 +73,27 @@ fn Initializing() { // CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {} {} // CHECK:STDOUT: %Value.decl: %Value.type = fn_decl @Value [template = constants.%Value] { // CHECK:STDOUT: %n.patt: %X = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %X = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %X = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref.loc17: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %n.param: %X = param runtime_param0 +// CHECK:STDOUT: %n.param: %X = value_param runtime_param0 // CHECK:STDOUT: %n: %X = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: %Reference.decl: %Reference.type = fn_decl @Reference [template = constants.%Reference] { // CHECK:STDOUT: %p.patt: %.5 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.5 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.5 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref.loc21: type = name_ref X, file.%X.decl [template = constants.%X] // CHECK:STDOUT: %.loc21: type = ptr_type %X [template = constants.%.5] -// CHECK:STDOUT: %p.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %p: %.5 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %X = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %X = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %X = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %return.param: %X = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %X = out_param runtime_param0 // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Initializing.decl: %Initializing.type = fn_decl @Initializing [template = constants.%Initializing] {} {} diff --git a/toolchain/check/testdata/as/no_prelude/tuple.carbon b/toolchain/check/testdata/as/no_prelude/tuple.carbon index a38ac2d0b017..91e0f8168e53 100644 --- a/toolchain/check/testdata/as/no_prelude/tuple.carbon +++ b/toolchain/check/testdata/as/no_prelude/tuple.carbon @@ -54,10 +54,10 @@ fn Var() { // CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {} {} // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %X = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %X = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %X = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %return.param: %X = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %X = out_param runtime_param0 // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Let.decl: %Let.type = fn_decl @Let [template = constants.%Let] {} {} diff --git a/toolchain/check/testdata/as/overloaded.carbon b/toolchain/check/testdata/as/overloaded.carbon index 3864fd9ff731..5b3bd0345f4a 100644 --- a/toolchain/check/testdata/as/overloaded.carbon +++ b/toolchain/check/testdata/as/overloaded.carbon @@ -141,17 +141,17 @@ let n: i32 = ((4 as i32) as X) as i32; // CHECK:STDOUT: impl @impl.1: %.loc15_6.2 as %As.type { // CHECK:STDOUT: %Convert.decl: %Convert.type.2 = fn_decl @Convert.2 [template = constants.%Convert.2] { // CHECK:STDOUT: %self.patt: i32 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: i32 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: i32 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %X = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %X = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %X = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc16_20.2: type = converted %int.make_type_32, %.loc16_20.1 [template = i32] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %self.param: i32 = param runtime_param0 +// CHECK:STDOUT: %self.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %self: i32 = bind_name self, %self.param -// CHECK:STDOUT: %return.param: %X = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %X = out_param runtime_param1 // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15_24: = interface_witness (%Convert.decl) [template = constants.%.9] @@ -164,17 +164,17 @@ let n: i32 = ((4 as i32) as X) as i32; // CHECK:STDOUT: impl @impl.2: %X.ref as %As.type { // CHECK:STDOUT: %Convert.decl: %Convert.type.4 = fn_decl @Convert.3 [template = constants.%Convert.4] { // CHECK:STDOUT: %self.patt: %X = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %X = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %X = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc20_28.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc20_28.2: type = converted %int.make_type_32, %.loc20_28.1 [template = i32] -// CHECK:STDOUT: %self.param: %X = param runtime_param0 +// CHECK:STDOUT: %self.param: %X = value_param runtime_param0 // CHECK:STDOUT: %self: %X = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19_24: = interface_witness (%Convert.decl) [template = constants.%.13] diff --git a/toolchain/check/testdata/basics/fail_bad_run.carbon b/toolchain/check/testdata/basics/fail_bad_run.carbon index c706f6e46d61..cd96dba4dea7 100644 --- a/toolchain/check/testdata/basics/fail_bad_run.carbon +++ b/toolchain/check/testdata/basics/fail_bad_run.carbon @@ -47,9 +47,9 @@ fn Run() -> String {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %return.patt: String = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: String = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: String = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: String = param runtime_param0 +// CHECK:STDOUT: %return.param: ref String = out_param runtime_param0 // CHECK:STDOUT: %return: ref String = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/fail_bad_run_2.carbon b/toolchain/check/testdata/basics/fail_bad_run_2.carbon index 8e6b9d166831..f9df8625ade3 100644 --- a/toolchain/check/testdata/basics/fail_bad_run_2.carbon +++ b/toolchain/check/testdata/basics/fail_bad_run_2.carbon @@ -46,12 +46,12 @@ fn Run(n: i32) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_11.2: type = converted %int.make_type_32, %.loc14_11.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon b/toolchain/check/testdata/basics/no_prelude/raw_and_textual_ir.carbon index ece942978fc9..a0bac7e7754a 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 @@ -51,7 +51,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: 'inst+3': {kind: Converted, arg0: inst+2, arg1: inst+1, type: typeTypeType} // CHECK:STDOUT: 'inst+4': {kind: BindName, arg0: entity_name0, arg1: inst+16, type: type(inst+1)} // CHECK:STDOUT: 'inst+5': {kind: BindingPattern, arg0: entity_name0, arg1: inst+4, type: type(inst+1)} -// CHECK:STDOUT: 'inst+6': {kind: ParamPattern, arg0: inst+5, arg1: runtime_param0, type: type(inst+1)} +// CHECK:STDOUT: 'inst+6': {kind: ValueParamPattern, arg0: inst+5, arg1: runtime_param0, type: type(inst+1)} // CHECK:STDOUT: 'inst+7': {kind: TupleLiteral, arg0: empty, type: type(inst+1)} // CHECK:STDOUT: 'inst+8': {kind: TupleLiteral, arg0: empty, type: type(inst+1)} // CHECK:STDOUT: 'inst+9': {kind: TupleType, arg0: type_block1, type: typeTypeType} @@ -60,9 +60,9 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: 'inst+12': {kind: Converted, arg0: inst+8, arg1: inst+1, type: typeTypeType} // CHECK:STDOUT: 'inst+13': {kind: Converted, arg0: inst+10, arg1: inst+9, type: typeTypeType} // CHECK:STDOUT: 'inst+14': {kind: ReturnSlotPattern, arg0: inst+10, type: type(inst+9)} -// CHECK:STDOUT: 'inst+15': {kind: ParamPattern, arg0: inst+14, arg1: runtime_param1, type: type(inst+9)} -// CHECK:STDOUT: 'inst+16': {kind: Param, arg0: runtime_param0, arg1: name1, type: type(inst+1)} -// CHECK:STDOUT: 'inst+17': {kind: Param, arg0: runtime_param1, arg1: nameReturnSlot, type: type(inst+9)} +// CHECK:STDOUT: 'inst+15': {kind: OutParamPattern, arg0: inst+14, arg1: runtime_param1, type: type(inst+9)} +// CHECK:STDOUT: 'inst+16': {kind: ValueParam, arg0: runtime_param0, arg1: name1, type: type(inst+1)} +// CHECK:STDOUT: 'inst+17': {kind: OutParam, arg0: runtime_param1, arg1: nameReturnSlot, type: type(inst+9)} // CHECK:STDOUT: 'inst+18': {kind: ReturnSlot, arg0: inst+10, arg1: inst+17, type: type(inst+9)} // CHECK:STDOUT: 'inst+19': {kind: FunctionDecl, arg0: function0, arg1: block8, type: type(inst+20)} // CHECK:STDOUT: 'inst+20': {kind: FunctionType, arg0: function0, arg1: specific, type: typeTypeType} @@ -180,9 +180,9 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %n.patt: %.1 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.1 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.1 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc15_12.2: type = converted %.loc15_12.1, constants.%.1 [template = constants.%.1] @@ -192,9 +192,9 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: %.loc15_25.2: type = converted %.loc15_20, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc15_25.3: type = converted %.loc15_24, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc15_25.4: type = converted %.loc15_25.1, constants.%.2 [template = constants.%.2] -// CHECK:STDOUT: %n.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %n: %.1 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.2 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/no_prelude/raw_identifier.carbon b/toolchain/check/testdata/basics/no_prelude/raw_identifier.carbon index 54320f9ea5a8..e740c254812a 100644 --- a/toolchain/check/testdata/basics/no_prelude/raw_identifier.carbon +++ b/toolchain/check/testdata/basics/no_prelude/raw_identifier.carbon @@ -44,47 +44,47 @@ fn C(r#if: ()) -> () { // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %n.patt: %.1 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.1 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.1 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc15_10.2: type = converted %.loc15_10.1, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc15_17.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc15_17.2: type = converted %.loc15_17.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %n.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %n: %.1 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %n.patt: %.1 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.1 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.1 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc19_12.2: type = converted %.loc19_12.1, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc19_19.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc19_19.2: type = converted %.loc19_19.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %n.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %n: %.1 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %if.patt: %.1 = binding_pattern r#if -// CHECK:STDOUT: %if.param_patt: %.1 = param_pattern %if.patt, runtime_param0 +// CHECK:STDOUT: %if.param_patt: %.1 = value_param_pattern %if.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc23_13.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc23_13.2: type = converted %.loc23_13.1, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc23_20.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc23_20.2: type = converted %.loc23_20.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %if.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %if.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %if: %.1 = bind_name r#if, %if.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon b/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon index bf1af9a8ff35..8a542982a503 100644 --- a/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon +++ b/toolchain/check/testdata/basics/no_prelude/raw_ir.carbon @@ -62,11 +62,11 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 'inst+2': {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: typeTypeType} // CHECK:STDOUT: 'inst+3': {kind: SymbolicBindingPattern, arg0: entity_name0, arg1: inst+1, type: typeTypeType} // CHECK:STDOUT: 'inst+4': {kind: SymbolicBindingPattern, arg0: entity_name0, arg1: inst+1, type: typeTypeType} -// CHECK:STDOUT: 'inst+5': {kind: ParamPattern, arg0: inst+3, arg1: runtime_param, type: typeTypeType} +// CHECK:STDOUT: 'inst+5': {kind: ValueParamPattern, arg0: inst+3, arg1: runtime_param, type: typeTypeType} // CHECK:STDOUT: 'inst+6': {kind: NameRef, arg0: name1, arg1: inst+1, type: typeTypeType} // CHECK:STDOUT: 'inst+7': {kind: BindName, arg0: entity_name1, arg1: inst+21, type: type(symbolicConstant3)} // CHECK:STDOUT: 'inst+8': {kind: BindingPattern, arg0: entity_name1, arg1: inst+7, type: type(symbolicConstant3)} -// CHECK:STDOUT: 'inst+9': {kind: ParamPattern, arg0: inst+8, arg1: runtime_param0, type: type(symbolicConstant3)} +// CHECK:STDOUT: 'inst+9': {kind: ValueParamPattern, arg0: inst+8, arg1: runtime_param0, type: type(symbolicConstant3)} // CHECK:STDOUT: 'inst+10': {kind: NameRef, arg0: name1, arg1: inst+1, type: typeTypeType} // CHECK:STDOUT: 'inst+11': {kind: TupleType, arg0: type_block0, type: typeTypeType} // CHECK:STDOUT: 'inst+12': {kind: TupleLiteral, arg0: empty, type: type(inst+11)} @@ -76,10 +76,10 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: 'inst+16': {kind: TupleType, arg0: type_block2, type: typeTypeType} // CHECK:STDOUT: 'inst+17': {kind: Converted, arg0: inst+14, arg1: inst+16, type: typeTypeType} // CHECK:STDOUT: 'inst+18': {kind: ReturnSlotPattern, arg0: inst+14, type: type(symbolicConstant5)} -// CHECK:STDOUT: 'inst+19': {kind: ParamPattern, arg0: inst+18, arg1: runtime_param1, type: type(symbolicConstant5)} -// CHECK:STDOUT: 'inst+20': {kind: Param, arg0: runtime_param, arg1: name1, type: typeTypeType} -// CHECK:STDOUT: 'inst+21': {kind: Param, arg0: runtime_param0, arg1: name2, type: type(symbolicConstant3)} -// CHECK:STDOUT: 'inst+22': {kind: Param, arg0: runtime_param1, arg1: nameReturnSlot, type: type(symbolicConstant5)} +// CHECK:STDOUT: 'inst+19': {kind: OutParamPattern, arg0: inst+18, arg1: runtime_param1, type: type(symbolicConstant5)} +// CHECK:STDOUT: 'inst+20': {kind: ValueParam, arg0: runtime_param, arg1: name1, type: typeTypeType} +// 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+25': {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: typeTypeType} diff --git a/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon b/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon index 8d38110f5462..8fd4e61bf8ac 100644 --- a/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon +++ b/toolchain/check/testdata/basics/no_prelude/textual_ir.carbon @@ -34,9 +34,9 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %n.patt: %.1 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.1 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.1 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc15_12.2: type = converted %.loc15_12.1, constants.%.1 [template = constants.%.1] @@ -46,9 +46,9 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: %.loc15_25.2: type = converted %.loc15_20, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc15_25.3: type = converted %.loc15_24, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc15_25.4: type = converted %.loc15_25.1, constants.%.2 [template = constants.%.2] -// CHECK:STDOUT: %n.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %n: %.1 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.2 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/basics/run_i32.carbon b/toolchain/check/testdata/basics/run_i32.carbon index 891f2ed57253..8e657962c5bb 100644 --- a/toolchain/check/testdata/basics/run_i32.carbon +++ b/toolchain/check/testdata/basics/run_i32.carbon @@ -44,12 +44,12 @@ fn Run() -> i32 { return 0; } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_13.2: type = converted %int.make_type_32, %.loc11_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/big_int/make_type.carbon b/toolchain/check/testdata/builtins/big_int/make_type.carbon index 76a91bac80b0..783f11bfd762 100644 --- a/toolchain/check/testdata/builtins/big_int/make_type.carbon +++ b/toolchain/check/testdata/builtins/big_int/make_type.carbon @@ -51,9 +51,9 @@ var i: BigInt(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %BigInt.decl: %BigInt.type = fn_decl @BigInt [template = constants.%BigInt] { // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: type = param runtime_param0 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/bool/make_type.carbon b/toolchain/check/testdata/builtins/bool/make_type.carbon index b33a2d5f2f90..bcc67090aee4 100644 --- a/toolchain/check/testdata/builtins/bool/make_type.carbon +++ b/toolchain/check/testdata/builtins/bool/make_type.carbon @@ -51,9 +51,9 @@ var b: Bool() = false; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Bool.decl: %Bool.type = fn_decl @Bool [template = constants.%Bool] { // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: type = param runtime_param0 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/add.carbon b/toolchain/check/testdata/builtins/float/add.carbon index afeaeea88861..72a3b32cd9a2 100644 --- a/toolchain/check/testdata/builtins/float/add.carbon +++ b/toolchain/check/testdata/builtins/float/add.carbon @@ -91,11 +91,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_11.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64] @@ -109,20 +109,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64] // CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64] // CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64] @@ -136,11 +136,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64] // CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64] // CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_8.1: i32 = int_literal 64 [template = constants.%.1] @@ -232,9 +232,9 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64] @@ -244,20 +244,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64] // CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64] // CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_15.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64] @@ -275,22 +275,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64] // CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64] // CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_21.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64] @@ -303,20 +303,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_17.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64] @@ -330,18 +330,18 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64] // CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64] // CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_25.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64] @@ -351,20 +351,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64] // CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64] // CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc24_26.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64] @@ -382,22 +382,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64] // CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64] // CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc28_32.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64] @@ -410,11 +410,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/div.carbon b/toolchain/check/testdata/builtins/float/div.carbon index b053385573de..f3b255b96def 100644 --- a/toolchain/check/testdata/builtins/float/div.carbon +++ b/toolchain/check/testdata/builtins/float/div.carbon @@ -99,11 +99,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_11.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64] @@ -117,20 +117,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64] // CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64] // CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64] @@ -144,11 +144,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64] // CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64] // CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_8.1: i32 = int_literal 64 [template = constants.%.1] @@ -262,9 +262,9 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64] @@ -274,20 +274,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64] // CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64] // CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_15.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64] @@ -305,22 +305,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64] // CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64] // CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_21.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64] @@ -333,20 +333,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_17.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64] @@ -360,18 +360,18 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64] // CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64] // CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_25.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64] @@ -381,20 +381,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64] // CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64] // CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc24_26.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64] @@ -412,22 +412,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64] // CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64] // CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc28_32.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64] @@ -440,11 +440,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/eq.carbon b/toolchain/check/testdata/builtins/float/eq.carbon index ae040edc76e8..2836138eacb5 100644 --- a/toolchain/check/testdata/builtins/float/eq.carbon +++ b/toolchain/check/testdata/builtins/float/eq.carbon @@ -88,11 +88,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Eq.decl: %Eq.type = fn_decl @Eq [template = constants.%Eq] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_10.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_10: init type = call constants.%Float(%.loc2_10.1) [template = f64] @@ -105,35 +105,35 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq"; // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_26.2: type = converted %bool.make_type, %.loc2_26.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc7: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc7: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc12_19: init type = call constants.%Float(%.loc12_19.1) [template = f64] @@ -146,11 +146,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq"; // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_35.2: type = converted %bool.make_type, %.loc12_35.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -263,11 +263,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %WrongResult.decl: %WrongResult.type = fn_decl @WrongResult [template = constants.%WrongResult] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc7_19: init type = call constants.%Float(%.loc7_19.1) [template = f64] @@ -281,11 +281,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.eq"; // CHECK:STDOUT: %float.make_type.loc7_35: init type = call constants.%Float(%.loc7_35.1) [template = f64] // CHECK:STDOUT: %.loc7_35.2: type = value_of_initializer %float.make_type.loc7_35 [template = f64] // CHECK:STDOUT: %.loc7_35.3: type = converted %float.make_type.loc7_35, %.loc7_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/greater.carbon b/toolchain/check/testdata/builtins/float/greater.carbon index 065dbde6f833..4af9fe44ed63 100644 --- a/toolchain/check/testdata/builtins/float/greater.carbon +++ b/toolchain/check/testdata/builtins/float/greater.carbon @@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Greater.decl: %Greater.type = fn_decl @Greater [template = constants.%Greater] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_15.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_15: init type = call constants.%Float(%.loc2_15.1) [template = f64] @@ -105,18 +105,18 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_31.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_31.2: type = converted %bool.make_type, %.loc2_31.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64] @@ -126,33 +126,33 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64] // CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64] // CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64] @@ -165,11 +165,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/greater_eq.carbon b/toolchain/check/testdata/builtins/float/greater_eq.carbon index 6da0892308a5..1aff290b929b 100644 --- a/toolchain/check/testdata/builtins/float/greater_eq.carbon +++ b/toolchain/check/testdata/builtins/float/greater_eq.carbon @@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %GreaterEq.decl: %GreaterEq.type = fn_decl @GreaterEq [template = constants.%GreaterEq] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_17.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_17: init type = call constants.%Float(%.loc2_17.1) [template = f64] @@ -105,18 +105,18 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_33.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_33.2: type = converted %bool.make_type, %.loc2_33.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64] @@ -126,33 +126,33 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64] // CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64] // CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64] @@ -165,11 +165,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/less.carbon b/toolchain/check/testdata/builtins/float/less.carbon index 62a9bc26d841..ee242f68826c 100644 --- a/toolchain/check/testdata/builtins/float/less.carbon +++ b/toolchain/check/testdata/builtins/float/less.carbon @@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Less.decl: %Less.type = fn_decl @Less [template = constants.%Less] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_12.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_12: init type = call constants.%Float(%.loc2_12.1) [template = f64] @@ -105,18 +105,18 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_28.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_28.2: type = converted %bool.make_type, %.loc2_28.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64] @@ -126,33 +126,33 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64] // CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64] // CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64] @@ -165,11 +165,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/less_eq.carbon b/toolchain/check/testdata/builtins/float/less_eq.carbon index 70f867ac6444..8e3681c1b400 100644 --- a/toolchain/check/testdata/builtins/float/less_eq.carbon +++ b/toolchain/check/testdata/builtins/float/less_eq.carbon @@ -88,11 +88,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %LessEq.decl: %LessEq.type = fn_decl @LessEq [template = constants.%LessEq] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_14: init type = call constants.%Float(%.loc2_14.1) [template = f64] @@ -105,18 +105,18 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_30.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_30.2: type = converted %bool.make_type, %.loc2_30.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc3_14: init type = call constants.%Float(%.loc3_14.1) [template = f64] @@ -126,33 +126,33 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc3_22: init type = call constants.%Float(%.loc3_22.1) [template = f64] // CHECK:STDOUT: %.loc3_22.2: type = value_of_initializer %float.make_type.loc3_22 [template = f64] // CHECK:STDOUT: %.loc3_22.3: type = converted %float.make_type.loc3_22, %.loc3_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc16_19: init type = call constants.%Float(%.loc16_19.1) [template = f64] @@ -165,11 +165,11 @@ fn RuntimeCall(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/make_type.carbon b/toolchain/check/testdata/builtins/float/make_type.carbon index 2e6d187eef2e..c8bdb3e4ef75 100644 --- a/toolchain/check/testdata/builtins/float/make_type.carbon +++ b/toolchain/check/testdata/builtins/float/make_type.carbon @@ -77,16 +77,16 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Float.decl: %Float.type = fn_decl @Float [template = constants.%Float] { // CHECK:STDOUT: %size.patt: i32 = binding_pattern size -// CHECK:STDOUT: %size.param_patt: i32 = param_pattern %size.patt, runtime_param0 +// CHECK:STDOUT: %size.param_patt: i32 = value_param_pattern %size.patt, runtime_param0 // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_16.2: type = converted %int.make_type_32, %.loc4_16.1 [template = i32] -// CHECK:STDOUT: %size.param: i32 = param runtime_param0 +// CHECK:STDOUT: %size.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %size: i32 = bind_name size, %size.param -// CHECK:STDOUT: %return.param: type = param runtime_param1 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param1 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -143,16 +143,16 @@ var dyn: Float(dyn_size); // CHECK:STDOUT: %f: ref f64 = bind_name f, %f.var // CHECK:STDOUT: %GetFloat.decl: %GetFloat.type = fn_decl @GetFloat [template = constants.%GetFloat] { // CHECK:STDOUT: %dyn_size.patt: i32 = binding_pattern dyn_size -// CHECK:STDOUT: %dyn_size.param_patt: i32 = param_pattern %dyn_size.patt, runtime_param0 +// CHECK:STDOUT: %dyn_size.param_patt: i32 = value_param_pattern %dyn_size.patt, runtime_param0 // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_23.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_23.2: type = converted %int.make_type_32, %.loc8_23.1 [template = i32] -// CHECK:STDOUT: %dyn_size.param: i32 = param runtime_param0 +// CHECK:STDOUT: %dyn_size.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %dyn_size: i32 = bind_name dyn_size, %dyn_size.param -// CHECK:STDOUT: %return.param: type = param runtime_param1 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param1 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/mul.carbon b/toolchain/check/testdata/builtins/float/mul.carbon index b1971cc4d6db..063e2bf9ca86 100644 --- a/toolchain/check/testdata/builtins/float/mul.carbon +++ b/toolchain/check/testdata/builtins/float/mul.carbon @@ -91,11 +91,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mul.decl: %Mul.type = fn_decl @Mul [template = constants.%Mul] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_11.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64] @@ -109,20 +109,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64] // CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64] // CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64] @@ -136,11 +136,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64] // CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64] // CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_8.1: i32 = int_literal 64 [template = constants.%.1] @@ -232,9 +232,9 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64] @@ -244,20 +244,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64] // CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64] // CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_15.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64] @@ -275,22 +275,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64] // CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64] // CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_21.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64] @@ -303,20 +303,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_17.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64] @@ -330,18 +330,18 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64] // CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64] // CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_25.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64] @@ -351,20 +351,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64] // CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64] // CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc24_26.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64] @@ -382,22 +382,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64] // CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64] // CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc28_32.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64] @@ -410,11 +410,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/negate.carbon b/toolchain/check/testdata/builtins/float/negate.carbon index ccf3a5a0de8a..8524cbdc92ea 100644 --- a/toolchain/check/testdata/builtins/float/negate.carbon +++ b/toolchain/check/testdata/builtins/float/negate.carbon @@ -111,9 +111,9 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_14: init type = call constants.%Float(%.loc2_14.1) [template = f64] @@ -123,18 +123,18 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc2_22: init type = call constants.%Float(%.loc2_22.1) [template = f64] // CHECK:STDOUT: %.loc2_22.2: type = value_of_initializer %float.make_type.loc2_22 [template = f64] // CHECK:STDOUT: %.loc2_22.3: type = converted %float.make_type.loc2_22, %.loc2_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64] @@ -148,11 +148,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64] // CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64] // CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_8.1: i32 = int_literal 64 [template = constants.%.1] @@ -242,22 +242,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_16.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc8_16.1) [template = f64] // CHECK:STDOUT: %.loc8_16.2: type = value_of_initializer %float.make_type [template = f64] // CHECK:STDOUT: %.loc8_16.3: type = converted %float.make_type, %.loc8_16.2 [template = f64] -// CHECK:STDOUT: %return.param: f64 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param0 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_15.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64] @@ -271,18 +271,18 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc13_31: init type = call constants.%Float(%.loc13_31.1) [template = f64] // CHECK:STDOUT: %.loc13_31.2: type = value_of_initializer %float.make_type.loc13_31 [template = f64] // CHECK:STDOUT: %.loc13_31.3: type = converted %float.make_type.loc13_31, %.loc13_31.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_21.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc18_21.1) [template = f64] @@ -291,16 +291,16 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc18_29.2: type = converted %bool.make_type, %.loc18_29.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: bool = param runtime_param1 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19_17.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc19_17: init type = call constants.%Float(%.loc19_17.1) [template = f64] @@ -310,16 +310,16 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc19_25: init type = call constants.%Float(%.loc19_25.1) [template = f64] // CHECK:STDOUT: %.loc19_25.2: type = value_of_initializer %float.make_type.loc19_25 [template = f64] // CHECK:STDOUT: %.loc19_25.3: type = converted %float.make_type.loc19_25, %.loc19_25.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_25.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc21_25: init type = call constants.%Float(%.loc21_25.1) [template = f64] @@ -329,20 +329,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc21_33: init type = call constants.%Float(%.loc21_33.1) [template = f64] // CHECK:STDOUT: %.loc21_33.2: type = value_of_initializer %float.make_type.loc21_33 [template = f64] // CHECK:STDOUT: %.loc21_33.3: type = converted %float.make_type.loc21_33, %.loc21_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc32_26.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc32_26: init type = call constants.%Float(%.loc32_26.1) [template = f64] @@ -360,22 +360,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc32_50: init type = call constants.%Float(%.loc32_50.1) [template = f64] // CHECK:STDOUT: %.loc32_50.2: type = value_of_initializer %float.make_type.loc32_50 [template = f64] // CHECK:STDOUT: %.loc32_50.3: type = converted %float.make_type.loc32_50, %.loc32_50.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc43_32.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc43_32: init type = call constants.%Float(%.loc43_32.1) [template = f64] @@ -388,11 +388,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc43_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc43_48.2: type = converted %bool.make_type, %.loc43_48.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/neq.carbon b/toolchain/check/testdata/builtins/float/neq.carbon index 5916e960b1bf..74937981f13e 100644 --- a/toolchain/check/testdata/builtins/float/neq.carbon +++ b/toolchain/check/testdata/builtins/float/neq.carbon @@ -88,11 +88,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Neq.decl: %Neq.type = fn_decl @Neq [template = constants.%Neq] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_11.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64] @@ -105,35 +105,35 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq"; // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_27.2: type = converted %bool.make_type, %.loc2_27.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc7: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc7: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc12_19: init type = call constants.%Float(%.loc12_19.1) [template = f64] @@ -146,11 +146,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq"; // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_35.2: type = converted %bool.make_type, %.loc12_35.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -263,11 +263,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %WrongResult.decl: %WrongResult.type = fn_decl @WrongResult [template = constants.%WrongResult] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc7_19: init type = call constants.%Float(%.loc7_19.1) [template = f64] @@ -281,11 +281,11 @@ fn WrongResult(a: f64, b: f64) -> f64 = "float.neq"; // CHECK:STDOUT: %float.make_type.loc7_35: init type = call constants.%Float(%.loc7_35.1) [template = f64] // CHECK:STDOUT: %.loc7_35.2: type = value_of_initializer %float.make_type.loc7_35 [template = f64] // CHECK:STDOUT: %.loc7_35.3: type = converted %float.make_type.loc7_35, %.loc7_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/float/sub.carbon b/toolchain/check/testdata/builtins/float/sub.carbon index ccf04f6fefad..3ed38410eb0b 100644 --- a/toolchain/check/testdata/builtins/float/sub.carbon +++ b/toolchain/check/testdata/builtins/float/sub.carbon @@ -91,11 +91,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc2_11.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc2_11: init type = call constants.%Float(%.loc2_11.1) [template = f64] @@ -109,20 +109,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc2_27: init type = call constants.%Float(%.loc2_27.1) [template = f64] // CHECK:STDOUT: %.loc2_27.2: type = value_of_initializer %float.make_type.loc2_27 [template = f64] // CHECK:STDOUT: %.loc2_27.3: type = converted %float.make_type.loc2_27, %.loc2_27.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_19.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc4_19: init type = call constants.%Float(%.loc4_19.1) [template = f64] @@ -136,11 +136,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc4_35: init type = call constants.%Float(%.loc4_35.1) [template = f64] // CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %float.make_type.loc4_35 [template = f64] // CHECK:STDOUT: %.loc4_35.3: type = converted %float.make_type.loc4_35, %.loc4_35.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_8.1: i32 = int_literal 64 [template = constants.%.1] @@ -232,9 +232,9 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_14.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc8_14: init type = call constants.%Float(%.loc8_14.1) [template = f64] @@ -244,20 +244,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc8_22: init type = call constants.%Float(%.loc8_22.1) [template = f64] // CHECK:STDOUT: %.loc8_22.2: type = value_of_initializer %float.make_type.loc8_22 [template = f64] // CHECK:STDOUT: %.loc8_22.3: type = converted %float.make_type.loc8_22, %.loc8_22.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_15.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc13_15: init type = call constants.%Float(%.loc13_15.1) [template = f64] @@ -275,22 +275,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc13_39: init type = call constants.%Float(%.loc13_39.1) [template = f64] // CHECK:STDOUT: %.loc13_39.2: type = value_of_initializer %float.make_type.loc13_39 [template = f64] // CHECK:STDOUT: %.loc13_39.3: type = converted %float.make_type.loc13_39, %.loc13_39.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_21.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc17_21: init type = call constants.%Float(%.loc17_21.1) [template = f64] @@ -303,20 +303,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc17_37.2: type = converted %bool.make_type, %.loc17_37.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18_17.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc18_17: init type = call constants.%Float(%.loc18_17.1) [template = f64] @@ -330,18 +330,18 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc18_33: init type = call constants.%Float(%.loc18_33.1) [template = f64] // CHECK:STDOUT: %.loc18_33.2: type = value_of_initializer %float.make_type.loc18_33 [template = f64] // CHECK:STDOUT: %.loc18_33.3: type = converted %float.make_type.loc18_33, %.loc18_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param2 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_25.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc20_25: init type = call constants.%Float(%.loc20_25.1) [template = f64] @@ -351,20 +351,20 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc20_33: init type = call constants.%Float(%.loc20_33.1) [template = f64] // CHECK:STDOUT: %.loc20_33.2: type = value_of_initializer %float.make_type.loc20_33 [template = f64] // CHECK:STDOUT: %.loc20_33.3: type = converted %float.make_type.loc20_33, %.loc20_33.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param1 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: f64 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: f64 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: f64 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc24_26.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc24_26: init type = call constants.%Float(%.loc24_26.1) [template = f64] @@ -382,22 +382,22 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %float.make_type.loc24_50: init type = call constants.%Float(%.loc24_50.1) [template = f64] // CHECK:STDOUT: %.loc24_50.2: type = value_of_initializer %float.make_type.loc24_50 [template = f64] // CHECK:STDOUT: %.loc24_50.3: type = converted %float.make_type.loc24_50, %.loc24_50.2 [template = f64] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: f64 = param runtime_param2 +// CHECK:STDOUT: %c.param: f64 = value_param runtime_param2 // CHECK:STDOUT: %c: f64 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: f64 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param3 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: f64 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: f64 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: f64 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc28_32.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type.loc28_32: init type = call constants.%Float(%.loc28_32.1) [template = f64] @@ -410,11 +410,11 @@ fn RuntimeCallBadReturnType(a: f64, b: f64) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc28_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc28_48.2: type = converted %bool.make_type, %.loc28_48.1 [template = bool] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: f64 = param runtime_param1 +// CHECK:STDOUT: %b.param: f64 = value_param runtime_param1 // CHECK:STDOUT: %b: f64 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/and.carbon b/toolchain/check/testdata/builtins/int/and.carbon index 2b36c333c168..4716b17f363b 100644 --- a/toolchain/check/testdata/builtins/int/and.carbon +++ b/toolchain/check/testdata/builtins/int/and.carbon @@ -62,11 +62,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %And.decl: %And.type = fn_decl @And [template = constants.%And] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -77,11 +77,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -102,11 +102,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -117,11 +117,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/complement.carbon b/toolchain/check/testdata/builtins/int/complement.carbon index 764074a98150..ae206411ce5c 100644 --- a/toolchain/check/testdata/builtins/int/complement.carbon +++ b/toolchain/check/testdata/builtins/int/complement.carbon @@ -67,9 +67,9 @@ fn RuntimeCall(a: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Complement.decl: %Complement.type = fn_decl @Complement [template = constants.%Complement] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_18.1: type = value_of_initializer %int.make_type_32.loc2_18 [template = i32] @@ -77,18 +77,18 @@ fn RuntimeCall(a: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc2_26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %int.make_type_32.loc2_26 [template = i32] // CHECK:STDOUT: %.loc2_26.2: type = converted %int.make_type_32.loc2_26, %.loc2_26.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %And.decl: %And.type = fn_decl @And [template = constants.%And] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc3_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_11.1: type = value_of_initializer %int.make_type_32.loc3_11 [template = i32] @@ -99,11 +99,11 @@ fn RuntimeCall(a: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc3_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_27.1: type = value_of_initializer %int.make_type_32.loc3_27 [template = i32] // CHECK:STDOUT: %.loc3_27.2: type = converted %int.make_type_32.loc3_27, %.loc3_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32] @@ -128,9 +128,9 @@ fn RuntimeCall(a: i32) -> i32 { // CHECK:STDOUT: %.loc6_27: type = ptr_type %.6 [template = constants.%.7] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc8_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_19.1: type = value_of_initializer %int.make_type_32.loc8_19 [template = i32] @@ -138,9 +138,9 @@ fn RuntimeCall(a: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc8_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_27.1: type = value_of_initializer %int.make_type_32.loc8_27 [template = i32] // CHECK:STDOUT: %.loc8_27.2: type = converted %int.make_type_32.loc8_27, %.loc8_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/eq.carbon b/toolchain/check/testdata/builtins/int/eq.carbon index dad5b076ed4e..e1a0dd7b1517 100644 --- a/toolchain/check/testdata/builtins/int/eq.carbon +++ b/toolchain/check/testdata/builtins/int/eq.carbon @@ -87,11 +87,11 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Eq.decl: %Eq.type = fn_decl @Eq [template = constants.%Eq] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_10.1: type = value_of_initializer %int.make_type_32.loc2_10 [template = i32] @@ -102,35 +102,35 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq"; // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_26.2: type = converted %bool.make_type, %.loc2_26.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc7: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc7: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_19.1: type = value_of_initializer %int.make_type_32.loc12_19 [template = i32] @@ -141,11 +141,11 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq"; // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_35.2: type = converted %bool.make_type, %.loc12_35.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -257,11 +257,11 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %WrongResult.decl: %WrongResult.type = fn_decl @WrongResult [template = constants.%WrongResult] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -272,11 +272,11 @@ fn WrongResult(a: i32, b: i32) -> i32 = "int.eq"; // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/greater.carbon b/toolchain/check/testdata/builtins/int/greater.carbon index 55d1ed78c996..26209d8635e9 100644 --- a/toolchain/check/testdata/builtins/int/greater.carbon +++ b/toolchain/check/testdata/builtins/int/greater.carbon @@ -87,11 +87,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Greater.decl: %Greater.type = fn_decl @Greater [template = constants.%Greater] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_15.1: type = value_of_initializer %int.make_type_32.loc2_15 [template = i32] @@ -102,18 +102,18 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_31.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_31.2: type = converted %bool.make_type, %.loc2_31.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32] @@ -121,33 +121,33 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32] // CHECK:STDOUT: %.loc3_22.2: type = converted %int.make_type_32.loc3_22, %.loc3_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32] @@ -158,11 +158,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/greater_eq.carbon b/toolchain/check/testdata/builtins/int/greater_eq.carbon index 64c197e6002d..d7fa8ac249c8 100644 --- a/toolchain/check/testdata/builtins/int/greater_eq.carbon +++ b/toolchain/check/testdata/builtins/int/greater_eq.carbon @@ -87,11 +87,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %GreaterEq.decl: %GreaterEq.type = fn_decl @GreaterEq [template = constants.%GreaterEq] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_17.1: type = value_of_initializer %int.make_type_32.loc2_17 [template = i32] @@ -102,18 +102,18 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_33.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_33.2: type = converted %bool.make_type, %.loc2_33.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32] @@ -121,33 +121,33 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32] // CHECK:STDOUT: %.loc3_22.2: type = converted %int.make_type_32.loc3_22, %.loc3_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32] @@ -158,11 +158,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/left_shift.carbon b/toolchain/check/testdata/builtins/int/left_shift.carbon index 2008725ae017..171caa9acf7d 100644 --- a/toolchain/check/testdata/builtins/int/left_shift.carbon +++ b/toolchain/check/testdata/builtins/int/left_shift.carbon @@ -106,11 +106,11 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %LeftShift.decl: %LeftShift.type = fn_decl @LeftShift [template = constants.%LeftShift] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_17.1: type = value_of_initializer %int.make_type_32.loc2_17 [template = i32] @@ -121,11 +121,11 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc2_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_33.1: type = value_of_initializer %int.make_type_32.loc2_33 [template = i32] // CHECK:STDOUT: %.loc2_33.2: type = converted %int.make_type_32.loc2_33, %.loc2_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -146,11 +146,11 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %.loc5_21: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -161,11 +161,11 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -245,11 +245,11 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %LeftShift.decl: %LeftShift.type = fn_decl @LeftShift [template = constants.%LeftShift] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_17.1: type = value_of_initializer %int.make_type_32.loc4_17 [template = i32] @@ -260,18 +260,18 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc4_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_33.1: type = value_of_initializer %int.make_type_32.loc4_33 [template = i32] // CHECK:STDOUT: %.loc4_33.2: type = converted %int.make_type_32.loc4_33, %.loc4_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_14.1: type = value_of_initializer %int.make_type_32.loc5_14 [template = i32] @@ -279,9 +279,9 @@ let negative: i32 = LeftShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc5_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_22.1: type = value_of_initializer %int.make_type_32.loc5_22 [template = i32] // CHECK:STDOUT: %.loc5_22.2: type = converted %int.make_type_32.loc5_22, %.loc5_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc8: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/less.carbon b/toolchain/check/testdata/builtins/int/less.carbon index 43891b3941f6..871bcf80b6f9 100644 --- a/toolchain/check/testdata/builtins/int/less.carbon +++ b/toolchain/check/testdata/builtins/int/less.carbon @@ -87,11 +87,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Less.decl: %Less.type = fn_decl @Less [template = constants.%Less] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_12.1: type = value_of_initializer %int.make_type_32.loc2_12 [template = i32] @@ -102,18 +102,18 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_28.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_28.2: type = converted %bool.make_type, %.loc2_28.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32] @@ -121,33 +121,33 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32] // CHECK:STDOUT: %.loc3_22.2: type = converted %int.make_type_32.loc3_22, %.loc3_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32] @@ -158,11 +158,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/less_eq.carbon b/toolchain/check/testdata/builtins/int/less_eq.carbon index a4c8d9cc0563..993821202734 100644 --- a/toolchain/check/testdata/builtins/int/less_eq.carbon +++ b/toolchain/check/testdata/builtins/int/less_eq.carbon @@ -87,11 +87,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %LessEq.decl: %LessEq.type = fn_decl @LessEq [template = constants.%LessEq] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_14.1: type = value_of_initializer %int.make_type_32.loc2_14 [template = i32] @@ -102,18 +102,18 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_30.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_30.2: type = converted %bool.make_type, %.loc2_30.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc3_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_14.1: type = value_of_initializer %int.make_type_32.loc3_14 [template = i32] @@ -121,33 +121,33 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %int.make_type_32.loc3_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc3_22.1: type = value_of_initializer %int.make_type_32.loc3_22 [template = i32] // CHECK:STDOUT: %.loc3_22.2: type = converted %int.make_type_32.loc3_22, %.loc3_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc8: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc8: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32] @@ -158,11 +158,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_35.2: type = converted %bool.make_type, %.loc16_35.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/make_type_32.carbon b/toolchain/check/testdata/builtins/int/make_type_32.carbon index 5ccb4d169a51..d151bbdc843d 100644 --- a/toolchain/check/testdata/builtins/int/make_type_32.carbon +++ b/toolchain/check/testdata/builtins/int/make_type_32.carbon @@ -51,9 +51,9 @@ var i: Int() = 0; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [template = constants.%Int] { // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: type = param runtime_param0 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/make_type_signed.carbon b/toolchain/check/testdata/builtins/int/make_type_signed.carbon index 12ff5c3cba33..e7f286df556a 100644 --- a/toolchain/check/testdata/builtins/int/make_type_signed.carbon +++ b/toolchain/check/testdata/builtins/int/make_type_signed.carbon @@ -102,16 +102,16 @@ var m: Int(1000000000); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [template = constants.%Int] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32, %.loc4_11.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: type = param runtime_param1 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param1 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -171,9 +171,9 @@ var m: Int(1000000000); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %n.patt: %.3 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.3 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.3 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Int.ref.loc6_9: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int] // CHECK:STDOUT: %.loc6_13: i32 = int_literal 64 [template = constants.%.2] @@ -185,16 +185,16 @@ var m: Int(1000000000); // CHECK:STDOUT: %int.make_type_signed.loc6_24: init type = call %Int.ref.loc6_21(%.loc6_25) [template = constants.%.3] // CHECK:STDOUT: %.loc6_27.1: type = value_of_initializer %int.make_type_signed.loc6_24 [template = constants.%.3] // CHECK:STDOUT: %.loc6_27.2: type = converted %int.make_type_signed.loc6_24, %.loc6_27.1 [template = constants.%.3] -// CHECK:STDOUT: %n.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %n: %.3 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.3 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %n.patt: %.5 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.5 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.5 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.5 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.5 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Int.ref.loc10_9: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int] // CHECK:STDOUT: %.loc10_13: i32 = int_literal 13 [template = constants.%.4] @@ -206,18 +206,18 @@ var m: Int(1000000000); // CHECK:STDOUT: %int.make_type_signed.loc10_24: init type = call %Int.ref.loc10_21(%.loc10_25) [template = constants.%.5] // CHECK:STDOUT: %.loc10_27.1: type = value_of_initializer %int.make_type_signed.loc10_24 [template = constants.%.5] // CHECK:STDOUT: %.loc10_27.2: type = converted %int.make_type_signed.loc10_24, %.loc10_27.1 [template = constants.%.5] -// CHECK:STDOUT: %n.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %n: %.5 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.5 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.5 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.5 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Symbolic.decl: %Symbolic.type = fn_decl @Symbolic [template = constants.%Symbolic] { // CHECK:STDOUT: %N.patt.loc14_13.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc14_13.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc14_13.1, runtime_param [symbolic = %N.patt.loc14_13.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc14_13.1, runtime_param [symbolic = %N.patt.loc14_13.2 (constants.%N.patt)] // CHECK:STDOUT: %x.patt: @Symbolic.%.loc14_28 (%.6) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @Symbolic.%.loc14_28 (%.6) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @Symbolic.%.loc14_28 (%.6) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Symbolic.%.loc14_28 (%.6) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Symbolic.%.loc14_28 (%.6) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Symbolic.%.loc14_28 (%.6) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_17.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -232,11 +232,11 @@ var m: Int(1000000000); // CHECK:STDOUT: %int.make_type_signed.loc14_39: init type = call %Int.ref.loc14_36(%N.ref.loc14_40) [symbolic = %.loc14_28 (constants.%.6)] // CHECK:STDOUT: %.loc14_41.1: type = value_of_initializer %int.make_type_signed.loc14_39 [symbolic = %.loc14_28 (constants.%.6)] // CHECK:STDOUT: %.loc14_41.2: type = converted %int.make_type_signed.loc14_39, %.loc14_41.1 [symbolic = %.loc14_28 (constants.%.6)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc14_13.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc14_13.2 (constants.%N)] -// CHECK:STDOUT: %x.param: @Symbolic.%.loc14_28 (%.6) = param runtime_param0 +// CHECK:STDOUT: %x.param: @Symbolic.%.loc14_28 (%.6) = value_param runtime_param0 // CHECK:STDOUT: %x: @Symbolic.%.loc14_28 (%.6) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @Symbolic.%.loc14_28 (%.6) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Symbolic.%.loc14_28 (%.6) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Symbolic.%.loc14_28 (%.6) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -360,9 +360,9 @@ var m: Int(1000000000); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32] @@ -370,9 +370,9 @@ var m: Int(1000000000); // CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32] // CHECK:STDOUT: %.loc6_22.2: type = converted %int.make_type_32.loc6_22, %.loc6_22.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Int.ref: %Int.type = name_ref Int, imports.%import_ref.1 [template = constants.%Int] diff --git a/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon b/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon index c5a8fe77e954..d9a7d41f9f64 100644 --- a/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon +++ b/toolchain/check/testdata/builtins/int/make_type_unsigned.carbon @@ -102,16 +102,16 @@ var m: UInt(1000000000); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %UInt.decl: %UInt.type = fn_decl @UInt [template = constants.%UInt] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_12.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_12.2: type = converted %int.make_type_32, %.loc4_12.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: type = param runtime_param1 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param1 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -171,9 +171,9 @@ var m: UInt(1000000000); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %n.patt: %.3 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.3 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.3 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %UInt.ref.loc6_9: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt] // CHECK:STDOUT: %.loc6_14: i32 = int_literal 64 [template = constants.%.2] @@ -185,16 +185,16 @@ var m: UInt(1000000000); // CHECK:STDOUT: %int.make_type_unsigned.loc6_26: init type = call %UInt.ref.loc6_22(%.loc6_27) [template = constants.%.3] // CHECK:STDOUT: %.loc6_29.1: type = value_of_initializer %int.make_type_unsigned.loc6_26 [template = constants.%.3] // CHECK:STDOUT: %.loc6_29.2: type = converted %int.make_type_unsigned.loc6_26, %.loc6_29.1 [template = constants.%.3] -// CHECK:STDOUT: %n.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %n: %.3 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.3 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %n.patt: %.5 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %.5 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %.5 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.5 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.5 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %UInt.ref.loc10_9: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt] // CHECK:STDOUT: %.loc10_14: i32 = int_literal 13 [template = constants.%.4] @@ -206,18 +206,18 @@ var m: UInt(1000000000); // CHECK:STDOUT: %int.make_type_unsigned.loc10_26: init type = call %UInt.ref.loc10_22(%.loc10_27) [template = constants.%.5] // CHECK:STDOUT: %.loc10_29.1: type = value_of_initializer %int.make_type_unsigned.loc10_26 [template = constants.%.5] // CHECK:STDOUT: %.loc10_29.2: type = converted %int.make_type_unsigned.loc10_26, %.loc10_29.1 [template = constants.%.5] -// CHECK:STDOUT: %n.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %n.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %n: %.5 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.5 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.5 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.5 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Symbolic.decl: %Symbolic.type = fn_decl @Symbolic [template = constants.%Symbolic] { // CHECK:STDOUT: %N.patt.loc14_13.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc14_13.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc14_13.1, runtime_param [symbolic = %N.patt.loc14_13.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc14_13.1, runtime_param [symbolic = %N.patt.loc14_13.2 (constants.%N.patt)] // CHECK:STDOUT: %x.patt: @Symbolic.%.loc14_29 (%.6) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @Symbolic.%.loc14_29 (%.6) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @Symbolic.%.loc14_29 (%.6) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Symbolic.%.loc14_29 (%.6) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Symbolic.%.loc14_29 (%.6) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Symbolic.%.loc14_29 (%.6) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_17.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -232,11 +232,11 @@ var m: UInt(1000000000); // CHECK:STDOUT: %int.make_type_unsigned.loc14_41: init type = call %UInt.ref.loc14_37(%N.ref.loc14_42) [symbolic = %.loc14_29 (constants.%.6)] // CHECK:STDOUT: %.loc14_43.1: type = value_of_initializer %int.make_type_unsigned.loc14_41 [symbolic = %.loc14_29 (constants.%.6)] // CHECK:STDOUT: %.loc14_43.2: type = converted %int.make_type_unsigned.loc14_41, %.loc14_43.1 [symbolic = %.loc14_29 (constants.%.6)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc14_13.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc14_13.2 (constants.%N)] -// CHECK:STDOUT: %x.param: @Symbolic.%.loc14_29 (%.6) = param runtime_param0 +// CHECK:STDOUT: %x.param: @Symbolic.%.loc14_29 (%.6) = value_param runtime_param0 // CHECK:STDOUT: %x: @Symbolic.%.loc14_29 (%.6) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @Symbolic.%.loc14_29 (%.6) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Symbolic.%.loc14_29 (%.6) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Symbolic.%.loc14_29 (%.6) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -360,9 +360,9 @@ var m: UInt(1000000000); // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32] @@ -370,9 +370,9 @@ var m: UInt(1000000000); // CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32] // CHECK:STDOUT: %.loc6_22.2: type = converted %int.make_type_32.loc6_22, %.loc6_22.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %UInt.ref: %UInt.type = name_ref UInt, imports.%import_ref.1 [template = constants.%UInt] diff --git a/toolchain/check/testdata/builtins/int/neq.carbon b/toolchain/check/testdata/builtins/int/neq.carbon index b397e858744c..fce1a3dc9921 100644 --- a/toolchain/check/testdata/builtins/int/neq.carbon +++ b/toolchain/check/testdata/builtins/int/neq.carbon @@ -78,11 +78,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Neq.decl: %Neq.type = fn_decl @Neq [template = constants.%Neq] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -93,35 +93,35 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc2_27.2: type = converted %bool.make_type, %.loc2_27.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %True.decl: type = class_decl @True [template = constants.%True] {} {} // CHECK:STDOUT: %False.decl: type = class_decl @False [template = constants.%False] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %true_.patt: %True = binding_pattern true_ -// CHECK:STDOUT: %true_.param_patt: %True = param_pattern %true_.patt, runtime_param0 +// CHECK:STDOUT: %true_.param_patt: %True = value_param_pattern %true_.patt, runtime_param0 // CHECK:STDOUT: %false_.patt: %False = binding_pattern false_ -// CHECK:STDOUT: %false_.param_patt: %False = param_pattern %false_.patt, runtime_param1 +// CHECK:STDOUT: %false_.param_patt: %False = value_param_pattern %false_.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %True.ref.loc7: type = name_ref True, file.%True.decl [template = constants.%True] // CHECK:STDOUT: %False.ref.loc7: type = name_ref False, file.%False.decl [template = constants.%False] -// CHECK:STDOUT: %true_.param: %True = param runtime_param0 +// CHECK:STDOUT: %true_.param: %True = value_param runtime_param0 // CHECK:STDOUT: %true_: %True = bind_name true_, %true_.param -// CHECK:STDOUT: %false_.param: %False = param runtime_param1 +// CHECK:STDOUT: %false_.param: %False = value_param runtime_param1 // CHECK:STDOUT: %false_: %False = bind_name false_, %false_.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_19.1: type = value_of_initializer %int.make_type_32.loc12_19 [template = i32] @@ -132,11 +132,11 @@ fn RuntimeCall(a: i32, b: i32) -> bool { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_35.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_35.2: type = converted %bool.make_type, %.loc12_35.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/or.carbon b/toolchain/check/testdata/builtins/int/or.carbon index 1737dfa878e7..2934eb479ed8 100644 --- a/toolchain/check/testdata/builtins/int/or.carbon +++ b/toolchain/check/testdata/builtins/int/or.carbon @@ -62,11 +62,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Or.decl: %Or.type = fn_decl @Or [template = constants.%Or] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_10.1: type = value_of_initializer %int.make_type_32.loc2_10 [template = i32] @@ -77,11 +77,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc2_26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_26.1: type = value_of_initializer %int.make_type_32.loc2_26 [template = i32] // CHECK:STDOUT: %.loc2_26.2: type = converted %int.make_type_32.loc2_26, %.loc2_26.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -102,11 +102,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %.loc5_21: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -117,11 +117,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/int/right_shift.carbon b/toolchain/check/testdata/builtins/int/right_shift.carbon index a3888f0e5780..9d623e752a20 100644 --- a/toolchain/check/testdata/builtins/int/right_shift.carbon +++ b/toolchain/check/testdata/builtins/int/right_shift.carbon @@ -107,11 +107,11 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %RightShift.decl: %RightShift.type = fn_decl @RightShift [template = constants.%RightShift] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_18.1: type = value_of_initializer %int.make_type_32.loc2_18 [template = i32] @@ -122,11 +122,11 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc2_34: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_34.1: type = value_of_initializer %int.make_type_32.loc2_34 [template = i32] // CHECK:STDOUT: %.loc2_34.2: type = converted %int.make_type_32.loc2_34, %.loc2_34.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -147,11 +147,11 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -162,11 +162,11 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -245,11 +245,11 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %RightShift.decl: %RightShift.type = fn_decl @RightShift [template = constants.%RightShift] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_18.1: type = value_of_initializer %int.make_type_32.loc6_18 [template = i32] @@ -260,18 +260,18 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc6_34: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_34.1: type = value_of_initializer %int.make_type_32.loc6_34 [template = i32] // CHECK:STDOUT: %.loc6_34.2: type = converted %int.make_type_32.loc6_34, %.loc6_34.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_14.1: type = value_of_initializer %int.make_type_32.loc7_14 [template = i32] @@ -279,9 +279,9 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc7_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_22.1: type = value_of_initializer %int.make_type_32.loc7_22 [template = i32] // CHECK:STDOUT: %.loc7_22.2: type = converted %int.make_type_32.loc7_22, %.loc7_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc10: init type = call constants.%Int32() [template = i32] @@ -397,11 +397,11 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %RightShift.decl: %RightShift.type = fn_decl @RightShift [template = constants.%RightShift] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_18.1: type = value_of_initializer %int.make_type_32.loc4_18 [template = i32] @@ -412,18 +412,18 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc4_34: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_34.1: type = value_of_initializer %int.make_type_32.loc4_34 [template = i32] // CHECK:STDOUT: %.loc4_34.2: type = converted %int.make_type_32.loc4_34, %.loc4_34.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_14.1: type = value_of_initializer %int.make_type_32.loc5_14 [template = i32] @@ -431,9 +431,9 @@ let negative: i32 = RightShift(1, Negate(1)); // CHECK:STDOUT: %int.make_type_32.loc5_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_22.1: type = value_of_initializer %int.make_type_32.loc5_22 [template = i32] // CHECK:STDOUT: %.loc5_22.2: type = converted %int.make_type_32.loc5_22, %.loc5_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc8: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/sadd.carbon b/toolchain/check/testdata/builtins/int/sadd.carbon index cc318648cb48..0c5638d5ccd9 100644 --- a/toolchain/check/testdata/builtins/int/sadd.carbon +++ b/toolchain/check/testdata/builtins/int/sadd.carbon @@ -132,11 +132,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -147,11 +147,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -172,11 +172,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -187,11 +187,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -281,9 +281,9 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc8_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_14.1: type = value_of_initializer %int.make_type_32.loc8_14 [template = i32] @@ -291,20 +291,20 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc8_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_22.1: type = value_of_initializer %int.make_type_32.loc8_22 [template = i32] // CHECK:STDOUT: %.loc8_22.2: type = converted %int.make_type_32.loc8_22, %.loc8_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: i32 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: i32 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: i32 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32] @@ -318,22 +318,22 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc13_39: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_39.1: type = value_of_initializer %int.make_type_32.loc13_39 [template = i32] // CHECK:STDOUT: %.loc13_39.2: type = converted %int.make_type_32.loc13_39, %.loc13_39.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: i32 = param runtime_param2 +// CHECK:STDOUT: %c.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %c: i32 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc18_21: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32.loc18_21 [template = i32] @@ -344,20 +344,20 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc18_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc18_37.2: type = converted %bool.make_type, %.loc18_37.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32] @@ -368,11 +368,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc19_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_33.1: type = value_of_initializer %int.make_type_32.loc19_33 [template = i32] // CHECK:STDOUT: %.loc19_33.2: type = converted %int.make_type_32.loc19_33, %.loc19_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32] @@ -408,9 +408,9 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %bad_call: ref = bind_name bad_call, %bad_call.var // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc46_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc46_25.1: type = value_of_initializer %int.make_type_32.loc46_25 [template = i32] @@ -418,20 +418,20 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc46_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc46_33.1: type = value_of_initializer %int.make_type_32.loc46_33 [template = i32] // CHECK:STDOUT: %.loc46_33.2: type = converted %int.make_type_32.loc46_33, %.loc46_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: i32 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: i32 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: i32 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc50_26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc50_26.1: type = value_of_initializer %int.make_type_32.loc50_26 [template = i32] @@ -445,22 +445,22 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc50_50: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc50_50.1: type = value_of_initializer %int.make_type_32.loc50_50 [template = i32] // CHECK:STDOUT: %.loc50_50.2: type = converted %int.make_type_32.loc50_50, %.loc50_50.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: i32 = param runtime_param2 +// CHECK:STDOUT: %c.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %c: i32 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc54_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc54_32.1: type = value_of_initializer %int.make_type_32.loc54_32 [template = i32] @@ -471,11 +471,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc54_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc54_48.2: type = converted %bool.make_type, %.loc54_48.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -564,11 +564,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -579,11 +579,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/sdiv.carbon b/toolchain/check/testdata/builtins/int/sdiv.carbon index fc3efe9da655..b8741da54a2b 100644 --- a/toolchain/check/testdata/builtins/int/sdiv.carbon +++ b/toolchain/check/testdata/builtins/int/sdiv.carbon @@ -100,11 +100,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -115,11 +115,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -140,11 +140,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -155,11 +155,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -234,11 +234,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -249,20 +249,20 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32] @@ -273,18 +273,18 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32] // CHECK:STDOUT: %.loc5_27.2: type = converted %int.make_type_32.loc5_27, %.loc5_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32] @@ -292,9 +292,9 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32] // CHECK:STDOUT: %.loc6_22.2: type = converted %int.make_type_32.loc6_22, %.loc6_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc9: init type = call constants.%Int32() [template = i32] @@ -409,11 +409,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -424,11 +424,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc10: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/smod.carbon b/toolchain/check/testdata/builtins/int/smod.carbon index 42677683ac84..7e0bf41c7cad 100644 --- a/toolchain/check/testdata/builtins/int/smod.carbon +++ b/toolchain/check/testdata/builtins/int/smod.carbon @@ -103,11 +103,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mod.decl: %Mod.type = fn_decl @Mod [template = constants.%Mod] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -118,11 +118,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -143,11 +143,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -158,11 +158,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -238,11 +238,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mod.decl: %Mod.type = fn_decl @Mod [template = constants.%Mod] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -253,20 +253,20 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32] @@ -277,18 +277,18 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32] // CHECK:STDOUT: %.loc5_27.2: type = converted %int.make_type_32.loc5_27, %.loc5_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32] @@ -296,9 +296,9 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32] // CHECK:STDOUT: %.loc6_22.2: type = converted %int.make_type_32.loc6_22, %.loc6_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc9: init type = call constants.%Int32() [template = i32] @@ -413,11 +413,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mod.decl: %Mod.type = fn_decl @Mod [template = constants.%Mod] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -428,11 +428,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/smul.carbon b/toolchain/check/testdata/builtins/int/smul.carbon index 72a8aa1217c9..0ecee8930e2f 100644 --- a/toolchain/check/testdata/builtins/int/smul.carbon +++ b/toolchain/check/testdata/builtins/int/smul.carbon @@ -74,11 +74,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mul.decl: %Mul.type = fn_decl @Mul [template = constants.%Mul] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -89,11 +89,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -114,11 +114,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -129,11 +129,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -201,11 +201,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mul.decl: %Mul.type = fn_decl @Mul [template = constants.%Mul] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -216,11 +216,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/snegate.carbon b/toolchain/check/testdata/builtins/int/snegate.carbon index 51d29ff217ad..a62afd8aa9ae 100644 --- a/toolchain/check/testdata/builtins/int/snegate.carbon +++ b/toolchain/check/testdata/builtins/int/snegate.carbon @@ -161,9 +161,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_14.1: type = value_of_initializer %int.make_type_32.loc2_14 [template = i32] @@ -171,9 +171,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc2_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_22.1: type = value_of_initializer %int.make_type_32.loc2_22 [template = i32] // CHECK:STDOUT: %.loc2_22.2: type = converted %int.make_type_32.loc2_22, %.loc2_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -200,11 +200,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %.loc7_8.2: type = converted %int.make_type_32.loc7, %.loc7_8.1 [template = i32] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc9_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc9_19.1: type = value_of_initializer %int.make_type_32.loc9_19 [template = i32] @@ -215,11 +215,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc9_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc9_35.1: type = value_of_initializer %int.make_type_32.loc9_35 [template = i32] // CHECK:STDOUT: %.loc9_35.2: type = converted %int.make_type_32.loc9_35, %.loc9_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -313,21 +313,21 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_16.2: type = converted %int.make_type_32, %.loc8_16.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32] @@ -338,18 +338,18 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc13_31: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32.loc13_31 [template = i32] // CHECK:STDOUT: %.loc13_31.2: type = converted %int.make_type_32.loc13_31, %.loc13_31.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -357,16 +357,16 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc18_29.2: type = converted %bool.make_type, %.loc18_29.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: bool = param runtime_param1 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32] @@ -374,9 +374,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32] // CHECK:STDOUT: %.loc19_25.2: type = converted %int.make_type_32.loc19_25, %.loc19_25.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32] @@ -408,9 +408,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %bad_call: ref = bind_name bad_call, %bad_call.var // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc46_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc46_25.1: type = value_of_initializer %int.make_type_32.loc46_25 [template = i32] @@ -418,20 +418,20 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc46_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc46_33.1: type = value_of_initializer %int.make_type_32.loc46_33 [template = i32] // CHECK:STDOUT: %.loc46_33.2: type = converted %int.make_type_32.loc46_33, %.loc46_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: i32 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: i32 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: i32 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc57_26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc57_26.1: type = value_of_initializer %int.make_type_32.loc57_26 [template = i32] @@ -445,22 +445,22 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc57_50: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc57_50.1: type = value_of_initializer %int.make_type_32.loc57_50 [template = i32] // CHECK:STDOUT: %.loc57_50.2: type = converted %int.make_type_32.loc57_50, %.loc57_50.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: i32 = param runtime_param2 +// CHECK:STDOUT: %c.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %c: i32 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc68_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc68_32.1: type = value_of_initializer %int.make_type_32.loc68_32 [template = i32] @@ -471,11 +471,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc68_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc68_48.2: type = converted %bool.make_type, %.loc68_48.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -558,9 +558,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer %int.make_type_32.loc4_14 [template = i32] @@ -568,18 +568,18 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc4_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_22.1: type = value_of_initializer %int.make_type_32.loc4_22 [template = i32] // CHECK:STDOUT: %.loc4_22.2: type = converted %int.make_type_32.loc4_22, %.loc4_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32] @@ -590,11 +590,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32] // CHECK:STDOUT: %.loc5_27.2: type = converted %int.make_type_32.loc5_27, %.loc5_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc8: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/ssub.carbon b/toolchain/check/testdata/builtins/int/ssub.carbon index 0ca057302eaa..1b4d801bdab4 100644 --- a/toolchain/check/testdata/builtins/int/ssub.carbon +++ b/toolchain/check/testdata/builtins/int/ssub.carbon @@ -75,11 +75,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -90,11 +90,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -115,11 +115,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -130,11 +130,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -204,11 +204,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -219,11 +219,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/uadd.carbon b/toolchain/check/testdata/builtins/int/uadd.carbon index 4c91e731af9b..5805455601d9 100644 --- a/toolchain/check/testdata/builtins/int/uadd.carbon +++ b/toolchain/check/testdata/builtins/int/uadd.carbon @@ -129,11 +129,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -144,11 +144,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -169,11 +169,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -184,11 +184,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -278,9 +278,9 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc8_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_14.1: type = value_of_initializer %int.make_type_32.loc8_14 [template = i32] @@ -288,20 +288,20 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc8_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_22.1: type = value_of_initializer %int.make_type_32.loc8_22 [template = i32] // CHECK:STDOUT: %.loc8_22.2: type = converted %int.make_type_32.loc8_22, %.loc8_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: i32 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: i32 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: i32 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32] @@ -315,22 +315,22 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc13_39: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_39.1: type = value_of_initializer %int.make_type_32.loc13_39 [template = i32] // CHECK:STDOUT: %.loc13_39.2: type = converted %int.make_type_32.loc13_39, %.loc13_39.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: i32 = param runtime_param2 +// CHECK:STDOUT: %c.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %c: i32 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc18_21: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32.loc18_21 [template = i32] @@ -341,20 +341,20 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc18_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc18_37.2: type = converted %bool.make_type, %.loc18_37.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32] @@ -365,11 +365,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc19_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_33.1: type = value_of_initializer %int.make_type_32.loc19_33 [template = i32] // CHECK:STDOUT: %.loc19_33.2: type = converted %int.make_type_32.loc19_33, %.loc19_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32] @@ -405,9 +405,9 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %bad_call: ref = bind_name bad_call, %bad_call.var // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc45_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc45_25.1: type = value_of_initializer %int.make_type_32.loc45_25 [template = i32] @@ -415,20 +415,20 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc45_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc45_33.1: type = value_of_initializer %int.make_type_32.loc45_33 [template = i32] // CHECK:STDOUT: %.loc45_33.2: type = converted %int.make_type_32.loc45_33, %.loc45_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: i32 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: i32 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: i32 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc49_26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc49_26.1: type = value_of_initializer %int.make_type_32.loc49_26 [template = i32] @@ -442,22 +442,22 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc49_50: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc49_50.1: type = value_of_initializer %int.make_type_32.loc49_50 [template = i32] // CHECK:STDOUT: %.loc49_50.2: type = converted %int.make_type_32.loc49_50, %.loc49_50.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: i32 = param runtime_param2 +// CHECK:STDOUT: %c.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %c: i32 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc53_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc53_32.1: type = value_of_initializer %int.make_type_32.loc53_32 [template = i32] @@ -468,11 +468,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc53_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc53_48.2: type = converted %bool.make_type, %.loc53_48.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -561,11 +561,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -576,11 +576,11 @@ let b: i32 = Add(0x7FFFFFFF, 1); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc7: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/udiv.carbon b/toolchain/check/testdata/builtins/int/udiv.carbon index 0847c87098c9..d8749a2b60b2 100644 --- a/toolchain/check/testdata/builtins/int/udiv.carbon +++ b/toolchain/check/testdata/builtins/int/udiv.carbon @@ -96,11 +96,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -111,11 +111,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -136,11 +136,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -151,11 +151,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -231,11 +231,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -246,20 +246,20 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32] @@ -270,18 +270,18 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32] // CHECK:STDOUT: %.loc5_27.2: type = converted %int.make_type_32.loc5_27, %.loc5_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32] @@ -289,9 +289,9 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32] // CHECK:STDOUT: %.loc6_22.2: type = converted %int.make_type_32.loc6_22, %.loc6_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc9: init type = call constants.%Int32() [template = i32] @@ -406,11 +406,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Div.decl: %Div.type = fn_decl @Div [template = constants.%Div] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -421,11 +421,11 @@ let b: i32 = Div(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc10: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/umod.carbon b/toolchain/check/testdata/builtins/int/umod.carbon index 0cde73b89227..a61e107d5d63 100644 --- a/toolchain/check/testdata/builtins/int/umod.carbon +++ b/toolchain/check/testdata/builtins/int/umod.carbon @@ -98,11 +98,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mod.decl: %Mod.type = fn_decl @Mod [template = constants.%Mod] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -113,11 +113,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -138,11 +138,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -153,11 +153,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -233,11 +233,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mod.decl: %Mod.type = fn_decl @Mod [template = constants.%Mod] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -248,20 +248,20 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32] @@ -272,18 +272,18 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32] // CHECK:STDOUT: %.loc5_27.2: type = converted %int.make_type_32.loc5_27, %.loc5_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: type = value_of_initializer %int.make_type_32.loc6_14 [template = i32] @@ -291,9 +291,9 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc6_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_22.1: type = value_of_initializer %int.make_type_32.loc6_22 [template = i32] // CHECK:STDOUT: %.loc6_22.2: type = converted %int.make_type_32.loc6_22, %.loc6_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc9: init type = call constants.%Int32() [template = i32] @@ -408,11 +408,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mod.decl: %Mod.type = fn_decl @Mod [template = constants.%Mod] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -423,11 +423,11 @@ let b: i32 = Mod(0, 0); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/umul.carbon b/toolchain/check/testdata/builtins/int/umul.carbon index f9e8090d1cf7..077d8ae660a4 100644 --- a/toolchain/check/testdata/builtins/int/umul.carbon +++ b/toolchain/check/testdata/builtins/int/umul.carbon @@ -71,11 +71,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mul.decl: %Mul.type = fn_decl @Mul [template = constants.%Mul] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -86,11 +86,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -111,11 +111,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -126,11 +126,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -198,11 +198,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mul.decl: %Mul.type = fn_decl @Mul [template = constants.%Mul] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -213,11 +213,11 @@ let b: i32 = Mul(0x8000, 0x10000); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/unegate.carbon b/toolchain/check/testdata/builtins/int/unegate.carbon index 0dba1032b15a..fe2f88561954 100644 --- a/toolchain/check/testdata/builtins/int/unegate.carbon +++ b/toolchain/check/testdata/builtins/int/unegate.carbon @@ -157,9 +157,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_14.1: type = value_of_initializer %int.make_type_32.loc2_14 [template = i32] @@ -167,9 +167,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc2_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_22.1: type = value_of_initializer %int.make_type_32.loc2_22 [template = i32] // CHECK:STDOUT: %.loc2_22.2: type = converted %int.make_type_32.loc2_22, %.loc2_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -196,11 +196,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %.loc7_8.2: type = converted %int.make_type_32.loc7, %.loc7_8.1 [template = i32] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc9_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc9_19.1: type = value_of_initializer %int.make_type_32.loc9_19 [template = i32] @@ -211,11 +211,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc9_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc9_35.1: type = value_of_initializer %int.make_type_32.loc9_35 [template = i32] // CHECK:STDOUT: %.loc9_35.2: type = converted %int.make_type_32.loc9_35, %.loc9_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -309,21 +309,21 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TooFew.decl: %TooFew.type = fn_decl @TooFew [template = constants.%TooFew] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_16.2: type = converted %int.make_type_32, %.loc8_16.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TooMany.decl: %TooMany.type = fn_decl @TooMany [template = constants.%TooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_15.1: type = value_of_initializer %int.make_type_32.loc13_15 [template = i32] @@ -334,18 +334,18 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc13_31: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32.loc13_31 [template = i32] // CHECK:STDOUT: %.loc13_31.2: type = converted %int.make_type_32.loc13_31, %.loc13_31.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %BadReturnType.decl: %BadReturnType.type = fn_decl @BadReturnType [template = constants.%BadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_21.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -353,16 +353,16 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc18_29.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc18_29.2: type = converted %bool.make_type, %.loc18_29.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: bool = param runtime_param1 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %JustRight.decl: %JustRight.type = fn_decl @JustRight [template = constants.%JustRight] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc19_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_17.1: type = value_of_initializer %int.make_type_32.loc19_17 [template = i32] @@ -370,9 +370,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32] // CHECK:STDOUT: %.loc19_25.2: type = converted %int.make_type_32.loc19_25, %.loc19_25.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc25: init type = call constants.%Int32() [template = i32] @@ -404,9 +404,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %bad_call: ref = bind_name bad_call, %bad_call.var // CHECK:STDOUT: %RuntimeCallTooFew.decl: %RuntimeCallTooFew.type = fn_decl @RuntimeCallTooFew [template = constants.%RuntimeCallTooFew] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc46_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc46_25.1: type = value_of_initializer %int.make_type_32.loc46_25 [template = i32] @@ -414,20 +414,20 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc46_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc46_33.1: type = value_of_initializer %int.make_type_32.loc46_33 [template = i32] // CHECK:STDOUT: %.loc46_33.2: type = converted %int.make_type_32.loc46_33, %.loc46_33.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallTooMany.decl: %RuntimeCallTooMany.type = fn_decl @RuntimeCallTooMany [template = constants.%RuntimeCallTooMany] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: i32 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: i32 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: i32 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc57_26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc57_26.1: type = value_of_initializer %int.make_type_32.loc57_26 [template = i32] @@ -441,22 +441,22 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc57_50: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc57_50.1: type = value_of_initializer %int.make_type_32.loc57_50 [template = i32] // CHECK:STDOUT: %.loc57_50.2: type = converted %int.make_type_32.loc57_50, %.loc57_50.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: i32 = param runtime_param2 +// CHECK:STDOUT: %c.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %c: i32 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %RuntimeCallBadReturnType.decl: %RuntimeCallBadReturnType.type = fn_decl @RuntimeCallBadReturnType [template = constants.%RuntimeCallBadReturnType] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc68_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc68_32.1: type = value_of_initializer %int.make_type_32.loc68_32 [template = i32] @@ -467,11 +467,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc68_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc68_48.2: type = converted %bool.make_type, %.loc68_48.1 [template = bool] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -554,9 +554,9 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Negate.decl: %Negate.type = fn_decl @Negate [template = constants.%Negate] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer %int.make_type_32.loc4_14 [template = i32] @@ -564,18 +564,18 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc4_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_22.1: type = value_of_initializer %int.make_type_32.loc4_22 [template = i32] // CHECK:STDOUT: %.loc4_22.2: type = converted %int.make_type_32.loc4_22, %.loc4_22.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_11.1: type = value_of_initializer %int.make_type_32.loc5_11 [template = i32] @@ -586,11 +586,11 @@ let b: i32 = Negate(Sub(Negate(0x7FFFFFFF), 1)); // CHECK:STDOUT: %int.make_type_32.loc5_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_27.1: type = value_of_initializer %int.make_type_32.loc5_27 [template = i32] // CHECK:STDOUT: %.loc5_27.2: type = converted %int.make_type_32.loc5_27, %.loc5_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc8: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/usub.carbon b/toolchain/check/testdata/builtins/int/usub.carbon index 8f752ac2948f..a80ccbb1a942 100644 --- a/toolchain/check/testdata/builtins/int/usub.carbon +++ b/toolchain/check/testdata/builtins/int/usub.carbon @@ -72,11 +72,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -87,11 +87,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -112,11 +112,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -127,11 +127,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -201,11 +201,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Sub.decl: %Sub.type = fn_decl @Sub [template = constants.%Sub] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4_11 [template = i32] @@ -216,11 +216,11 @@ let c: i32 = Sub(Sub(0, 0x7FFFFFFF), 2); // CHECK:STDOUT: %int.make_type_32.loc4_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32.loc4_27 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32.loc4_27, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/builtins/int/xor.carbon b/toolchain/check/testdata/builtins/int/xor.carbon index a2f1c394b9cd..77daf634c7c8 100644 --- a/toolchain/check/testdata/builtins/int/xor.carbon +++ b/toolchain/check/testdata/builtins/int/xor.carbon @@ -62,11 +62,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Xor.decl: %Xor.type = fn_decl @Xor [template = constants.%Xor] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc2_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_11.1: type = value_of_initializer %int.make_type_32.loc2_11 [template = i32] @@ -77,11 +77,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc2_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_27.1: type = value_of_initializer %int.make_type_32.loc2_27 [template = i32] // CHECK:STDOUT: %.loc2_27.2: type = converted %int.make_type_32.loc2_27, %.loc2_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] @@ -102,11 +102,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %.loc5_20: type = ptr_type %.5 [template = constants.%.6] // CHECK:STDOUT: %RuntimeCall.decl: %RuntimeCall.type = fn_decl @RuntimeCall [template = constants.%RuntimeCall] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_19.1: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] @@ -117,11 +117,11 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc7_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_35.1: type = value_of_initializer %int.make_type_32.loc7_35 [template = i32] // CHECK:STDOUT: %.loc7_35.2: type = converted %int.make_type_32.loc7_35, %.loc7_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/builtins/print.carbon b/toolchain/check/testdata/builtins/print.carbon index 7848be08d91d..0c8013f8baf7 100644 --- a/toolchain/check/testdata/builtins/print.carbon +++ b/toolchain/check/testdata/builtins/print.carbon @@ -58,12 +58,12 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Print.decl: %Print.type.1 = fn_decl @Print.1 [template = constants.%Print.1] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_13.2: type = converted %int.make_type_32, %.loc11_13.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/class/access_modifers.carbon b/toolchain/check/testdata/class/access_modifers.carbon index 06557fe77548..b22def829966 100644 --- a/toolchain/check/testdata/class/access_modifers.carbon +++ b/toolchain/check/testdata/class/access_modifers.carbon @@ -205,20 +205,20 @@ class A { // CHECK:STDOUT: %SOME_INTERNAL_CONSTANT: i32 = bind_name SOME_INTERNAL_CONSTANT, %.loc6_45 // CHECK:STDOUT: %SomeInternalFunction.decl: %SomeInternalFunction.type = fn_decl @SomeInternalFunction [template = constants.%SomeInternalFunction] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_40.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_40.2: type = converted %int.make_type_32, %.loc8_40.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %Circle = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Circle = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Circle = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Circle [template = constants.%Circle] -// CHECK:STDOUT: %return.param: %Circle = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Circle = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Circle = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.4 [template = constants.%.5] @@ -394,42 +394,42 @@ class A { // CHECK:STDOUT: %.loc5_21: %.2 = field_decl radius, element0 [template] // CHECK:STDOUT: %GetRadius.decl: %GetRadius.type = fn_decl @GetRadius [template = constants.%GetRadius] { // CHECK:STDOUT: %self.patt: %Circle = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Circle = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Circle = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Circle [template = constants.%Circle] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_33.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc7_33.2: type = converted %int.make_type_32, %.loc7_33.1 [template = i32] -// CHECK:STDOUT: %self.param: %Circle = param runtime_param0 +// CHECK:STDOUT: %self.param: %Circle = value_param runtime_param0 // CHECK:STDOUT: %self: %Circle = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %SomeInternalFunction.decl: %SomeInternalFunction.type = fn_decl @SomeInternalFunction [template = constants.%SomeInternalFunction] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_40.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_40.2: type = converted %int.make_type_32, %.loc11_40.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Compute.decl: %Compute.type = fn_decl @Compute [template = constants.%Compute] { // CHECK:STDOUT: %self.patt: %Circle = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Circle = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Circle = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Circle [template = constants.%Circle] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_31.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_31.2: type = converted %int.make_type_32, %.loc15_31.1 [template = i32] -// CHECK:STDOUT: %self.param: %Circle = param runtime_param0 +// CHECK:STDOUT: %self.param: %Circle = value_param runtime_param0 // CHECK:STDOUT: %self: %Circle = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc18: = complete_type_witness %.3 [template = constants.%.4] diff --git a/toolchain/check/testdata/class/adapt.carbon b/toolchain/check/testdata/class/adapt.carbon index 05bf0eb8cea1..c15d14c82158 100644 --- a/toolchain/check/testdata/class/adapt.carbon +++ b/toolchain/check/testdata/class/adapt.carbon @@ -173,10 +173,10 @@ fn F(a: AdaptNotExtend) { // CHECK:STDOUT: %AdaptNotExtend.decl: type = class_decl @AdaptNotExtend [template = constants.%AdaptNotExtend] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %a.patt: %AdaptNotExtend = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %AdaptNotExtend = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %AdaptNotExtend = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptNotExtend.ref: type = name_ref AdaptNotExtend, file.%AdaptNotExtend.decl [template = constants.%AdaptNotExtend] -// CHECK:STDOUT: %a.param: %AdaptNotExtend = param runtime_param0 +// CHECK:STDOUT: %a.param: %AdaptNotExtend = value_param runtime_param0 // CHECK:STDOUT: %a: %AdaptNotExtend = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/base.carbon b/toolchain/check/testdata/class/base.carbon index fc8d9b62be61..368887933710 100644 --- a/toolchain/check/testdata/class/base.carbon +++ b/toolchain/check/testdata/class/base.carbon @@ -87,17 +87,17 @@ fn Access(d: Derived) -> (i32, i32) { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %Derived = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Derived = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Derived = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] -// CHECK:STDOUT: %return.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Derived = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Derived = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Access.decl: %Access.type = fn_decl @Access [template = constants.%Access] { // CHECK:STDOUT: %d.patt: %Derived = binding_pattern d -// CHECK:STDOUT: %d.param_patt: %Derived = param_pattern %d.patt, runtime_param0 +// CHECK:STDOUT: %d.param_patt: %Derived = value_param_pattern %d.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.17 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.17 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.17 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32.loc25_27: init type = call constants.%Int32() [template = i32] @@ -108,9 +108,9 @@ fn Access(d: Derived) -> (i32, i32) { // CHECK:STDOUT: %.loc25_35.4: type = value_of_initializer %int.make_type_32.loc25_32 [template = i32] // CHECK:STDOUT: %.loc25_35.5: type = converted %int.make_type_32.loc25_32, %.loc25_35.4 [template = i32] // CHECK:STDOUT: %.loc25_35.6: type = converted %.loc25_35.1, constants.%.17 [template = constants.%.17] -// CHECK:STDOUT: %d.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %d.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %d: %Derived = bind_name d, %d.param -// CHECK:STDOUT: %return.param: %.17 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.17 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.17 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/base_field.carbon b/toolchain/check/testdata/class/base_field.carbon index d62483f71808..f6acb815faf8 100644 --- a/toolchain/check/testdata/class/base_field.carbon +++ b/toolchain/check/testdata/class/base_field.carbon @@ -77,9 +77,9 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Access.decl: %Access.type = fn_decl @Access [template = constants.%Access] { // CHECK:STDOUT: %p.patt: %.10 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.10 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.10 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.11 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.11 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.11 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %.loc24_21: type = ptr_type %Derived [template = constants.%.10] @@ -87,9 +87,9 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc24_30.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc24_30.2: type = converted %int.make_type_32, %.loc24_30.1 [template = i32] // CHECK:STDOUT: %.loc24_30.3: type = ptr_type i32 [template = constants.%.11] -// CHECK:STDOUT: %p.param: %.10 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.10 = value_param runtime_param0 // CHECK:STDOUT: %p: %.10 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.11 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.11 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.11 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/base_method.carbon b/toolchain/check/testdata/class/base_method.carbon index bb353569302e..dc0ae6ad7d22 100644 --- a/toolchain/check/testdata/class/base_method.carbon +++ b/toolchain/check/testdata/class/base_method.carbon @@ -78,22 +78,22 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %Base.decl: type = class_decl @Base [template = constants.%Base] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc17_11: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc17: type = name_ref Self, constants.%Base [template = constants.%Base] // CHECK:STDOUT: %.loc17_26: type = ptr_type %Base [template = constants.%.3] -// CHECK:STDOUT: %self.param.loc17: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc17: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self.loc17: %.3 = bind_name self, %self.param.loc17 // CHECK:STDOUT: } // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %p.patt: %.11 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.11 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.11 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %.loc25: type = ptr_type %Derived [template = constants.%.11] -// CHECK:STDOUT: %p.param: %.11 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.11 = value_param runtime_param0 // CHECK:STDOUT: %p: %.11 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -105,12 +105,12 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %.loc12_8: %.2 = field_decl a, element0 [template] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc17_11: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, constants.%Base [template = constants.%Base] // CHECK:STDOUT: %.loc14: type = ptr_type %Base [template = constants.%.3] -// CHECK:STDOUT: %self.param.loc14: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc14: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self.loc14: %.3 = bind_name self, %self.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.4 [template = constants.%.5] diff --git a/toolchain/check/testdata/class/base_method_qualified.carbon b/toolchain/check/testdata/class/base_method_qualified.carbon index 5affc9ff0d03..81c9a6356df7 100644 --- a/toolchain/check/testdata/class/base_method_qualified.carbon +++ b/toolchain/check/testdata/class/base_method_qualified.carbon @@ -104,64 +104,64 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %Derived.decl.loc18: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %a.patt: %Derived = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %Derived = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %Derived = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc25_24.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc25_24.2: type = converted %int.make_type_32, %.loc25_24.1 [template = i32] -// CHECK:STDOUT: %a.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %a.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %a: %Derived = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallIndirect.decl: %CallIndirect.type = fn_decl @CallIndirect [template = constants.%CallIndirect] { // CHECK:STDOUT: %p.patt: %.10 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.10 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.10 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [template = constants.%Derived] // CHECK:STDOUT: %.loc29_27: type = ptr_type %Derived [template = constants.%.10] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc29_33.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc29_33.2: type = converted %int.make_type_32, %.loc29_33.1 [template = i32] -// CHECK:STDOUT: %p.param: %.10 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.10 = value_param runtime_param0 // CHECK:STDOUT: %p: %.10 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %PassDerivedToBase.decl: %PassDerivedToBase.type = fn_decl @PassDerivedToBase [template = constants.%PassDerivedToBase] { // CHECK:STDOUT: %a.patt: %Derived = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %Derived = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %Derived = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc33_37.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc33_37.2: type = converted %int.make_type_32, %.loc33_37.1 [template = i32] -// CHECK:STDOUT: %a.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %a.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %a: %Derived = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %PassDerivedToBaseIndirect.decl: %PassDerivedToBaseIndirect.type = fn_decl @PassDerivedToBaseIndirect [template = constants.%PassDerivedToBaseIndirect] { // CHECK:STDOUT: %p.patt: %.10 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.10 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.10 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [template = constants.%Derived] // CHECK:STDOUT: %.loc37_40: type = ptr_type %Derived [template = constants.%.10] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc37_46.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc37_46.2: type = converted %int.make_type_32, %.loc37_46.1 [template = i32] -// CHECK:STDOUT: %p.param: %.10 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.10 = value_param runtime_param0 // CHECK:STDOUT: %p: %.10 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -171,18 +171,18 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %.loc19: %.5 = base_decl %Base, element0 [template] // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %self.patt: %Derived = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Derived = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Derived = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Derived [template = constants.%Derived] -// CHECK:STDOUT: %self.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %self.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %self: %Derived = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type.2 = fn_decl @G.2 [template = constants.%G.2] { // CHECK:STDOUT: %self.patt: %Derived = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Derived = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Derived = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Derived [template = constants.%Derived] -// CHECK:STDOUT: %self.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %self.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %self: %Derived = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc23: = complete_type_witness %.6 [template = constants.%.7] @@ -198,32 +198,32 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: class @Base { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %Base = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Base = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Base = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_25.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_25.2: type = converted %int.make_type_32, %.loc14_25.1 [template = i32] -// CHECK:STDOUT: %self.param: %Base = param runtime_param0 +// CHECK:STDOUT: %self.param: %Base = value_param runtime_param0 // CHECK:STDOUT: %self: %Base = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type.1 = fn_decl @G.1 [template = constants.%G.1] { // CHECK:STDOUT: %self.patt: %Derived = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Derived = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Derived = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_28.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_28.2: type = converted %int.make_type_32, %.loc15_28.1 [template = i32] -// CHECK:STDOUT: %self.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %self.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %self: %Derived = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/base_method_shadow.carbon b/toolchain/check/testdata/class/base_method_shadow.carbon index e8ccba97c96e..76cde627d4dd 100644 --- a/toolchain/check/testdata/class/base_method_shadow.carbon +++ b/toolchain/check/testdata/class/base_method_shadow.carbon @@ -98,13 +98,13 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %a.patt: %.1 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.1 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.1 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %.7 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %.7 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %.7 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: %.13 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %.13 = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: %.13 = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %d.patt: %.17 = binding_pattern d -// CHECK:STDOUT: %d.param_patt: %.17 = param_pattern %d.patt, runtime_param3 +// CHECK:STDOUT: %d.param_patt: %.17 = value_param_pattern %d.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc29_13: type = ptr_type %A [template = constants.%.1] @@ -114,13 +114,13 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %.loc29_27: type = ptr_type %C [template = constants.%.13] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %.loc29_34: type = ptr_type %D [template = constants.%.17] -// CHECK:STDOUT: %a.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %a: %.1 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %.7 = param runtime_param1 +// CHECK:STDOUT: %b.param: %.7 = value_param runtime_param1 // CHECK:STDOUT: %b: %.7 = bind_name b, %b.param -// CHECK:STDOUT: %c.param: %.13 = param runtime_param2 +// CHECK:STDOUT: %c.param: %.13 = value_param runtime_param2 // CHECK:STDOUT: %c: %.13 = bind_name c, %c.param -// CHECK:STDOUT: %d.param: %.17 = param runtime_param3 +// CHECK:STDOUT: %d.param: %.17 = value_param runtime_param3 // CHECK:STDOUT: %d: %.17 = bind_name d, %d.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -128,12 +128,12 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: class @A { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.1 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.1 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc12_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%A [template = constants.%A] // CHECK:STDOUT: %.loc12_23: type = ptr_type %A [template = constants.%.1] -// CHECK:STDOUT: %self.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self: %.1 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: = complete_type_witness %.3 [template = constants.%.4] @@ -148,12 +148,12 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %.loc16: %.6 = base_decl %A, element0 [template] // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %self.patt: %.7 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.7 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.7 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc17_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [template = constants.%B] // CHECK:STDOUT: %.loc17_23: type = ptr_type %B [template = constants.%.7] -// CHECK:STDOUT: %self.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %self: %.7 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc18: = complete_type_witness %.8 [template = constants.%.9] @@ -170,12 +170,12 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %.loc21: %.12 = base_decl %B, element0 [template] // CHECK:STDOUT: %F.decl: %F.type.3 = fn_decl @F.3 [template = constants.%F.3] { // CHECK:STDOUT: %self.patt: %.13 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.13 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.13 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc22_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] // CHECK:STDOUT: %.loc22_23: type = ptr_type %C [template = constants.%.13] -// CHECK:STDOUT: %self.param: %.13 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.13 = value_param runtime_param0 // CHECK:STDOUT: %self: %.13 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc23: = complete_type_witness %.14 [template = constants.%.15] diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index cdcdc5f168e0..9e8fb185c8aa 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -71,9 +71,9 @@ fn Run() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc21_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_15.1: type = value_of_initializer %int.make_type_32.loc21_15 [template = i32] @@ -81,19 +81,19 @@ fn Run() -> i32 { // CHECK:STDOUT: %int.make_type_32.loc21_23: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_23.1: type = value_of_initializer %int.make_type_32.loc21_23 [template = i32] // CHECK:STDOUT: %.loc21_23.2: type = converted %int.make_type_32.loc21_23, %.loc21_23.1 [template = i32] -// CHECK:STDOUT: %n.param.loc21: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc21: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc21: i32 = bind_name n, %n.param.loc21 -// CHECK:STDOUT: %return.param.loc21: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc21: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc25_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc25_13.2: type = converted %int.make_type_32, %.loc25_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -101,9 +101,9 @@ fn Run() -> i32 { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %int.make_type_32.loc12_11 [template = i32] @@ -111,16 +111,16 @@ fn Run() -> i32 { // CHECK:STDOUT: %int.make_type_32.loc12_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_19.1: type = value_of_initializer %int.make_type_32.loc12_19 [template = i32] // CHECK:STDOUT: %.loc12_19.2: type = converted %int.make_type_32.loc12_19, %.loc12_19.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_11.1: type = value_of_initializer %int.make_type_32.loc16_11 [template = i32] @@ -128,9 +128,9 @@ fn Run() -> i32 { // CHECK:STDOUT: %int.make_type_32.loc16_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_19.1: type = value_of_initializer %int.make_type_32.loc16_19 [template = i32] // CHECK:STDOUT: %.loc16_19.2: type = converted %int.make_type_32.loc16_19, %.loc16_19.1 [template = i32] -// CHECK:STDOUT: %n.param.loc16: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc16: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc16: i32 = bind_name n, %n.param.loc16 -// CHECK:STDOUT: %return.param.loc16: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc16: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc16_16: ref i32 = return_slot %return.param.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/class/complete_in_member_fn.carbon b/toolchain/check/testdata/class/complete_in_member_fn.carbon index 37a10fb8cb91..5f1089f5d32f 100644 --- a/toolchain/check/testdata/class/complete_in_member_fn.carbon +++ b/toolchain/check/testdata/class/complete_in_member_fn.carbon @@ -56,17 +56,17 @@ class C { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_17.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_17.2: type = converted %int.make_type_32, %.loc12_17.1 [template = i32] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/class/compound_field.carbon b/toolchain/check/testdata/class/compound_field.carbon index 64b74a5518e6..36b8e12783ec 100644 --- a/toolchain/check/testdata/class/compound_field.carbon +++ b/toolchain/check/testdata/class/compound_field.carbon @@ -98,39 +98,39 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %AccessDerived.decl: %AccessDerived.type = fn_decl @AccessDerived [template = constants.%AccessDerived] { // CHECK:STDOUT: %d.patt: %Derived = binding_pattern d -// CHECK:STDOUT: %d.param_patt: %Derived = param_pattern %d.patt, runtime_param0 +// CHECK:STDOUT: %d.param_patt: %Derived = value_param_pattern %d.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref.loc24: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc24_33.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc24_33.2: type = converted %int.make_type_32, %.loc24_33.1 [template = i32] -// CHECK:STDOUT: %d.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %d.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %d: %Derived = bind_name d, %d.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessBase.decl: %AccessBase.type = fn_decl @AccessBase [template = constants.%AccessBase] { // CHECK:STDOUT: %d.patt: %Derived = binding_pattern d -// CHECK:STDOUT: %d.param_patt: %Derived = param_pattern %d.patt, runtime_param0 +// CHECK:STDOUT: %d.param_patt: %Derived = value_param_pattern %d.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc28_30.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc28_30.2: type = converted %int.make_type_32, %.loc28_30.1 [template = i32] -// CHECK:STDOUT: %d.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %d.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %d: %Derived = bind_name d, %d.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessDerivedIndirect.decl: %AccessDerivedIndirect.type = fn_decl @AccessDerivedIndirect [template = constants.%AccessDerivedIndirect] { // CHECK:STDOUT: %p.patt: %.13 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.13 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.13 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.14 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.14 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.14 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref.loc32: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %.loc32_36: type = ptr_type %Derived [template = constants.%.13] @@ -138,16 +138,16 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc32_45.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc32_45.2: type = converted %int.make_type_32, %.loc32_45.1 [template = i32] // CHECK:STDOUT: %.loc32_45.3: type = ptr_type i32 [template = constants.%.14] -// CHECK:STDOUT: %p.param: %.13 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.13 = value_param runtime_param0 // CHECK:STDOUT: %p: %.13 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.14 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.14 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.14 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessBaseIndirect.decl: %AccessBaseIndirect.type = fn_decl @AccessBaseIndirect [template = constants.%AccessBaseIndirect] { // CHECK:STDOUT: %p.patt: %.13 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.13 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.13 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.14 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.14 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.14 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %.loc36_33: type = ptr_type %Derived [template = constants.%.13] @@ -155,9 +155,9 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %.loc36_42.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc36_42.2: type = converted %int.make_type_32, %.loc36_42.1 [template = i32] // CHECK:STDOUT: %.loc36_42.3: type = ptr_type i32 [template = constants.%.14] -// CHECK:STDOUT: %p.param: %.13 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.13 = value_param runtime_param0 // CHECK:STDOUT: %p: %.13 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.14 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.14 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.14 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/derived_to_base.carbon b/toolchain/check/testdata/class/derived_to_base.carbon index d4c82bfbda50..7de4441754ce 100644 --- a/toolchain/check/testdata/class/derived_to_base.carbon +++ b/toolchain/check/testdata/class/derived_to_base.carbon @@ -124,70 +124,70 @@ fn ConvertInit() { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %ConvertCToB.decl: %ConvertCToB.type = fn_decl @ConvertCToB [template = constants.%ConvertCToB] { // CHECK:STDOUT: %p.patt: %.17 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.17 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.17 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.18 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.18 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.18 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc25_20: type = ptr_type %C [template = constants.%.17] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %.loc25_27: type = ptr_type %B [template = constants.%.18] -// CHECK:STDOUT: %p.param: %.17 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.17 = value_param runtime_param0 // CHECK:STDOUT: %p: %.17 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.18 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.18 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.18 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ConvertBToA.decl: %ConvertBToA.type = fn_decl @ConvertBToA [template = constants.%ConvertBToA] { // CHECK:STDOUT: %p.patt: %.18 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.18 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.18 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.22 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.22 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.22 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %.loc26_20: type = ptr_type %B [template = constants.%.18] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc26_27: type = ptr_type %A [template = constants.%.22] -// CHECK:STDOUT: %p.param: %.18 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.18 = value_param runtime_param0 // CHECK:STDOUT: %p: %.18 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.22 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.22 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.22 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ConvertCToA.decl: %ConvertCToA.type = fn_decl @ConvertCToA [template = constants.%ConvertCToA] { // CHECK:STDOUT: %p.patt: %.17 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.17 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.17 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.22 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.22 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.22 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc27_20: type = ptr_type %C [template = constants.%.17] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc27_27: type = ptr_type %A [template = constants.%.22] -// CHECK:STDOUT: %p.param: %.17 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.17 = value_param runtime_param0 // CHECK:STDOUT: %p: %.17 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.22 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.22 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.22 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ConvertValue.decl: %ConvertValue.type = fn_decl @ConvertValue [template = constants.%ConvertValue] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %ConvertRef.decl: %ConvertRef.type = fn_decl @ConvertRef [template = constants.%ConvertRef] { // CHECK:STDOUT: %c.patt: %.17 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %.17 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %.17 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.22 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.22 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.22 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc33_19: type = ptr_type %C [template = constants.%.17] // CHECK:STDOUT: %A.ref.loc33: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc33_26: type = ptr_type %A [template = constants.%.22] -// CHECK:STDOUT: %c.param: %.17 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.17 = value_param runtime_param0 // CHECK:STDOUT: %c: %.17 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.22 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.22 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.22 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ConvertInit.decl: %ConvertInit.type = fn_decl @ConvertInit [template = constants.%ConvertInit] {} {} diff --git a/toolchain/check/testdata/class/extend_adapt.carbon b/toolchain/check/testdata/class/extend_adapt.carbon index da88ba505ea9..ac5f3806c0f4 100644 --- a/toolchain/check/testdata/class/extend_adapt.carbon +++ b/toolchain/check/testdata/class/extend_adapt.carbon @@ -148,18 +148,18 @@ class StructAdapter { // CHECK:STDOUT: %SomeClassAdapter.decl.loc15: type = class_decl @SomeClassAdapter [template = constants.%SomeClassAdapter] {} {} // CHECK:STDOUT: %TestStaticMemberFunction.decl: %TestStaticMemberFunction.type = fn_decl @TestStaticMemberFunction [template = constants.%TestStaticMemberFunction] { // CHECK:STDOUT: %a.patt: %SomeClassAdapter = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl.loc4 [template = constants.%SomeClassAdapter] -// CHECK:STDOUT: %a.param: %SomeClassAdapter = param runtime_param0 +// CHECK:STDOUT: %a.param: %SomeClassAdapter = value_param runtime_param0 // CHECK:STDOUT: %a: %SomeClassAdapter = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAdapterMethod.decl: %TestAdapterMethod.type = fn_decl @TestAdapterMethod [template = constants.%TestAdapterMethod] { // CHECK:STDOUT: %a.patt: %SomeClassAdapter = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl.loc4 [template = constants.%SomeClassAdapter] -// CHECK:STDOUT: %a.param: %SomeClassAdapter = param runtime_param0 +// CHECK:STDOUT: %a.param: %SomeClassAdapter = value_param runtime_param0 // CHECK:STDOUT: %a: %SomeClassAdapter = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -186,10 +186,10 @@ class StructAdapter { // CHECK:STDOUT: %StaticMemberFunction.decl: %StaticMemberFunction.type = fn_decl @StaticMemberFunction [template = constants.%StaticMemberFunction] {} {} // CHECK:STDOUT: %AdapterMethod.decl: %AdapterMethod.type = fn_decl @AdapterMethod [template = constants.%AdapterMethod] { // CHECK:STDOUT: %self.patt: %SomeClassAdapter = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %SomeClassAdapter = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %SomeClassAdapter = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl.loc4 [template = constants.%SomeClassAdapter] -// CHECK:STDOUT: %self.param: %SomeClassAdapter = param runtime_param0 +// CHECK:STDOUT: %self.param: %SomeClassAdapter = value_param runtime_param0 // CHECK:STDOUT: %self: %SomeClassAdapter = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: = complete_type_witness %.3 [template = constants.%.4] @@ -290,10 +290,10 @@ class StructAdapter { // CHECK:STDOUT: %SomeClassAdapter.decl: type = class_decl @SomeClassAdapter [template = constants.%SomeClassAdapter] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %a.patt: %SomeClassAdapter = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl [template = constants.%SomeClassAdapter] -// CHECK:STDOUT: %a.param: %SomeClassAdapter = param runtime_param0 +// CHECK:STDOUT: %a.param: %SomeClassAdapter = value_param runtime_param0 // CHECK:STDOUT: %a: %SomeClassAdapter = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -321,10 +321,10 @@ class StructAdapter { // CHECK:STDOUT: class @SomeClass { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %SomeClass = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %SomeClass = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %SomeClass = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%SomeClass [template = constants.%SomeClass] -// CHECK:STDOUT: %self.param: %SomeClass = param runtime_param0 +// CHECK:STDOUT: %self.param: %SomeClass = value_param runtime_param0 // CHECK:STDOUT: %self: %SomeClass = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6: = complete_type_witness %.2 [template = constants.%.3] @@ -469,17 +469,17 @@ class StructAdapter { // CHECK:STDOUT: %SomeClassAdapter.decl: type = class_decl @SomeClassAdapter [template = constants.%SomeClassAdapter] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: %SomeClassAdapter = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %SomeClassAdapter = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl [template = constants.%SomeClassAdapter] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_30.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_30.2: type = converted %int.make_type_32, %.loc13_30.1 [template = i32] -// CHECK:STDOUT: %a.param: %SomeClassAdapter = param runtime_param0 +// CHECK:STDOUT: %a.param: %SomeClassAdapter = value_param runtime_param0 // CHECK:STDOUT: %a: %SomeClassAdapter = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_abstract.carbon b/toolchain/check/testdata/class/fail_abstract.carbon index 8de9266208fc..e887fdcd9016 100644 --- a/toolchain/check/testdata/class/fail_abstract.carbon +++ b/toolchain/check/testdata/class/fail_abstract.carbon @@ -326,10 +326,10 @@ fn CallReturnAbstract() { // CHECK:STDOUT: %Abstract.decl: type = class_decl @Abstract [template = constants.%Abstract] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: %Abstract = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %Abstract = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %Abstract = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Abstract.ref.loc7: type = name_ref Abstract, file.%Abstract.decl [template = constants.%Abstract] -// CHECK:STDOUT: %a.param: %Abstract = param runtime_param0 +// CHECK:STDOUT: %a.param: %Abstract = value_param runtime_param0 // CHECK:STDOUT: %a: %Abstract = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -438,18 +438,18 @@ fn CallReturnAbstract() { // CHECK:STDOUT: %Abstract.decl: type = class_decl @Abstract [template = constants.%Abstract] {} {} // CHECK:STDOUT: %Param.decl: %Param.type = fn_decl @Param [template = constants.%Param] { // CHECK:STDOUT: %a.patt: %Abstract = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %Abstract = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %Abstract = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, file.%Abstract.decl [template = constants.%Abstract] -// CHECK:STDOUT: %a.param: %Abstract = param runtime_param0 +// CHECK:STDOUT: %a.param: %Abstract = value_param runtime_param0 // CHECK:STDOUT: %a: %Abstract = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %p.patt: %Abstract = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %Abstract = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %Abstract = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, file.%Abstract.decl [template = constants.%Abstract] -// CHECK:STDOUT: %p.param: %Abstract = param runtime_param0 +// CHECK:STDOUT: %p.param: %Abstract = value_param runtime_param0 // CHECK:STDOUT: %p: %Abstract = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -524,10 +524,10 @@ fn CallReturnAbstract() { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %Derived = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Derived = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Derived = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] -// CHECK:STDOUT: %return.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Derived = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Derived = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -612,15 +612,15 @@ fn CallReturnAbstract() { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Return.decl: %Return.type = fn_decl @Return [template = constants.%Return] { // CHECK:STDOUT: %a.patt: %Abstract = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %Abstract = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %Abstract = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %Abstract = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Abstract = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %Abstract = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Abstract.ref.loc13_14: type = name_ref Abstract, file.%Abstract.decl [template = constants.%Abstract] // CHECK:STDOUT: %Abstract.ref.loc13_27: type = name_ref Abstract, file.%Abstract.decl [template = constants.%Abstract] -// CHECK:STDOUT: %a.param: %Abstract = param runtime_param0 +// CHECK:STDOUT: %a.param: %Abstract = value_param runtime_param0 // CHECK:STDOUT: %a: %Abstract = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %Abstract = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %Abstract = out_param runtime_param1 // CHECK:STDOUT: %return: ref %Abstract = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -706,17 +706,17 @@ fn CallReturnAbstract() { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %Access.decl: %Access.type = fn_decl @Access [template = constants.%Access] { // CHECK:STDOUT: %d.patt: %Derived = binding_pattern d -// CHECK:STDOUT: %d.param_patt: %Derived = param_pattern %d.patt, runtime_param0 +// CHECK:STDOUT: %d.param_patt: %Derived = value_param_pattern %d.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_26.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_26.2: type = converted %int.make_type_32, %.loc14_26.1 [template = i32] -// CHECK:STDOUT: %d.param: %Derived = param runtime_param0 +// CHECK:STDOUT: %d.param: %Derived = value_param runtime_param0 // CHECK:STDOUT: %d: %Derived = bind_name d, %d.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -848,10 +848,10 @@ fn CallReturnAbstract() { // CHECK:STDOUT: %Abstract.decl: type = class_decl @Abstract [template = constants.%Abstract] {} {} // CHECK:STDOUT: %ReturnAbstract.decl: %ReturnAbstract.type = fn_decl @ReturnAbstract [template = constants.%ReturnAbstract] { // CHECK:STDOUT: %return.patt: %Abstract = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Abstract = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Abstract = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Abstract.ref: type = name_ref Abstract, file.%Abstract.decl [template = constants.%Abstract] -// CHECK:STDOUT: %return.param: %Abstract = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Abstract = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Abstract = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallReturnAbstract.decl: %CallReturnAbstract.type = fn_decl @CallReturnAbstract [template = constants.%CallReturnAbstract] {} {} diff --git a/toolchain/check/testdata/class/fail_adapt_bad_decl.carbon b/toolchain/check/testdata/class/fail_adapt_bad_decl.carbon index fdf566e29038..f32ba22144b3 100644 --- a/toolchain/check/testdata/class/fail_adapt_bad_decl.carbon +++ b/toolchain/check/testdata/class/fail_adapt_bad_decl.carbon @@ -159,10 +159,10 @@ class C { // CHECK:STDOUT: %Bad.decl: type = class_decl @Bad [template = constants.%Bad] {} {} // CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [template = constants.%Use] { // CHECK:STDOUT: %b.patt: %Bad = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %Bad = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %Bad = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Bad.ref: type = name_ref Bad, file.%Bad.decl [template = constants.%Bad] -// CHECK:STDOUT: %b.param: %Bad = param runtime_param0 +// CHECK:STDOUT: %b.param: %Bad = value_param runtime_param0 // CHECK:STDOUT: %b: %Bad = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -306,10 +306,10 @@ class C { // CHECK:STDOUT: %Bad.decl: type = class_decl @Bad [template = constants.%Bad] {} {} // CHECK:STDOUT: %Use.decl: %Use.type = fn_decl @Use [template = constants.%Use] { // CHECK:STDOUT: %b.patt: %Bad = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %Bad = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %Bad = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Bad.ref: type = name_ref Bad, file.%Bad.decl [template = constants.%Bad] -// CHECK:STDOUT: %b.param: %Bad = param runtime_param0 +// CHECK:STDOUT: %b.param: %Bad = value_param runtime_param0 // CHECK:STDOUT: %b: %Bad = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_addr_not_self.carbon b/toolchain/check/testdata/class/fail_addr_not_self.carbon index 850fd6af246c..7cbdfb854b16 100644 --- a/toolchain/check/testdata/class/fail_addr_not_self.carbon +++ b/toolchain/check/testdata/class/fail_addr_not_self.carbon @@ -62,20 +62,20 @@ class Class { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt.loc16_13.2: %.1 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc16_13.1 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: %.1 = param_pattern %a.patt.loc16_13.2, runtime_param [symbolic = %a.patt.loc16_13.1 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: %.1 = value_param_pattern %a.patt.loc16_13.2, runtime_param [symbolic = %a.patt.loc16_13.1 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc16: type = ptr_type %Class [template = constants.%.1] -// CHECK:STDOUT: %a.param: %.1 = param runtime_param +// CHECK:STDOUT: %a.param: %.1 = value_param runtime_param // CHECK:STDOUT: %a.loc16_13.2: %.1 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc16_13.1 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %b.patt: %.1 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %.1 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %.1 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc21: type = ptr_type %Class [template = constants.%.1] -// CHECK:STDOUT: %b.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %b.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %b: %.1 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = complete_type_witness %.3 [template = constants.%.4] diff --git a/toolchain/check/testdata/class/fail_addr_self.carbon b/toolchain/check/testdata/class/fail_addr_self.carbon index b77bcb5a72b9..091a9243b896 100644 --- a/toolchain/check/testdata/class/fail_addr_self.carbon +++ b/toolchain/check/testdata/class/fail_addr_self.carbon @@ -74,16 +74,16 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %p.patt: %.1 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.1 = param_pattern %p.patt, runtime_param1 +// CHECK:STDOUT: %p.param_patt: %.1 = value_param_pattern %p.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc20_9: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %Class.ref.loc20_19: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc20: type = ptr_type %Class [template = constants.%.1] -// CHECK:STDOUT: %c.param: %Class = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %c: %Class = bind_name c, %c.param -// CHECK:STDOUT: %p.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %p.param: %.1 = value_param runtime_param1 // CHECK:STDOUT: %p: %.1 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -91,20 +91,20 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.1 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.1 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc12_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc12_24: type = ptr_type %Class [template = constants.%.1] -// CHECK:STDOUT: %self.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self: %.1 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %self.param: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %self: %Class = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc18: = complete_type_witness %.3 [template = constants.%.4] diff --git a/toolchain/check/testdata/class/fail_base_bad_type.carbon b/toolchain/check/testdata/class/fail_base_bad_type.carbon index 69b2295597de..5bab8a1e6b4f 100644 --- a/toolchain/check/testdata/class/fail_base_bad_type.carbon +++ b/toolchain/check/testdata/class/fail_base_bad_type.carbon @@ -215,18 +215,18 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromError.decl: type = class_decl @DeriveFromError [template = constants.%DeriveFromError] {} {} // CHECK:STDOUT: %AccessMemberWithInvalidBaseError.decl: %AccessMemberWithInvalidBaseError.type = fn_decl @AccessMemberWithInvalidBaseError [template = constants.%AccessMemberWithInvalidBaseError] { // CHECK:STDOUT: %p.patt: %.1 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.1 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.1 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromError.ref: type = name_ref DeriveFromError, file.%DeriveFromError.decl [template = constants.%DeriveFromError] // CHECK:STDOUT: %.loc13_55: type = ptr_type %DeriveFromError [template = constants.%.1] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_61.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_61.2: type = converted %int.make_type_32, %.loc13_61.1 [template = i32] -// CHECK:STDOUT: %p.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %p: %.1 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -314,18 +314,18 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromNonType.decl: type = class_decl @DeriveFromNonType [template = constants.%DeriveFromNonType] {} {} // CHECK:STDOUT: %AccessMemberWithInvalidBasNonType.decl: %AccessMemberWithInvalidBasNonType.type = fn_decl @AccessMemberWithInvalidBasNonType [template = constants.%AccessMemberWithInvalidBasNonType] { // CHECK:STDOUT: %p.patt: %.8 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.8 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.8 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromNonType.ref: type = name_ref DeriveFromNonType, file.%DeriveFromNonType.decl [template = constants.%DeriveFromNonType] // CHECK:STDOUT: %.loc15_58: type = ptr_type %DeriveFromNonType [template = constants.%.8] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_64.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_64.2: type = converted %int.make_type_32, %.loc15_64.1 [template = i32] -// CHECK:STDOUT: %p.param: %.8 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.8 = value_param runtime_param0 // CHECK:STDOUT: %p: %.8 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -482,9 +482,9 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromi32.decl: type = class_decl @DeriveFromi32 [template = constants.%DeriveFromi32] {} {} // CHECK:STDOUT: %ConvertToBadBasei32.decl: %ConvertToBadBasei32.type = fn_decl @ConvertToBadBasei32 [template = constants.%ConvertToBadBasei32] { // CHECK:STDOUT: %p.patt: %.2 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.2 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.2 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromi32.ref: type = name_ref DeriveFromi32, file.%DeriveFromi32.decl [template = constants.%DeriveFromi32] // CHECK:STDOUT: %.loc21_40: type = ptr_type %DeriveFromi32 [template = constants.%.2] @@ -492,25 +492,25 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %.loc21_49.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc21_49.2: type = converted %int.make_type_32, %.loc21_49.1 [template = i32] // CHECK:STDOUT: %.loc21_49.3: type = ptr_type i32 [template = constants.%.3] -// CHECK:STDOUT: %p.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %p: %.2 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.3 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMemberWithInvalidBasei32.decl: %AccessMemberWithInvalidBasei32.type = fn_decl @AccessMemberWithInvalidBasei32 [template = constants.%AccessMemberWithInvalidBasei32] { // CHECK:STDOUT: %p.patt: %.2 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.2 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.2 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromi32.ref: type = name_ref DeriveFromi32, file.%DeriveFromi32.decl [template = constants.%DeriveFromi32] // CHECK:STDOUT: %.loc23_51: type = ptr_type %DeriveFromi32 [template = constants.%.2] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc23_57.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc23_57.2: type = converted %int.make_type_32, %.loc23_57.1 [template = i32] -// CHECK:STDOUT: %p.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %p: %.2 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -684,9 +684,9 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromTuple.decl: type = class_decl @DeriveFromTuple [template = constants.%DeriveFromTuple] {} {} // CHECK:STDOUT: %ConvertToBadBaseTuple.decl: %ConvertToBadBaseTuple.type = fn_decl @ConvertToBadBaseTuple [template = constants.%ConvertToBadBaseTuple] { // CHECK:STDOUT: %p.patt: %.8 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.8 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.8 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.9 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.9 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.9 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromTuple.ref: type = name_ref DeriveFromTuple, file.%DeriveFromTuple.decl [template = constants.%DeriveFromTuple] // CHECK:STDOUT: %.loc21_44: type = ptr_type %DeriveFromTuple [template = constants.%.8] @@ -694,25 +694,25 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %.loc21_56: %.3 = tuple_literal (%Base.ref) // CHECK:STDOUT: %.loc21_57.1: type = converted %.loc21_56, constants.%.4 [template = constants.%.4] // CHECK:STDOUT: %.loc21_57.2: type = ptr_type %.4 [template = constants.%.9] -// CHECK:STDOUT: %p.param: %.8 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.8 = value_param runtime_param0 // CHECK:STDOUT: %p: %.8 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.9 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.9 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.9 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMemberWithInvalidBaseTuple.decl: %AccessMemberWithInvalidBaseTuple.type = fn_decl @AccessMemberWithInvalidBaseTuple [template = constants.%AccessMemberWithInvalidBaseTuple] { // CHECK:STDOUT: %p.patt: %.8 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.8 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.8 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromTuple.ref: type = name_ref DeriveFromTuple, file.%DeriveFromTuple.decl [template = constants.%DeriveFromTuple] // CHECK:STDOUT: %.loc23_55: type = ptr_type %DeriveFromTuple [template = constants.%.8] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc23_61.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc23_61.2: type = converted %int.make_type_32, %.loc23_61.1 [template = i32] -// CHECK:STDOUT: %p.param: %.8 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.8 = value_param runtime_param0 // CHECK:STDOUT: %p: %.8 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -885,9 +885,9 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromStruct.decl: type = class_decl @DeriveFromStruct [template = constants.%DeriveFromStruct] {} {} // CHECK:STDOUT: %ConvertToBadBaseStruct.decl: %ConvertToBadBaseStruct.type = fn_decl @ConvertToBadBaseStruct [template = constants.%ConvertToBadBaseStruct] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromStruct.ref: type = name_ref DeriveFromStruct, file.%DeriveFromStruct.decl [template = constants.%DeriveFromStruct] // CHECK:STDOUT: %.loc21_46: type = ptr_type %DeriveFromStruct [template = constants.%.4] @@ -899,25 +899,25 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %.loc21_66.2: type = converted %int.make_type_32.loc21_66, %.loc21_66.1 [template = i32] // CHECK:STDOUT: %.loc21_69: type = struct_type {.a: i32, .b: i32} [template = constants.%.2] // CHECK:STDOUT: %.loc21_70: type = ptr_type %.2 [template = constants.%.3] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.3 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMemberWithInvalidBaseStruct.decl: %AccessMemberWithInvalidBaseStruct.type = fn_decl @AccessMemberWithInvalidBaseStruct [template = constants.%AccessMemberWithInvalidBaseStruct] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromStruct.ref: type = name_ref DeriveFromStruct, file.%DeriveFromStruct.decl [template = constants.%DeriveFromStruct] // CHECK:STDOUT: %.loc24_57: type = ptr_type %DeriveFromStruct [template = constants.%.4] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc24_63.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc24_63.2: type = converted %int.make_type_32, %.loc24_63.1 [template = i32] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1089,33 +1089,33 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromIncomplete.decl: type = class_decl @DeriveFromIncomplete [template = constants.%DeriveFromIncomplete] {} {} // CHECK:STDOUT: %ConvertToBadBaseIncomplete.decl: %ConvertToBadBaseIncomplete.type = fn_decl @ConvertToBadBaseIncomplete [template = constants.%ConvertToBadBaseIncomplete] { // CHECK:STDOUT: %p.patt: %.1 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.1 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.1 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromIncomplete.ref: type = name_ref DeriveFromIncomplete, file.%DeriveFromIncomplete.decl [template = constants.%DeriveFromIncomplete] // CHECK:STDOUT: %.loc28_54: type = ptr_type %DeriveFromIncomplete [template = constants.%.1] // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, file.%Incomplete.decl [template = constants.%Incomplete] // CHECK:STDOUT: %.loc28_70: type = ptr_type %Incomplete [template = constants.%.2] -// CHECK:STDOUT: %p.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %p: %.1 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.2 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMemberWithInvalidBaseIncomplete.decl: %AccessMemberWithInvalidBaseIncomplete.type = fn_decl @AccessMemberWithInvalidBaseIncomplete [template = constants.%AccessMemberWithInvalidBaseIncomplete] { // CHECK:STDOUT: %p.patt: %.1 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.1 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.1 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromIncomplete.ref: type = name_ref DeriveFromIncomplete, file.%DeriveFromIncomplete.decl [template = constants.%DeriveFromIncomplete] // CHECK:STDOUT: %.loc30_65: type = ptr_type %DeriveFromIncomplete [template = constants.%.1] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc30_71.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc30_71.2: type = converted %int.make_type_32, %.loc30_71.1 [template = i32] -// CHECK:STDOUT: %p.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %p: %.1 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1271,49 +1271,49 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %DeriveFromFinal.decl: type = class_decl @DeriveFromFinal [template = constants.%DeriveFromFinal] {} {} // CHECK:STDOUT: %ConvertToBadBaseFinal.decl: %ConvertToBadBaseFinal.type = fn_decl @ConvertToBadBaseFinal [template = constants.%ConvertToBadBaseFinal] { // CHECK:STDOUT: %p.patt: %.9 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.9 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.9 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.10 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.10 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.10 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromFinal.ref: type = name_ref DeriveFromFinal, file.%DeriveFromFinal.decl [template = constants.%DeriveFromFinal] // CHECK:STDOUT: %.loc15_44: type = ptr_type %DeriveFromFinal [template = constants.%.9] // CHECK:STDOUT: %Final.ref: type = name_ref Final, file.%Final.decl [template = constants.%Final] // CHECK:STDOUT: %.loc15_55: type = ptr_type %Final [template = constants.%.10] -// CHECK:STDOUT: %p.param: %.9 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.9 = value_param runtime_param0 // CHECK:STDOUT: %p: %.9 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.10 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.10 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.10 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMemberWithInvalidBaseFinal_WithMember.decl: %AccessMemberWithInvalidBaseFinal_WithMember.type = fn_decl @AccessMemberWithInvalidBaseFinal_WithMember [template = constants.%AccessMemberWithInvalidBaseFinal_WithMember] { // CHECK:STDOUT: %p.patt: %.9 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.9 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.9 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromFinal.ref: type = name_ref DeriveFromFinal, file.%DeriveFromFinal.decl [template = constants.%DeriveFromFinal] // CHECK:STDOUT: %.loc19_66: type = ptr_type %DeriveFromFinal [template = constants.%.9] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_72.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc19_72.2: type = converted %int.make_type_32, %.loc19_72.1 [template = i32] -// CHECK:STDOUT: %p.param: %.9 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.9 = value_param runtime_param0 // CHECK:STDOUT: %p: %.9 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMemberWithInvalidBaseFinal_NoMember.decl: %AccessMemberWithInvalidBaseFinal_NoMember.type = fn_decl @AccessMemberWithInvalidBaseFinal_NoMember [template = constants.%AccessMemberWithInvalidBaseFinal_NoMember] { // CHECK:STDOUT: %p.patt: %.9 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.9 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.9 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %DeriveFromFinal.ref: type = name_ref DeriveFromFinal, file.%DeriveFromFinal.decl [template = constants.%DeriveFromFinal] // CHECK:STDOUT: %.loc23_64: type = ptr_type %DeriveFromFinal [template = constants.%.9] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc23_70.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc23_70.2: type = converted %int.make_type_32, %.loc23_70.1 [template = i32] -// CHECK:STDOUT: %p.param: %.9 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.9 = value_param runtime_param0 // CHECK:STDOUT: %p: %.9 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_compound_type_mismatch.carbon b/toolchain/check/testdata/class/fail_compound_type_mismatch.carbon index 9c5357bb36c8..827fee42f81a 100644 --- a/toolchain/check/testdata/class/fail_compound_type_mismatch.carbon +++ b/toolchain/check/testdata/class/fail_compound_type_mismatch.carbon @@ -97,17 +97,17 @@ fn AccessBInA(a: A) -> i32 { // CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {} {} // CHECK:STDOUT: %AccessBInA.decl: %AccessBInA.type = fn_decl @AccessBInA [template = constants.%AccessBInA] { // CHECK:STDOUT: %a.patt: %A = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_24.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc19_24.2: type = converted %int.make_type_32, %.loc19_24.1 [template = i32] -// CHECK:STDOUT: %a.param: %A = param runtime_param0 +// CHECK:STDOUT: %a.param: %A = value_param runtime_param0 // CHECK:STDOUT: %a: %A = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_convert_to_invalid.carbon b/toolchain/check/testdata/class/fail_convert_to_invalid.carbon index bd98f5782b67..05a011043156 100644 --- a/toolchain/check/testdata/class/fail_convert_to_invalid.carbon +++ b/toolchain/check/testdata/class/fail_convert_to_invalid.carbon @@ -53,10 +53,10 @@ fn Make() -> C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_derived_to_base.carbon b/toolchain/check/testdata/class/fail_derived_to_base.carbon index f6749d6b5938..7469b248ad52 100644 --- a/toolchain/check/testdata/class/fail_derived_to_base.carbon +++ b/toolchain/check/testdata/class/fail_derived_to_base.carbon @@ -132,33 +132,33 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; } // CHECK:STDOUT: %B2.decl: type = class_decl @B2 [template = constants.%B2] {} {} // CHECK:STDOUT: %ConvertUnrelated.decl: %ConvertUnrelated.type = fn_decl @ConvertUnrelated [template = constants.%ConvertUnrelated] { // CHECK:STDOUT: %p.patt: %.11 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.11 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.11 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.12 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.12 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.12 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %B2.ref: type = name_ref B2, file.%B2.decl [template = constants.%B2] // CHECK:STDOUT: %.loc31_26: type = ptr_type %B2 [template = constants.%.11] // CHECK:STDOUT: %A1.ref: type = name_ref A1, file.%A1.decl [template = constants.%A1] // CHECK:STDOUT: %.loc31_34: type = ptr_type %A1 [template = constants.%.12] -// CHECK:STDOUT: %p.param: %.11 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.11 = value_param runtime_param0 // CHECK:STDOUT: %p: %.11 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.12 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.12 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.12 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Incomplete.decl: type = class_decl @Incomplete [template = constants.%Incomplete] {} {} // CHECK:STDOUT: %ConvertIncomplete.decl: %ConvertIncomplete.type = fn_decl @ConvertIncomplete [template = constants.%ConvertIncomplete] { // CHECK:STDOUT: %p.patt: %.21 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.21 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.21 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.22 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.22 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.22 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, file.%Incomplete.decl [template = constants.%Incomplete] // CHECK:STDOUT: %.loc41_35: type = ptr_type %Incomplete [template = constants.%.21] // CHECK:STDOUT: %A2.ref: type = name_ref A2, file.%A2.decl [template = constants.%A2] // CHECK:STDOUT: %.loc41_43: type = ptr_type %A2 [template = constants.%.22] -// CHECK:STDOUT: %p.param: %.21 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.21 = value_param runtime_param0 // CHECK:STDOUT: %p: %.21 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.22 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.22 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.22 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_generic_method.carbon b/toolchain/check/testdata/class/fail_generic_method.carbon index dce06f8a86d2..e6b1af786375 100644 --- a/toolchain/check/testdata/class/fail_generic_method.carbon +++ b/toolchain/check/testdata/class/fail_generic_method.carbon @@ -76,27 +76,27 @@ fn Class(N:! i32).F[self: Self](n: T) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.5] { // CHECK:STDOUT: %self.patt: = binding_pattern self -// CHECK:STDOUT: %self.param_patt: = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %n.patt: = binding_pattern n -// CHECK:STDOUT: %n.param_patt: = param_pattern %n.patt, runtime_param1 +// CHECK:STDOUT: %n.param_patt: = value_param_pattern %n.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc32_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc32_14.2: type = converted %int.make_type_32, %.loc32_14.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc32_10.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc32_10.2 (constants.%N)] // CHECK:STDOUT: %Self.ref: = name_ref Self, [template = ] // CHECK:STDOUT: %T.ref: = name_ref T, [template = ] -// CHECK:STDOUT: %self.param: = param runtime_param0 +// CHECK:STDOUT: %self.param: = value_param runtime_param0 // CHECK:STDOUT: %self: = bind_name self, %self.param -// CHECK:STDOUT: %n.param: = param runtime_param1 +// CHECK:STDOUT: %n.param: = value_param runtime_param1 // CHECK:STDOUT: %n: = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -118,16 +118,16 @@ fn Class(N:! i32).F[self: Self](n: T) {} // CHECK:STDOUT: %.loc12_8.1: @Class.%.loc12_8.2 (%.2) = field_decl a, element0 [template] // CHECK:STDOUT: %F.decl: @Class.%F.type (%F.type) = fn_decl @F [symbolic = @Class.%F (constants.%F)] { // CHECK:STDOUT: %self.patt: @F.%Class (%Class.2) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.%Class (%Class.2) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.%Class (%Class.2) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %n.patt: @F.%T (%T) = binding_pattern n -// CHECK:STDOUT: %n.param_patt: @F.%T (%T) = param_pattern %n.patt, runtime_param1 +// CHECK:STDOUT: %n.param_patt: @F.%T (%T) = value_param_pattern %n.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc13 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @F.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.%Class (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.%Class (%Class.2) = bind_name self, %self.param -// CHECK:STDOUT: %n.param: @F.%T (%T) = param runtime_param1 +// CHECK:STDOUT: %n.param: @F.%T (%T) = value_param runtime_param1 // CHECK:STDOUT: %n: @F.%T (%T) = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14_1.1: = complete_type_witness %.3 [symbolic = %.loc14_1.3 (constants.%.4)] diff --git a/toolchain/check/testdata/class/fail_incomplete.carbon b/toolchain/check/testdata/class/fail_incomplete.carbon index da4a138b442d..53c7a0b70c28 100644 --- a/toolchain/check/testdata/class/fail_incomplete.carbon +++ b/toolchain/check/testdata/class/fail_incomplete.carbon @@ -227,90 +227,90 @@ class C { // CHECK:STDOUT: %global_var: ref = bind_name global_var, %global_var.var // CHECK:STDOUT: %ConvertFromStruct.decl: %ConvertFromStruct.type = fn_decl @ConvertFromStruct [template = constants.%ConvertFromStruct] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %return.param: %Class = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc44_14: type = ptr_type %Class [template = constants.%.4] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc44_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc44_20.2: type = converted %int.make_type_32, %.loc44_20.1 [template = i32] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MemberAccess.decl: %MemberAccess.type = fn_decl @MemberAccess [template = constants.%MemberAccess] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc55_25: type = ptr_type %Class [template = constants.%.4] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc55_31.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc55_31.2: type = converted %int.make_type_32, %.loc55_31.1 [template = i32] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Copy.decl: %Copy.type = fn_decl @Copy [template = constants.%Copy] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc73_12: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc73_17: type = ptr_type %Class [template = constants.%.4] // CHECK:STDOUT: %Class.ref.loc73_23: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %Class = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param1 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Let.decl: %Let.type = fn_decl @Let [template = constants.%Let] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc77: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc77: type = ptr_type %Class [template = constants.%.4] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: %TakeIncomplete.decl: %TakeIncomplete.type = fn_decl @TakeIncomplete [template = constants.%TakeIncomplete] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %c.param: %Class = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %c: %Class = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %ReturnIncomplete.decl: %ReturnIncomplete.type = fn_decl @ReturnIncomplete [template = constants.%ReturnIncomplete] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %return.param: %Class = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallTakeIncomplete.decl: %CallTakeIncomplete.type = fn_decl @CallTakeIncomplete [template = constants.%CallTakeIncomplete] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc92: type = ptr_type %Class [template = constants.%.4] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallReturnIncomplete.decl: %CallReturnIncomplete.type = fn_decl @CallReturnIncomplete [template = constants.%CallReturnIncomplete] {} {} diff --git a/toolchain/check/testdata/class/fail_init_as_inplace.carbon b/toolchain/check/testdata/class/fail_init_as_inplace.carbon index a6ed490edbbf..3d9d3f0bd2f5 100644 --- a/toolchain/check/testdata/class/fail_init_as_inplace.carbon +++ b/toolchain/check/testdata/class/fail_init_as_inplace.carbon @@ -73,11 +73,11 @@ fn F() { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.5 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.5 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.5 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc16: type = ptr_type %Class [template = constants.%.5] -// CHECK:STDOUT: %p.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %p: %.5 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {} {} diff --git a/toolchain/check/testdata/class/fail_memaccess_category.carbon b/toolchain/check/testdata/class/fail_memaccess_category.carbon index efe208e3c759..cfd19e49e362 100644 --- a/toolchain/check/testdata/class/fail_memaccess_category.carbon +++ b/toolchain/check/testdata/class/fail_memaccess_category.carbon @@ -84,16 +84,16 @@ fn F(s: {.a: A}, b: B) { // CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %s.patt: %.7 = binding_pattern s -// CHECK:STDOUT: %s.param_patt: %.7 = param_pattern %s.patt, runtime_param0 +// CHECK:STDOUT: %s.param_patt: %.7 = value_param_pattern %s.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %B = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %B = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %B = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc19: type = struct_type {.a: %A} [template = constants.%.7] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B] -// CHECK:STDOUT: %s.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %s.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %s: %.7 = bind_name s, %s.param -// CHECK:STDOUT: %b.param: %B = param runtime_param1 +// CHECK:STDOUT: %b.param: %B = value_param runtime_param1 // CHECK:STDOUT: %b: %B = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -101,12 +101,12 @@ fn F(s: {.a: A}, b: B) { // CHECK:STDOUT: class @A { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.1 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.1 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc12_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc12_20: type = ptr_type %A [template = constants.%.1] -// CHECK:STDOUT: %self.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self: %.1 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: = complete_type_witness %.3 [template = constants.%.4] diff --git a/toolchain/check/testdata/class/fail_member_of_let.carbon b/toolchain/check/testdata/class/fail_member_of_let.carbon index 6fb069296e9a..3c76f31becdb 100644 --- a/toolchain/check/testdata/class/fail_member_of_let.carbon +++ b/toolchain/check/testdata/class/fail_member_of_let.carbon @@ -69,12 +69,12 @@ fn T.F() {} // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/fail_method.carbon b/toolchain/check/testdata/class/fail_method.carbon index a167f08c7b24..329b725502b4 100644 --- a/toolchain/check/testdata/class/fail_method.carbon +++ b/toolchain/check/testdata/class/fail_method.carbon @@ -89,10 +89,10 @@ fn F(c: Class) { // CHECK:STDOUT: %A: %WithSelf.type = bind_alias A, @Class.%WithSelf.decl [template = constants.%WithSelf] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc18: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %c.param: %Class = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %c: %Class = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -101,10 +101,10 @@ fn F(c: Class) { // CHECK:STDOUT: %NoSelf.decl: %NoSelf.type = fn_decl @NoSelf [template = constants.%NoSelf] {} {} // CHECK:STDOUT: %WithSelf.decl: %WithSelf.type = fn_decl @WithSelf [template = constants.%WithSelf] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %self.param: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %self: %Class = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/fail_method_modifiers.carbon b/toolchain/check/testdata/class/fail_method_modifiers.carbon index 17eaf8cbeb36..c30bb644a7fe 100644 --- a/toolchain/check/testdata/class/fail_method_modifiers.carbon +++ b/toolchain/check/testdata/class/fail_method_modifiers.carbon @@ -105,18 +105,18 @@ base class BaseClass { // CHECK:STDOUT: class @FinalClass { // CHECK:STDOUT: %Abstract.decl: %Abstract.type.1 = fn_decl @Abstract.1 [template = constants.%Abstract.1] { // CHECK:STDOUT: %self.patt: %FinalClass = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %FinalClass = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %FinalClass = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FinalClass [template = constants.%FinalClass] -// CHECK:STDOUT: %self.param: %FinalClass = param runtime_param0 +// CHECK:STDOUT: %self.param: %FinalClass = value_param runtime_param0 // CHECK:STDOUT: %self: %FinalClass = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %Virtual.decl: %Virtual.type = fn_decl @Virtual [template = constants.%Virtual] { // CHECK:STDOUT: %self.patt: %FinalClass = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %FinalClass = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %FinalClass = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FinalClass [template = constants.%FinalClass] -// CHECK:STDOUT: %self.param: %FinalClass = param runtime_param0 +// CHECK:STDOUT: %self.param: %FinalClass = value_param runtime_param0 // CHECK:STDOUT: %self: %FinalClass = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc30: = complete_type_witness %.2 [template = constants.%.3] @@ -130,18 +130,18 @@ base class BaseClass { // CHECK:STDOUT: class @AbstractClass { // CHECK:STDOUT: %Default.decl: %Default.type = fn_decl @Default [template = constants.%Default] { // CHECK:STDOUT: %self.patt: %AbstractClass = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %AbstractClass = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %AbstractClass = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%AbstractClass [template = constants.%AbstractClass] -// CHECK:STDOUT: %self.param: %AbstractClass = param runtime_param0 +// CHECK:STDOUT: %self.param: %AbstractClass = value_param runtime_param0 // CHECK:STDOUT: %self: %AbstractClass = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %Final.decl: %Final.type = fn_decl @Final [template = constants.%Final] { // CHECK:STDOUT: %self.patt: %AbstractClass = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %AbstractClass = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %AbstractClass = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%AbstractClass [template = constants.%AbstractClass] -// CHECK:STDOUT: %self.param: %AbstractClass = param runtime_param0 +// CHECK:STDOUT: %self.param: %AbstractClass = value_param runtime_param0 // CHECK:STDOUT: %self: %AbstractClass = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc45: = complete_type_witness %.2 [template = constants.%.3] @@ -155,10 +155,10 @@ base class BaseClass { // CHECK:STDOUT: class @BaseClass { // CHECK:STDOUT: %Abstract.decl: %Abstract.type.2 = fn_decl @Abstract.2 [template = constants.%Abstract.2] { // CHECK:STDOUT: %self.patt: %BaseClass = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %BaseClass = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %BaseClass = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%BaseClass [template = constants.%BaseClass] -// CHECK:STDOUT: %self.param: %BaseClass = param runtime_param0 +// CHECK:STDOUT: %self.param: %BaseClass = value_param runtime_param0 // CHECK:STDOUT: %self: %BaseClass = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc56: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/fail_scope.carbon b/toolchain/check/testdata/class/fail_scope.carbon index cf5d084f5d9b..2517ca2ad960 100644 --- a/toolchain/check/testdata/class/fail_scope.carbon +++ b/toolchain/check/testdata/class/fail_scope.carbon @@ -62,12 +62,12 @@ fn G() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc17_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc17_11.2: type = converted %int.make_type_32, %.loc17_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -75,12 +75,12 @@ fn G() -> i32 { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/fail_self.carbon b/toolchain/check/testdata/class/fail_self.carbon index f6f51606c85a..9c1c1000ca5b 100644 --- a/toolchain/check/testdata/class/fail_self.carbon +++ b/toolchain/check/testdata/class/fail_self.carbon @@ -122,27 +122,27 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc25: type = name_ref Self, constants.%Class [template = constants.%Class] -// CHECK:STDOUT: %self.param.loc25: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc25: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc25: %Class = bind_name self, %self.param.loc25 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc28: type = name_ref Self, constants.%Class [template = constants.%Class] -// CHECK:STDOUT: %return.param.loc28: %Class = param runtime_param0 +// CHECK:STDOUT: %return.param.loc28: ref %Class = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param.loc28 // CHECK:STDOUT: } // CHECK:STDOUT: %WrongSelf.decl: type = class_decl @WrongSelf [template = constants.%WrongSelf] {} {} // CHECK:STDOUT: %CallWrongSelf.decl: %CallWrongSelf.type = fn_decl @CallWrongSelf [template = constants.%CallWrongSelf] { // CHECK:STDOUT: %ws.patt: %WrongSelf = binding_pattern ws -// CHECK:STDOUT: %ws.param_patt: %WrongSelf = param_pattern %ws.patt, runtime_param0 +// CHECK:STDOUT: %ws.param_patt: %WrongSelf = value_param_pattern %ws.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %WrongSelf.ref: type = name_ref WrongSelf, file.%WrongSelf.decl [template = constants.%WrongSelf] -// CHECK:STDOUT: %ws.param: %WrongSelf = param runtime_param0 +// CHECK:STDOUT: %ws.param: %WrongSelf = value_param runtime_param0 // CHECK:STDOUT: %ws: %WrongSelf = bind_name ws, %ws.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -170,18 +170,18 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc16: type = name_ref Self, constants.%Class [template = constants.%Class] -// CHECK:STDOUT: %self.param.loc16: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc16: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc16: %Class = bind_name self, %self.param.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc18: type = name_ref Self, constants.%Class [template = constants.%Class] -// CHECK:STDOUT: %return.param.loc18: %Class = param runtime_param0 +// CHECK:STDOUT: %return.param.loc18: ref %Class = out_param runtime_param0 // CHECK:STDOUT: %.loc18: ref %Class = return_slot %return.param.loc18 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = complete_type_witness %.2 [template = constants.%.3] @@ -195,10 +195,10 @@ fn CallWrongSelf(ws: WrongSelf) { // CHECK:STDOUT: class @WrongSelf { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %self.param: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %self: %Class = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc43: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/fail_self_param.carbon b/toolchain/check/testdata/class/fail_self_param.carbon index 7f9f8c713be5..df630f757459 100644 --- a/toolchain/check/testdata/class/fail_self_param.carbon +++ b/toolchain/check/testdata/class/fail_self_param.carbon @@ -50,10 +50,10 @@ var v: C(0); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %x.patt.loc14_22.1: = symbolic_binding_pattern x, 0 [symbolic = %x.patt.loc14_22.2 (constants.%x.patt)] -// CHECK:STDOUT: %x.param_patt: = param_pattern %x.patt.loc14_22.1, runtime_param [symbolic = %x.patt.loc14_22.2 (constants.%x.patt)] +// CHECK:STDOUT: %x.param_patt: = value_param_pattern %x.patt.loc14_22.1, runtime_param [symbolic = %x.patt.loc14_22.2 (constants.%x.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.ref: = name_ref self, [template = ] -// CHECK:STDOUT: %x.param: = param runtime_param +// CHECK:STDOUT: %x.param: = value_param runtime_param // CHECK:STDOUT: %x.loc14_22.1: = bind_symbolic_name x, 0, %x.param [symbolic = %x.loc14_22.2 (constants.%x)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [template = constants.%C.1] diff --git a/toolchain/check/testdata/class/fail_unbound_field.carbon b/toolchain/check/testdata/class/fail_unbound_field.carbon index 27f0168492e3..55766c6ee464 100644 --- a/toolchain/check/testdata/class/fail_unbound_field.carbon +++ b/toolchain/check/testdata/class/fail_unbound_field.carbon @@ -68,12 +68,12 @@ fn G() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc22_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc22_11.2: type = converted %int.make_type_32, %.loc22_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -85,12 +85,12 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc12_12: %.2 = field_decl field, element0 [template] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_13.2: type = converted %int.make_type_32, %.loc13_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc20: = complete_type_witness %.3 [template = constants.%.4] diff --git a/toolchain/check/testdata/class/fail_unknown_member.carbon b/toolchain/check/testdata/class/fail_unknown_member.carbon index 9df10b11c6c1..349ed34d79da 100644 --- a/toolchain/check/testdata/class/fail_unknown_member.carbon +++ b/toolchain/check/testdata/class/fail_unknown_member.carbon @@ -60,17 +60,17 @@ fn G(c: Class) -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_19.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_19.2: type = converted %int.make_type_32, %.loc15_19.1 [template = i32] -// CHECK:STDOUT: %c.param: %Class = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %c: %Class = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/forward_declared.carbon b/toolchain/check/testdata/class/forward_declared.carbon index c46c29454745..c1be5a4c5dc2 100644 --- a/toolchain/check/testdata/class/forward_declared.carbon +++ b/toolchain/check/testdata/class/forward_declared.carbon @@ -45,17 +45,17 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %p.patt: %.1 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.1 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.1 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc13_9: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc13_14: type = ptr_type %Class [template = constants.%.1] // CHECK:STDOUT: %Class.ref.loc13_20: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc13_25: type = ptr_type %Class [template = constants.%.1] -// CHECK:STDOUT: %p.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %p: %.1 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/basic.carbon b/toolchain/check/testdata/class/generic/basic.carbon index 7a7a41453ee3..5ac27cbd7b80 100644 --- a/toolchain/check/testdata/class/generic/basic.carbon +++ b/toolchain/check/testdata/class/generic/basic.carbon @@ -70,16 +70,16 @@ class Declaration(T:! type); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Declaration.decl: %Declaration.type = class_decl @Declaration [template = constants.%Declaration.1] { // CHECK:STDOUT: %T.patt.loc24_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_19.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc24_19.1, runtime_param [symbolic = %T.patt.loc24_19.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc24_19.1, runtime_param [symbolic = %T.patt.loc24_19.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc24_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc24_19.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -101,33 +101,33 @@ class Declaration(T:! type); // CHECK:STDOUT: class { // CHECK:STDOUT: %GetAddr.decl: @Class.%GetAddr.type (%GetAddr.type) = fn_decl @GetAddr [symbolic = @Class.%GetAddr (constants.%GetAddr)] { // CHECK:STDOUT: %self.patt: @GetAddr.%.loc12_29.1 (%.2) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @GetAddr.%.loc12_29.1 (%.2) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @GetAddr.%.loc12_29.1 (%.2) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc12_14: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %return.patt: @GetAddr.%.loc12_38.1 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @GetAddr.%.loc12_38.1 (%.3) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @GetAddr.%.loc12_38.1 (%.3) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_25: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc12_25 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %.loc12_29.2: type = ptr_type %Class.2 [symbolic = %.loc12_29.1 (constants.%.2)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %.loc12_38.2: type = ptr_type %T [symbolic = %.loc12_38.1 (constants.%.3)] -// CHECK:STDOUT: %self.param: @GetAddr.%.loc12_29.1 (%.2) = param runtime_param0 +// CHECK:STDOUT: %self.param: @GetAddr.%.loc12_29.1 (%.2) = value_param runtime_param0 // CHECK:STDOUT: %self: @GetAddr.%.loc12_29.1 (%.2) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @GetAddr.%.loc12_38.1 (%.3) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @GetAddr.%.loc12_38.1 (%.3) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @GetAddr.%.loc12_38.1 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %GetValue.decl: @Class.%GetValue.type (%GetValue.type) = fn_decl @GetValue [symbolic = @Class.%GetValue (constants.%GetValue)] { // CHECK:STDOUT: %self.patt: @GetValue.%Class (%Class.2) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @GetValue.%Class (%Class.2) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @GetValue.%Class (%Class.2) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @GetValue.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @GetValue.%T (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @GetValue.%T (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc17 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @GetValue.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %self.param: @GetValue.%Class (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %self: @GetValue.%Class (%Class.2) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @GetValue.%T (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @GetValue.%T (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @GetValue.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_13.1 [symbolic = %T.loc11_13.2 (constants.%T)] diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index 9da33321a4f3..e2777b7147f7 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -133,16 +133,16 @@ class Outer(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: i32 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_23.1: i32 = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc4_23.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref.loc6: %Class.type = name_ref Class, %Class.decl [template = constants.%Class.1] @@ -248,16 +248,16 @@ class Outer(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: i32 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_23.1: i32 = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc4_23.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [template = constants.%Class.1] @@ -338,16 +338,16 @@ class Outer(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: i32 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_23.1: i32 = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc4_23.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [template = constants.%Class.1] @@ -453,16 +453,16 @@ class Outer(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc4_23.1: i32 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_23.1, runtime_param [symbolic = %N.patt.loc4_23.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_27.2: type = converted %int.make_type_32, %.loc4_27.1 [template = i32] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_23.1: i32 = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc4_23.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [template = constants.%Class.1] @@ -630,9 +630,9 @@ class Outer(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [template = constants.%Outer.1] { // CHECK:STDOUT: %T.patt.loc2_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc2_13.1, runtime_param [symbolic = %T.patt.loc2_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc2_13.1, runtime_param [symbolic = %T.patt.loc2_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc2_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc2_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -648,9 +648,9 @@ class Outer(T:! type) { // CHECK:STDOUT: class { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.1) = class_decl @Inner [symbolic = @Outer.%Inner (constants.%Inner.1)] { // CHECK:STDOUT: %U.patt.loc3_15.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc3_15.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc3_15.1, runtime_param [symbolic = %U.patt.loc3_15.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc3_15.1, runtime_param [symbolic = %U.patt.loc3_15.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc3_15.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc3_15.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = complete_type_witness %.2 [template = constants.%.3] @@ -679,44 +679,44 @@ class Outer(T:! type) { // CHECK:STDOUT: class { // CHECK:STDOUT: %A.decl: @Inner.%A.type (%A.type.1) = fn_decl @A [symbolic = @Inner.%A (constants.%A.1)] { // CHECK:STDOUT: %return.patt: @A.%Outer.loc4_20.1 (%Outer.2) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @A.%Outer.loc4_20.1 (%Outer.2) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @A.%Outer.loc4_20.1 (%Outer.2) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [template = constants.%Outer.1] // CHECK:STDOUT: %T.ref: type = name_ref T, @Outer.%T.loc2_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Outer.loc4_20.2: type = class_type @Outer, @Outer(constants.%T) [symbolic = %Outer.loc4_20.1 (constants.%Outer.2)] -// CHECK:STDOUT: %return.param: @A.%Outer.loc4_20.1 (%Outer.2) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @A.%Outer.loc4_20.1 (%Outer.2) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @A.%Outer.loc4_20.1 (%Outer.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: @Inner.%B.type (%B.type.1) = fn_decl @B [symbolic = @Inner.%B (constants.%B.1)] { // CHECK:STDOUT: %return.patt: @B.%Outer.loc7_20.1 (%Outer.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @B.%Outer.loc7_20.1 (%Outer.3) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @B.%Outer.loc7_20.1 (%Outer.3) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [template = constants.%Outer.1] // CHECK:STDOUT: %U.ref: type = name_ref U, @Inner.%U.loc3_15.1 [symbolic = %U (constants.%U)] // CHECK:STDOUT: %Outer.loc7_20.2: type = class_type @Outer, @Outer(constants.%U) [symbolic = %Outer.loc7_20.1 (constants.%Outer.3)] -// CHECK:STDOUT: %return.param: @B.%Outer.loc7_20.1 (%Outer.3) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @B.%Outer.loc7_20.1 (%Outer.3) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @B.%Outer.loc7_20.1 (%Outer.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: @Inner.%C.type (%C.type.1) = fn_decl @C [symbolic = @Inner.%C (constants.%C.1)] { // CHECK:STDOUT: %return.patt: @C.%Inner.loc10_20.1 (%Inner.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @C.%Inner.loc10_20.1 (%Inner.3) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @C.%Inner.loc10_20.1 (%Inner.3) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10: @C.%Inner.type (%Inner.type.1) = specific_constant @Outer.%Inner.decl, @Outer(constants.%T) [symbolic = %Inner.loc10_15 (constants.%Inner.1)] // CHECK:STDOUT: %Inner.ref: @C.%Inner.type (%Inner.type.1) = name_ref Inner, %.loc10 [symbolic = %Inner.loc10_15 (constants.%Inner.1)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Outer.%T.loc2_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Inner.loc10_20.2: type = class_type @Inner, @Inner(constants.%T, constants.%T) [symbolic = %Inner.loc10_20.1 (constants.%Inner.3)] -// CHECK:STDOUT: %return.param: @C.%Inner.loc10_20.1 (%Inner.3) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @C.%Inner.loc10_20.1 (%Inner.3) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @C.%Inner.loc10_20.1 (%Inner.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: @Inner.%D.type (%D.type.1) = fn_decl @D [symbolic = @Inner.%D (constants.%D.1)] { // CHECK:STDOUT: %return.patt: @D.%Inner.loc13_20.1 (%Inner.2) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @D.%Inner.loc13_20.1 (%Inner.2) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @D.%Inner.loc13_20.1 (%Inner.2) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13: @D.%Inner.type (%Inner.type.1) = specific_constant @Outer.%Inner.decl, @Outer(constants.%T) [symbolic = %Inner.loc13_15 (constants.%Inner.1)] // CHECK:STDOUT: %Inner.ref: @D.%Inner.type (%Inner.type.1) = name_ref Inner, %.loc13 [symbolic = %Inner.loc13_15 (constants.%Inner.1)] // CHECK:STDOUT: %U.ref: type = name_ref U, @Inner.%U.loc3_15.1 [symbolic = %U (constants.%U)] // CHECK:STDOUT: %Inner.loc13_20.2: type = class_type @Inner, @Inner(constants.%T, constants.%U) [symbolic = %Inner.loc13_20.1 (constants.%Inner.2)] -// CHECK:STDOUT: %return.param: @D.%Inner.loc13_20.1 (%Inner.2) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @D.%Inner.loc13_20.1 (%Inner.2) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @D.%Inner.loc13_20.1 (%Inner.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/generic/field.carbon b/toolchain/check/testdata/class/generic/field.carbon index b7d5de453f00..f30d3075b70e 100644 --- a/toolchain/check/testdata/class/generic/field.carbon +++ b/toolchain/check/testdata/class/generic/field.carbon @@ -86,16 +86,16 @@ fn H(U:! type, c: Class(U)) -> U { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %c.patt: %Class.3 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class.3 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class.3 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %int.make_type_32.loc15_15: init type = call constants.%Int32() [template = i32] @@ -105,47 +105,47 @@ fn H(U:! type, c: Class(U)) -> U { // CHECK:STDOUT: %int.make_type_32.loc15_24: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_24.1: type = value_of_initializer %int.make_type_32.loc15_24 [template = i32] // CHECK:STDOUT: %.loc15_24.2: type = converted %int.make_type_32.loc15_24, %.loc15_24.1 [template = i32] -// CHECK:STDOUT: %c.param: %Class.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %Class.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %T.patt.loc19_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc19_6.1, runtime_param [symbolic = %T.patt.loc19_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc19_6.1, runtime_param [symbolic = %T.patt.loc19_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: %c.patt: @G.%Class.loc19_24.2 (%Class.2) = binding_pattern c -// CHECK:STDOUT: %c.param_patt: @G.%Class.loc19_24.2 (%Class.2) = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: @G.%Class.loc19_24.2 (%Class.2) = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @G.%T.loc19_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @G.%T.loc19_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @G.%T.loc19_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %T.ref.loc19_25: type = name_ref T, %T.loc19_6.1 [symbolic = %T.loc19_6.2 (constants.%T)] // CHECK:STDOUT: %Class.loc19_24.1: type = class_type @Class, @Class(constants.%T) [symbolic = %Class.loc19_24.2 (constants.%Class.2)] // CHECK:STDOUT: %T.ref.loc19_32: type = name_ref T, %T.loc19_6.1 [symbolic = %T.loc19_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc19_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc19_6.2 (constants.%T)] -// CHECK:STDOUT: %c.param: @G.%Class.loc19_24.2 (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %c.param: @G.%Class.loc19_24.2 (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %c: @G.%Class.loc19_24.2 (%Class.2) = bind_name c, %c.param -// CHECK:STDOUT: %return.param: @G.%T.loc19_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @G.%T.loc19_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @G.%T.loc19_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %U.patt.loc23_6.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc23_6.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc23_6.1, runtime_param [symbolic = %U.patt.loc23_6.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc23_6.1, runtime_param [symbolic = %U.patt.loc23_6.2 (constants.%U.patt)] // CHECK:STDOUT: %c.patt: @H.%Class.loc23_24.2 (%Class.4) = binding_pattern c -// CHECK:STDOUT: %c.param_patt: @H.%Class.loc23_24.2 (%Class.4) = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: @H.%Class.loc23_24.2 (%Class.4) = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @H.%U.loc23_6.2 (%U) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @H.%U.loc23_6.2 (%U) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @H.%U.loc23_6.2 (%U) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %U.ref.loc23_25: type = name_ref U, %U.loc23_6.1 [symbolic = %U.loc23_6.2 (constants.%U)] // CHECK:STDOUT: %Class.loc23_24.1: type = class_type @Class, @Class(constants.%U) [symbolic = %Class.loc23_24.2 (constants.%Class.4)] // CHECK:STDOUT: %U.ref.loc23_32: type = name_ref U, %U.loc23_6.1 [symbolic = %U.loc23_6.2 (constants.%U)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc23_6.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc23_6.2 (constants.%U)] -// CHECK:STDOUT: %c.param: @H.%Class.loc23_24.2 (%Class.4) = param runtime_param0 +// CHECK:STDOUT: %c.param: @H.%Class.loc23_24.2 (%Class.4) = value_param runtime_param0 // CHECK:STDOUT: %c: @H.%Class.loc23_24.2 (%Class.4) = bind_name c, %c.param -// CHECK:STDOUT: %return.param: @H.%U.loc23_6.2 (%U) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @H.%U.loc23_6.2 (%U) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @H.%U.loc23_6.2 (%U) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index 2309b1cb347f..ef765194ccea 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -135,28 +135,28 @@ class Class(U:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CompleteClass.decl: %CompleteClass.type = class_decl @CompleteClass [template = constants.%CompleteClass.1] { // CHECK:STDOUT: %T.patt.loc6_21.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_21.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_21.1, runtime_param [symbolic = %T.patt.loc6_21.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_21.1, runtime_param [symbolic = %T.patt.loc6_21.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_21.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_21.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %return.patt: %CompleteClass.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %CompleteClass.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %CompleteClass.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, file.%CompleteClass.decl [template = constants.%CompleteClass.1] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_24.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_24.2: type = converted %int.make_type_32, %.loc11_24.1 [template = i32] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(i32) [template = constants.%CompleteClass.3] -// CHECK:STDOUT: %return.param: %CompleteClass.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %CompleteClass.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %CompleteClass.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -185,12 +185,12 @@ class Class(U:! type) { // CHECK:STDOUT: %.loc7_8.1: @CompleteClass.%.loc7_8.2 (%.2) = field_decl n, element0 [template] // CHECK:STDOUT: %F.decl: @CompleteClass.%F.type (%F.type.1) = fn_decl @F.1 [symbolic = @CompleteClass.%F (constants.%F.1)] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_13.2: type = converted %int.make_type_32, %.loc8_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc9: = complete_type_witness %.3 [template = constants.%.4] @@ -311,21 +311,21 @@ class Class(U:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.1] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4, runtime_param [symbolic = constants.%T.patt.1] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4, runtime_param [symbolic = constants.%T.patt.1] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %return.patt: %CompleteClass.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %CompleteClass.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %CompleteClass.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%import_ref.2 [template = constants.%CompleteClass.1] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_24.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_24.2: type = converted %int.make_type_32, %.loc8_24.1 [template = i32] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(i32) [template = constants.%CompleteClass.3] -// CHECK:STDOUT: %return.param: %CompleteClass.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %CompleteClass.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %CompleteClass.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -491,22 +491,22 @@ class Class(U:! type) { // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %UseMethod.decl: %UseMethod.type = fn_decl @UseMethod [template = constants.%UseMethod] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_19.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32] // CHECK:STDOUT: %.loc5_19.2: type = converted %int.make_type_32.loc5, %.loc5_19.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %UseField.decl: %UseField.type = fn_decl @UseField [template = constants.%UseField] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_18.1: type = value_of_initializer %int.make_type_32.loc10 [template = i32] // CHECK:STDOUT: %.loc10_18.2: type = converted %int.make_type_32.loc10, %.loc10_18.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -901,9 +901,9 @@ class Class(U:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %U.patt.loc12_13.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc12_13.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc12_13.1, runtime_param [symbolic = %U.patt.loc12_13.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc12_13.1, runtime_param [symbolic = %U.patt.loc12_13.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc12_13.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc12_13.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index c18e002cdf13..669233d1ff40 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -94,33 +94,33 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %InitFromStructGeneric.decl: %InitFromStructGeneric.type = fn_decl @InitFromStructGeneric [template = constants.%InitFromStructGeneric] { // CHECK:STDOUT: %T.patt.loc8_26.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_26.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_26.1, runtime_param [symbolic = %T.patt.loc8_26.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_26.1, runtime_param [symbolic = %T.patt.loc8_26.2 (constants.%T.patt.2)] // CHECK:STDOUT: %x.patt: @InitFromStructGeneric.%T.loc8_26.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @InitFromStructGeneric.%T.loc8_26.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @InitFromStructGeneric.%T.loc8_26.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @InitFromStructGeneric.%T.loc8_26.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @InitFromStructGeneric.%T.loc8_26.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @InitFromStructGeneric.%T.loc8_26.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_39: type = name_ref T, %T.loc8_26.1 [symbolic = %T.loc8_26.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc8_45: type = name_ref T, %T.loc8_26.1 [symbolic = %T.loc8_26.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_26.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_26.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @InitFromStructGeneric.%T.loc8_26.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @InitFromStructGeneric.%T.loc8_26.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @InitFromStructGeneric.%T.loc8_26.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @InitFromStructGeneric.%T.loc8_26.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @InitFromStructGeneric.%T.loc8_26.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @InitFromStructGeneric.%T.loc8_26.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %InitFromStructSpecific.decl: %InitFromStructSpecific.type = fn_decl @InitFromStructSpecific [template = constants.%InitFromStructSpecific] { // CHECK:STDOUT: %x.patt: i32 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: i32 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: i32 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_30: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_30.1: type = value_of_initializer %int.make_type_32.loc13_30 [template = i32] @@ -128,9 +128,9 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc13_38: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_38.1: type = value_of_initializer %int.make_type_32.loc13_38 [template = i32] // CHECK:STDOUT: %.loc13_38.2: type = converted %int.make_type_32.loc13_38, %.loc13_38.1 [template = i32] -// CHECK:STDOUT: %x.param: i32 = param runtime_param0 +// CHECK:STDOUT: %x.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %x: i32 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -295,33 +295,33 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Adapt.decl: %Adapt.type = class_decl @Adapt [template = constants.%Adapt.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %InitFromAdaptedGeneric.decl: %InitFromAdaptedGeneric.type = fn_decl @InitFromAdaptedGeneric [template = constants.%InitFromAdaptedGeneric] { // CHECK:STDOUT: %T.patt.loc8_27.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_27.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_27.1, runtime_param [symbolic = %T.patt.loc8_27.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_27.1, runtime_param [symbolic = %T.patt.loc8_27.2 (constants.%T.patt.2)] // CHECK:STDOUT: %x.patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_40: type = name_ref T, %T.loc8_27.1 [symbolic = %T.loc8_27.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc8_46: type = name_ref T, %T.loc8_27.1 [symbolic = %T.loc8_27.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_27.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_27.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @InitFromAdaptedGeneric.%T.loc8_27.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %InitFromAdaptedSpecific.decl: %InitFromAdaptedSpecific.type = fn_decl @InitFromAdaptedSpecific [template = constants.%InitFromAdaptedSpecific] { // CHECK:STDOUT: %x.patt: i32 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: i32 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: i32 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_31: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_31.1: type = value_of_initializer %int.make_type_32.loc12_31 [template = i32] @@ -329,9 +329,9 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc12_39: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_39.1: type = value_of_initializer %int.make_type_32.loc12_39 [template = i32] // CHECK:STDOUT: %.loc12_39.2: type = converted %int.make_type_32.loc12_39, %.loc12_39.1 [template = i32] -// CHECK:STDOUT: %x.param: i32 = param runtime_param0 +// CHECK:STDOUT: %x.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %x: i32 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/member_access.carbon b/toolchain/check/testdata/class/generic/member_access.carbon index b2935872b684..7fa848f5c447 100644 --- a/toolchain/check/testdata/class/generic/member_access.carbon +++ b/toolchain/check/testdata/class/generic/member_access.carbon @@ -114,16 +114,16 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc2_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc2_13.1, runtime_param [symbolic = %T.patt.loc2_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc2_13.1, runtime_param [symbolic = %T.patt.loc2_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc2_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc2_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %DirectFieldAccess.decl: %DirectFieldAccess.type = fn_decl @DirectFieldAccess [template = constants.%DirectFieldAccess] { // CHECK:STDOUT: %x.patt: %Class.3 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %Class.3 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %Class.3 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %int.make_type_32.loc10_31: init type = call constants.%Int32() [template = i32] @@ -133,16 +133,16 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %int.make_type_32.loc10_40: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_40.1: type = value_of_initializer %int.make_type_32.loc10_40 [template = i32] // CHECK:STDOUT: %.loc10_40.2: type = converted %int.make_type_32.loc10_40, %.loc10_40.1 [template = i32] -// CHECK:STDOUT: %x.param: %Class.3 = param runtime_param0 +// CHECK:STDOUT: %x.param: %Class.3 = value_param runtime_param0 // CHECK:STDOUT: %x: %Class.3 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MethodCall.decl: %MethodCall.type = fn_decl @MethodCall [template = constants.%MethodCall] { // CHECK:STDOUT: %x.patt: %Class.3 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %Class.3 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %Class.3 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %int.make_type_32.loc14_24: init type = call constants.%Int32() [template = i32] @@ -152,16 +152,16 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %int.make_type_32.loc14_33: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_33.1: type = value_of_initializer %int.make_type_32.loc14_33 [template = i32] // CHECK:STDOUT: %.loc14_33.2: type = converted %int.make_type_32.loc14_33, %.loc14_33.1 [template = i32] -// CHECK:STDOUT: %x.param: %Class.3 = param runtime_param0 +// CHECK:STDOUT: %x.param: %Class.3 = value_param runtime_param0 // CHECK:STDOUT: %x: %Class.3 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AddrMethodCall.decl: %AddrMethodCall.type = fn_decl @AddrMethodCall [template = constants.%AddrMethodCall] { // CHECK:STDOUT: %p.patt: %.12 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.12 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.12 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %int.make_type_32.loc18_28: init type = call constants.%Int32() [template = i32] @@ -172,9 +172,9 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %int.make_type_32.loc18_38: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_38.1: type = value_of_initializer %int.make_type_32.loc18_38 [template = i32] // CHECK:STDOUT: %.loc18_38.2: type = converted %int.make_type_32.loc18_38, %.loc18_38.1 [template = i32] -// CHECK:STDOUT: %p.param: %.12 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.12 = value_param runtime_param0 // CHECK:STDOUT: %p: %.12 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -198,33 +198,33 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %.loc3_8.1: @Class.%.loc3_8.2 (%.2) = field_decl x, element0 [template] // CHECK:STDOUT: %Get.decl: @Class.%Get.type (%Get.type.1) = fn_decl @Get [symbolic = @Class.%Get (constants.%Get.1)] { // CHECK:STDOUT: %self.patt: @Get.%Class (%Class.2) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @Get.%Class (%Class.2) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @Get.%Class (%Class.2) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Get.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Get.%T (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Get.%T (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_16: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc5_16 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc2_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @Get.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %self.param: @Get.%Class (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %self: @Get.%Class (%Class.2) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @Get.%T (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Get.%T (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Get.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %GetAddr.decl: @Class.%GetAddr.type (%GetAddr.type.1) = fn_decl @GetAddr [symbolic = @Class.%GetAddr (constants.%GetAddr.1)] { // CHECK:STDOUT: %self.patt: @GetAddr.%.loc7_29.1 (%.3) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @GetAddr.%.loc7_29.1 (%.3) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @GetAddr.%.loc7_29.1 (%.3) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc7_14: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %return.patt: @GetAddr.%.loc7_38.1 (%.4) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @GetAddr.%.loc7_38.1 (%.4) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @GetAddr.%.loc7_38.1 (%.4) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_25: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc7_25 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %.loc7_29.2: type = ptr_type %Class.2 [symbolic = %.loc7_29.1 (constants.%.3)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc2_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %.loc7_38.2: type = ptr_type %T [symbolic = %.loc7_38.1 (constants.%.4)] -// CHECK:STDOUT: %self.param: @GetAddr.%.loc7_29.1 (%.3) = param runtime_param0 +// CHECK:STDOUT: %self.param: @GetAddr.%.loc7_29.1 (%.3) = value_param runtime_param0 // CHECK:STDOUT: %self: @GetAddr.%.loc7_29.1 (%.3) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @GetAddr.%.loc7_38.1 (%.4) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @GetAddr.%.loc7_38.1 (%.4) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @GetAddr.%.loc7_38.1 (%.4) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_1.1: = complete_type_witness %.5 [symbolic = %.loc8_1.3 (constants.%.6)] @@ -457,23 +457,23 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %StaticMemberFunctionCall.decl: %StaticMemberFunctionCall.type = fn_decl @StaticMemberFunctionCall [template = constants.%StaticMemberFunctionCall] { // CHECK:STDOUT: %T.patt.loc8_29.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_29.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_29.1, runtime_param [symbolic = %T.patt.loc8_29.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_29.1, runtime_param [symbolic = %T.patt.loc8_29.2 (constants.%T.patt.2)] // CHECK:STDOUT: %return.patt: @StaticMemberFunctionCall.%Class.loc8_47.2 (%Class.2) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @StaticMemberFunctionCall.%Class.loc8_47.2 (%Class.2) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @StaticMemberFunctionCall.%Class.loc8_47.2 (%Class.2) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc8: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %T.ref.loc8: type = name_ref T, %T.loc8_29.1 [symbolic = %T.loc8_29.2 (constants.%T)] // CHECK:STDOUT: %Class.loc8_47.1: type = class_type @Class, @Class(constants.%T) [symbolic = %Class.loc8_47.2 (constants.%Class.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_29.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_29.2 (constants.%T)] -// CHECK:STDOUT: %return.param: @StaticMemberFunctionCall.%Class.loc8_47.2 (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @StaticMemberFunctionCall.%Class.loc8_47.2 (%Class.2) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @StaticMemberFunctionCall.%Class.loc8_47.2 (%Class.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -509,12 +509,12 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: class { // CHECK:STDOUT: %Make.decl: @Class.%Make.type (%Make.type) = fn_decl @Make [symbolic = @Class.%Make (constants.%Make)] { // CHECK:STDOUT: %return.patt: @Make.%Class.loc5_21.1 (%Class.2) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Make.%Class.loc5_21.1 (%Class.2) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @Make.%Class.loc5_21.1 (%Class.2) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Class.loc5_21.2: type = class_type @Class, @Class(constants.%T) [symbolic = %Class.loc5_21.1 (constants.%Class.2)] -// CHECK:STDOUT: %return.param: @Make.%Class.loc5_21.1 (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @Make.%Class.loc5_21.1 (%Class.2) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @Make.%Class.loc5_21.1 (%Class.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/generic/member_inline.carbon b/toolchain/check/testdata/class/generic/member_inline.carbon index 764c55f30dd1..db64eb057fc7 100644 --- a/toolchain/check/testdata/class/generic/member_inline.carbon +++ b/toolchain/check/testdata/class/generic/member_inline.carbon @@ -78,9 +78,9 @@ class C(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -102,29 +102,29 @@ class C(T:! type) { // CHECK:STDOUT: class { // CHECK:STDOUT: %F.decl: @Class.%F.type (%F.type) = fn_decl @F [symbolic = @Class.%F (constants.%F)] { // CHECK:STDOUT: %n.patt: @F.%T (%T) = binding_pattern n -// CHECK:STDOUT: %n.param_patt: @F.%T (%T) = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: @F.%T (%T) = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc5_11: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %T.ref.loc5_17: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %n.param: @F.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %n.param: @F.%T (%T) = value_param runtime_param0 // CHECK:STDOUT: %n: @F.%T (%T) = bind_name n, %n.param -// CHECK:STDOUT: %return.param: @F.%T (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: @Class.%G.type (%G.type) = fn_decl @G [symbolic = @Class.%G (constants.%G)] { // CHECK:STDOUT: %self.patt: @G.%Class (%Class.2) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @G.%Class (%Class.2) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @G.%Class (%Class.2) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @G.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @G.%T (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @G.%T (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc9 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @G.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %self.param: @G.%Class (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %self: @G.%Class (%Class.2) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @G.%T (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @G.%T (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @G.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] @@ -240,9 +240,9 @@ class C(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/member_out_of_line.carbon b/toolchain/check/testdata/class/generic/member_out_of_line.carbon index defae4cec77d..cf5a89321a7e 100644 --- a/toolchain/check/testdata/class/generic/member_out_of_line.carbon +++ b/toolchain/check/testdata/class/generic/member_out_of_line.carbon @@ -147,40 +147,40 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [symbolic = constants.%F] { // CHECK:STDOUT: %n.patt: %T = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %T = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %T = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %T = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %T = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc10: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: %T.ref.loc10_25: type = name_ref T, %T.loc10 [symbolic = constants.%T] // CHECK:STDOUT: %T.ref.loc10_31: type = name_ref T, %T.loc10 [symbolic = constants.%T] -// CHECK:STDOUT: %n.param.loc10: %T = param runtime_param0 +// CHECK:STDOUT: %n.param.loc10: %T = value_param runtime_param0 // CHECK:STDOUT: %n.loc10: %T = bind_name n, %n.param.loc10 -// CHECK:STDOUT: %return.param.loc10: %T = param runtime_param1 +// CHECK:STDOUT: %return.param.loc10: ref %T = out_param runtime_param1 // CHECK:STDOUT: %return: ref %T = return_slot %return.param.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [symbolic = constants.%G] { // CHECK:STDOUT: %self.patt: %Class.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %T = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %T = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc14: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: %.loc14_28: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = constants.%Class.2] // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14_28 [symbolic = constants.%Class.2] // CHECK:STDOUT: %T.ref.loc14: type = name_ref T, %T.loc14 [symbolic = constants.%T] -// CHECK:STDOUT: %self.param.loc14: %Class.2 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc14: %Class.2 = value_param runtime_param0 // CHECK:STDOUT: %self.loc14: %Class.2 = bind_name self, %self.param.loc14 -// CHECK:STDOUT: %return.param.loc14: %T = param runtime_param1 +// CHECK:STDOUT: %return.param.loc14: ref %T = out_param runtime_param1 // CHECK:STDOUT: %return: ref %T = return_slot %return.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -202,29 +202,29 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: class { // CHECK:STDOUT: %F.decl: @Class.%F.type (%F.type) = fn_decl @F [symbolic = @Class.%F (constants.%F)] { // CHECK:STDOUT: %n.patt: %T = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %T = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: %T = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %T = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %T = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc5_11: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T.loc5 (constants.%T)] // CHECK:STDOUT: %T.ref.loc5_17: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T.loc5 (constants.%T)] -// CHECK:STDOUT: %n.param.loc5: @F.%T.loc5 (%T) = param runtime_param0 +// CHECK:STDOUT: %n.param.loc5: @F.%T.loc5 (%T) = value_param runtime_param0 // CHECK:STDOUT: %n.loc5: @F.%T.loc5 (%T) = bind_name n, %n.param.loc5 -// CHECK:STDOUT: %return.param.loc5: @F.%T.loc5 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param.loc5: ref @F.%T.loc5 (%T) = out_param runtime_param1 // CHECK:STDOUT: %.loc5: ref @F.%T.loc5 (%T) = return_slot %return.param.loc5 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: @Class.%G.type (%G.type) = fn_decl @G [symbolic = @Class.%G (constants.%G)] { // CHECK:STDOUT: %self.patt: %Class.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %T = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %T = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_14: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, %.loc6_14 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %T.ref.loc6: type = name_ref T, @Class.%T.loc4_13.1 [symbolic = %T.loc6 (constants.%T)] -// CHECK:STDOUT: %self.param.loc6: @G.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %self.param.loc6: @G.%Class (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %self.loc6: @G.%Class (%Class.2) = bind_name self, %self.param.loc6 -// CHECK:STDOUT: %return.param.loc6: @G.%T.loc6 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param.loc6: ref @G.%T.loc6 (%T) = out_param runtime_param1 // CHECK:STDOUT: %.loc6_22: ref @G.%T.loc6 (%T) = return_slot %return.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] @@ -346,28 +346,28 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [template = constants.%A.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [symbolic = constants.%F] { // CHECK:STDOUT: %self.patt: %B.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %B.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %B.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %a.patt: %T = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %T = param_pattern %a.patt, runtime_param1 +// CHECK:STDOUT: %a.param_patt: %T = value_param_pattern %a.patt, runtime_param1 // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc10: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: %T.ref.loc10_22: type = name_ref T, %T.loc10 [symbolic = constants.%T] -// CHECK:STDOUT: %N.param: %T = param runtime_param +// CHECK:STDOUT: %N.param: %T = value_param runtime_param // CHECK:STDOUT: %N.loc10: %T = bind_symbolic_name N, 1, %N.param [symbolic = constants.%N] // CHECK:STDOUT: %.loc10: type = specific_constant constants.%B.2, @B(constants.%T, constants.%N) [symbolic = constants.%B.2] // CHECK:STDOUT: %Self.ref.loc10: type = name_ref Self, %.loc10 [symbolic = constants.%B.2] // CHECK:STDOUT: %T.ref.loc10_42: type = name_ref T, %T.loc10 [symbolic = constants.%T] -// CHECK:STDOUT: %self.param.loc10: %B.2 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc10: %B.2 = value_param runtime_param0 // CHECK:STDOUT: %self.loc10: %B.2 = bind_name self, %self.param.loc10 -// CHECK:STDOUT: %a.param.loc10: %T = param runtime_param1 +// CHECK:STDOUT: %a.param.loc10: %T = value_param runtime_param1 // CHECK:STDOUT: %a.loc10: %T = bind_name a, %a.param.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -383,10 +383,10 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: class { // CHECK:STDOUT: %B.decl: @A.%B.type (%B.type) = class_decl @B [symbolic = @A.%B (constants.%B.1)] { // CHECK:STDOUT: %N.patt.loc5_11.1: @B.%T (%T) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc5_11.2 (constants.%N.patt.1)] -// CHECK:STDOUT: %N.param_patt: @B.%T (%T) = param_pattern %N.patt.loc5_11.1, runtime_param [symbolic = %N.patt.loc5_11.2 (constants.%N.patt.1)] +// CHECK:STDOUT: %N.param_patt: @B.%T (%T) = value_param_pattern %N.patt.loc5_11.1, runtime_param [symbolic = %N.patt.loc5_11.2 (constants.%N.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @A.%T.loc4_9.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %N.param: @B.%T (%T) = param runtime_param +// CHECK:STDOUT: %N.param: @B.%T (%T) = value_param runtime_param // CHECK:STDOUT: %N.loc5_11.1: @B.%T (%T) = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc5_11.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8: = complete_type_witness %.2 [template = constants.%.3] @@ -409,16 +409,16 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: class { // CHECK:STDOUT: %F.decl: @B.%F.type (%F.type) = fn_decl @F [symbolic = @B.%F (constants.%F)] { // CHECK:STDOUT: %self.patt: %B.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %B.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %B.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %a.patt: %T = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %T = param_pattern %a.patt, runtime_param1 +// CHECK:STDOUT: %a.param_patt: %T = value_param_pattern %a.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = specific_constant constants.%B.2, @B(constants.%T, constants.%N) [symbolic = %B (constants.%B.2)] // CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, %.loc6 [symbolic = %B (constants.%B.2)] // CHECK:STDOUT: %T.ref.loc6: type = name_ref T, @A.%T.loc4_9.1 [symbolic = %T.loc6 (constants.%T)] -// CHECK:STDOUT: %self.param.loc6: @F.%B (%B.2) = param runtime_param0 +// CHECK:STDOUT: %self.param.loc6: @F.%B (%B.2) = value_param runtime_param0 // CHECK:STDOUT: %self.loc6: @F.%B (%B.2) = bind_name self, %self.param.loc6 -// CHECK:STDOUT: %a.param.loc6: @F.%T.loc6 (%T) = param runtime_param1 +// CHECK:STDOUT: %a.param.loc6: @F.%T.loc6 (%T) = value_param runtime_param1 // CHECK:STDOUT: %a.loc6: @F.%T.loc6 (%T) = bind_name a, %a.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7: = complete_type_witness %.2 [template = constants.%.3] @@ -520,7 +520,7 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %NotGeneric.decl: type = class_decl @NotGeneric [template = constants.%NotGeneric] {} {} // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] {} { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc15_15.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc15_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -591,9 +591,9 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type = class_decl @Generic [template = constants.%Generic.1] { // CHECK:STDOUT: %T.patt.loc4_15.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] {} {} @@ -680,15 +680,15 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type = class_decl @Generic [template = constants.%Generic.1] { // CHECK:STDOUT: %T.patt.loc4_15.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] {} { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc15_12.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc15_12.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc15_22.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc15_22.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -789,15 +789,15 @@ fn Generic(T:! ()).WrongType() {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl: %Generic.type = class_decl @Generic [template = constants.%Generic.1] { // CHECK:STDOUT: %T.patt.loc4_15.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_15.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] {} { // CHECK:STDOUT: %.loc14_17.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc14_17.2: type = converted %.loc14_17.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %T.param: %.1 = param runtime_param +// CHECK:STDOUT: %T.param: %.1 = value_param runtime_param // CHECK:STDOUT: %T.loc14_12.1: %.1 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc14_12.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/method_deduce.carbon b/toolchain/check/testdata/class/generic/method_deduce.carbon index 85e80dc12902..d588aa1fcf67 100644 --- a/toolchain/check/testdata/class/generic/method_deduce.carbon +++ b/toolchain/check/testdata/class/generic/method_deduce.carbon @@ -94,16 +94,16 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {} {} // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc14_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc14_13.1, runtime_param [symbolic = %T.patt.loc14_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc14_13.1, runtime_param [symbolic = %T.patt.loc14_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc14_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc14_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [template = constants.%CallGenericMethod] { // CHECK:STDOUT: %c.patt: %Class.3 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class.3 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class.3 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.9 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.9 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.9 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %A.ref.loc19_31: type = name_ref A, file.%A.decl [template = constants.%A] @@ -112,16 +112,16 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %B.ref.loc19: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %.loc19_43.1: %.4 = tuple_literal (%A.ref.loc19_39, %B.ref.loc19) // CHECK:STDOUT: %.loc19_43.2: type = converted %.loc19_43.1, constants.%.9 [template = constants.%.9] -// CHECK:STDOUT: %c.param: %Class.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %Class.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.9 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.9 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.9 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGenericMethodWithNonDeducedParam.decl: %CallGenericMethodWithNonDeducedParam.type = fn_decl @CallGenericMethodWithNonDeducedParam [template = constants.%CallGenericMethodWithNonDeducedParam] { // CHECK:STDOUT: %c.patt: %Class.3 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class.3 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class.3 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.9 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.9 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.9 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %A.ref.loc23_50: type = name_ref A, file.%A.decl [template = constants.%A] @@ -130,9 +130,9 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %B.ref.loc23: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %.loc23_62.1: %.4 = tuple_literal (%A.ref.loc23_58, %B.ref.loc23) // CHECK:STDOUT: %.loc23_62.2: type = converted %.loc23_62.1, constants.%.9 [template = constants.%.9] -// CHECK:STDOUT: %c.param: %Class.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %Class.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.9 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.9 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.9 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -164,37 +164,37 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: class { // CHECK:STDOUT: %Get.decl: @Class.%Get.type (%Get.type.1) = fn_decl @Get [symbolic = @Class.%Get (constants.%Get.1)] { // CHECK:STDOUT: %U.patt.loc15_10.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc15_10.1 (constants.%U.patt.1)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc15_10.2, runtime_param [symbolic = %U.patt.loc15_10.1 (constants.%U.patt.1)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc15_10.2, runtime_param [symbolic = %U.patt.loc15_10.1 (constants.%U.patt.1)] // CHECK:STDOUT: %return.patt: @Get.%.loc15_28.1 (%.5) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Get.%.loc15_28.1 (%.5) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @Get.%.loc15_28.1 (%.5) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc14_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %U.ref.loc15_27: type = name_ref U, %U.loc15_10.2 [symbolic = %U.loc15_10.1 (constants.%U)] // CHECK:STDOUT: %.loc15_28.2: %.4 = tuple_literal (%T.ref, %U.ref.loc15_27) // CHECK:STDOUT: %.loc15_28.3: type = converted %.loc15_28.2, constants.%.5 [symbolic = %.loc15_28.1 (constants.%.5)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc15_10.2: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc15_10.1 (constants.%U)] -// CHECK:STDOUT: %return.param: @Get.%.loc15_28.1 (%.5) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @Get.%.loc15_28.1 (%.5) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @Get.%.loc15_28.1 (%.5) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %GetNoDeduce.decl: @Class.%GetNoDeduce.type (%GetNoDeduce.type.1) = fn_decl @GetNoDeduce [symbolic = @Class.%GetNoDeduce (constants.%GetNoDeduce.1)] { // CHECK:STDOUT: %x.patt: @GetNoDeduce.%T (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @GetNoDeduce.%T (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @GetNoDeduce.%T (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %U.patt.loc16_24.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc16_24.1 (constants.%U.patt.2)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc16_24.2, runtime_param [symbolic = %U.patt.loc16_24.1 (constants.%U.patt.2)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc16_24.2, runtime_param [symbolic = %U.patt.loc16_24.1 (constants.%U.patt.2)] // CHECK:STDOUT: %return.patt: @GetNoDeduce.%.loc16_42.1 (%.5) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @GetNoDeduce.%.loc16_42.1 (%.5) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @GetNoDeduce.%.loc16_42.1 (%.5) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc16_21: type = name_ref T, @Class.%T.loc14_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %T.ref.loc16_38: type = name_ref T, @Class.%T.loc14_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %U.ref.loc16_41: type = name_ref U, %U.loc16_24.2 [symbolic = %U.loc16_24.1 (constants.%U)] // CHECK:STDOUT: %.loc16_42.2: %.4 = tuple_literal (%T.ref.loc16_38, %U.ref.loc16_41) // CHECK:STDOUT: %.loc16_42.3: type = converted %.loc16_42.2, constants.%.5 [symbolic = %.loc16_42.1 (constants.%.5)] -// CHECK:STDOUT: %x.param: @GetNoDeduce.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @GetNoDeduce.%T (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @GetNoDeduce.%T (%T) = bind_name x, %x.param -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc16_24.2: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc16_24.1 (constants.%U)] -// CHECK:STDOUT: %return.param: @GetNoDeduce.%.loc16_42.1 (%.5) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @GetNoDeduce.%.loc16_42.1 (%.5) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @GetNoDeduce.%.loc16_42.1 (%.5) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = complete_type_witness %.1 [template = constants.%.2] diff --git a/toolchain/check/testdata/class/generic/redeclare.carbon b/toolchain/check/testdata/class/generic/redeclare.carbon index ba25adeebb73..f4c4453d28b1 100644 --- a/toolchain/check/testdata/class/generic/redeclare.carbon +++ b/toolchain/check/testdata/class/generic/redeclare.carbon @@ -121,16 +121,16 @@ class E(U:! type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Generic.decl.loc4: %Generic.type = class_decl @Generic [template = constants.%Generic.1] { // CHECK:STDOUT: %T.patt.loc6: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.2] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param.loc4: type = param runtime_param +// CHECK:STDOUT: %T.param.loc4: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, %T.param.loc4 [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl.loc6: %Generic.type = class_decl @Generic [template = constants.%Generic.1] { // CHECK:STDOUT: %T.patt.loc6: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.2] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param.loc6: type = param runtime_param +// CHECK:STDOUT: %T.param.loc6: type = value_param runtime_param // CHECK:STDOUT: %T.loc6: type = bind_symbolic_name T, 0, %T.param.loc6 [symbolic = constants.%T] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -190,9 +190,9 @@ class E(U:! type) {} // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %T.patt.loc12_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_9.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -263,24 +263,24 @@ class E(U:! type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %B.decl: %B.type = class_decl @B [template = constants.%B.1] { // CHECK:STDOUT: %N.patt.loc4_9.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_9.2 (constants.%N.patt.1)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_9.1, runtime_param [symbolic = %N.patt.loc4_9.2 (constants.%N.patt.1)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_9.1, runtime_param [symbolic = %N.patt.loc4_9.2 (constants.%N.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_13.2: type = converted %int.make_type_32, %.loc4_13.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_9.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc4_9.2 (constants.%N.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %T.patt.loc12_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_9.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc12_19.1: @.1.%T.loc12_9.2 (%T) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc12_19.2 (constants.%N.patt.2)] -// CHECK:STDOUT: %N.param_patt: @.1.%T.loc12_9.2 (%T) = param_pattern %N.patt.loc12_19.1, runtime_param [symbolic = %N.patt.loc12_19.2 (constants.%N.patt.2)] +// CHECK:STDOUT: %N.param_patt: @.1.%T.loc12_9.2 (%T) = value_param_pattern %N.patt.loc12_19.1, runtime_param [symbolic = %N.patt.loc12_19.2 (constants.%N.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc12_9.1 [symbolic = %T.loc12_9.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_9.2 (constants.%T)] -// CHECK:STDOUT: %N.param: @.1.%T.loc12_9.2 (%T) = param runtime_param +// CHECK:STDOUT: %N.param: @.1.%T.loc12_9.2 (%T) = value_param runtime_param // CHECK:STDOUT: %N.loc12_19.1: @.1.%T.loc12_9.2 (%T) = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc12_19.2 (constants.%N.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -366,23 +366,23 @@ class E(U:! type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %T.patt.loc12_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_9.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt.2)] // CHECK:STDOUT: %U.patt.loc12_19.1: i32 = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc12_19.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: i32 = param_pattern %U.patt.loc12_19.1, runtime_param [symbolic = %U.patt.loc12_19.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: i32 = value_param_pattern %U.patt.loc12_19.1, runtime_param [symbolic = %U.patt.loc12_19.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_23.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_23.2: type = converted %int.make_type_32, %.loc12_23.1 [template = i32] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_9.2 (constants.%T)] -// CHECK:STDOUT: %U.param: i32 = param runtime_param +// CHECK:STDOUT: %U.param: i32 = value_param runtime_param // CHECK:STDOUT: %U.loc12_19.1: i32 = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc12_19.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -467,19 +467,19 @@ class E(U:! type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %D.decl: %D.type = class_decl @D [template = constants.%D.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %T.patt.loc12_9.1: i32 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_9.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: i32 = param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: i32 = value_param_pattern %T.patt.loc12_9.1, runtime_param [symbolic = %T.patt.loc12_9.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %T.param: i32 = param runtime_param +// CHECK:STDOUT: %T.param: i32 = value_param runtime_param // CHECK:STDOUT: %T.loc12_9.1: i32 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_9.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -556,16 +556,16 @@ class E(U:! type) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %E.decl: %E.type = class_decl @E [template = constants.%E.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %U.patt.loc11_9.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc11_9.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc11_9.1, runtime_param [symbolic = %U.patt.loc11_9.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc11_9.1, runtime_param [symbolic = %U.patt.loc11_9.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc11_9.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc11_9.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/self.carbon b/toolchain/check/testdata/class/generic/self.carbon index b873deb8093d..55f22f60505e 100644 --- a/toolchain/check/testdata/class/generic/self.carbon +++ b/toolchain/check/testdata/class/generic/self.carbon @@ -63,9 +63,9 @@ class Class(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -85,21 +85,21 @@ class Class(T:! type) { // CHECK:STDOUT: class { // CHECK:STDOUT: %MakeSelf.decl: @Class.%MakeSelf.type (%MakeSelf.type) = fn_decl @MakeSelf [symbolic = @Class.%MakeSelf (constants.%MakeSelf)] { // CHECK:STDOUT: %return.patt: @MakeSelf.%Class (%Class.2) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @MakeSelf.%Class (%Class.2) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @MakeSelf.%Class (%Class.2) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_20: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc14_20 [symbolic = %Class (constants.%Class.2)] -// CHECK:STDOUT: %return.param: @MakeSelf.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @MakeSelf.%Class (%Class.2) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @MakeSelf.%Class (%Class.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MakeClass.decl: @Class.%MakeClass.type (%MakeClass.type) = fn_decl @MakeClass [symbolic = @Class.%MakeClass (constants.%MakeClass)] { // CHECK:STDOUT: %return.patt: @MakeClass.%Class.loc15_26.1 (%Class.2) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @MakeClass.%Class.loc15_26.1 (%Class.2) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @MakeClass.%Class.loc15_26.1 (%Class.2) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [template = constants.%Class.1] // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Class.loc15_26.2: type = class_type @Class, @Class(constants.%T) [symbolic = %Class.loc15_26.1 (constants.%Class.2)] -// CHECK:STDOUT: %return.param: @MakeClass.%Class.loc15_26.1 (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @MakeClass.%Class.loc15_26.1 (%Class.2) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @MakeClass.%Class.loc15_26.1 (%Class.2) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: @Class.%F.type (%F.type) = fn_decl @F [symbolic = @Class.%F (constants.%F)] {} {} diff --git a/toolchain/check/testdata/class/generic_method.carbon b/toolchain/check/testdata/class/generic_method.carbon index 2dfa90d2bf87..dd954971fa2e 100644 --- a/toolchain/check/testdata/class/generic_method.carbon +++ b/toolchain/check/testdata/class/generic_method.carbon @@ -54,25 +54,25 @@ fn Class(T:! type).F[self: Self](n: T) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [template = constants.%Class.1] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [symbolic = constants.%F] { // CHECK:STDOUT: %self.patt: %Class.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %n.patt: %T = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %T = param_pattern %n.patt, runtime_param1 +// CHECK:STDOUT: %n.param_patt: %T = value_param_pattern %n.patt, runtime_param1 // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc16: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: %.loc16: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = constants.%Class.2] // CHECK:STDOUT: %Self.ref.loc16: type = name_ref Self, %.loc16 [symbolic = constants.%Class.2] // CHECK:STDOUT: %T.ref.loc16: type = name_ref T, %T.loc16 [symbolic = constants.%T] -// CHECK:STDOUT: %self.param.loc16: %Class.2 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc16: %Class.2 = value_param runtime_param0 // CHECK:STDOUT: %self.loc16: %Class.2 = bind_name self, %self.param.loc16 -// CHECK:STDOUT: %n.param.loc16: %T = param runtime_param1 +// CHECK:STDOUT: %n.param.loc16: %T = value_param runtime_param1 // CHECK:STDOUT: %n.loc16: %T = bind_name n, %n.param.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -94,16 +94,16 @@ fn Class(T:! type).F[self: Self](n: T) {} // CHECK:STDOUT: %.loc12_8.1: @Class.%.loc12_8.2 (%.2) = field_decl a, element0 [template] // CHECK:STDOUT: %F.decl: @Class.%F.type (%F.type) = fn_decl @F [symbolic = @Class.%F (constants.%F)] { // CHECK:STDOUT: %self.patt: %Class.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %n.patt: %T = binding_pattern n -// CHECK:STDOUT: %n.param_patt: %T = param_pattern %n.patt, runtime_param1 +// CHECK:STDOUT: %n.param_patt: %T = value_param_pattern %n.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13: type = specific_constant constants.%Class.2, @Class(constants.%T) [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %Self.ref.loc13: type = name_ref Self, %.loc13 [symbolic = %Class (constants.%Class.2)] // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T.loc13 (constants.%T)] -// CHECK:STDOUT: %self.param.loc13: @F.%Class (%Class.2) = param runtime_param0 +// CHECK:STDOUT: %self.param.loc13: @F.%Class (%Class.2) = value_param runtime_param0 // CHECK:STDOUT: %self.loc13: @F.%Class (%Class.2) = bind_name self, %self.param.loc13 -// CHECK:STDOUT: %n.param.loc13: @F.%T.loc13 (%T) = param runtime_param1 +// CHECK:STDOUT: %n.param.loc13: @F.%T.loc13 (%T) = value_param runtime_param1 // CHECK:STDOUT: %n.loc13: @F.%T.loc13 (%T) = bind_name n, %n.param.loc13 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14_1.1: = complete_type_witness %.3 [symbolic = %.loc14_1.3 (constants.%.4)] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 752a7718d840..e875fb152e56 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -124,20 +124,20 @@ fn Run() { // CHECK:STDOUT: class @ForwardDeclared { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %ForwardDeclared = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %ForwardDeclared = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %ForwardDeclared = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%ForwardDeclared [template = constants.%ForwardDeclared] -// CHECK:STDOUT: %self.param: %ForwardDeclared = param runtime_param0 +// CHECK:STDOUT: %self.param: %ForwardDeclared = value_param runtime_param0 // CHECK:STDOUT: %self: %ForwardDeclared = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %.7 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.7 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.7 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc15_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%ForwardDeclared [template = constants.%ForwardDeclared] // CHECK:STDOUT: %.loc15_23: type = ptr_type %ForwardDeclared [template = constants.%.7] -// CHECK:STDOUT: %self.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %self: %.7 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: = complete_type_witness %.1 [template = constants.%.2] diff --git a/toolchain/check/testdata/class/import_base.carbon b/toolchain/check/testdata/class/import_base.carbon index 0e9b291e2935..af14c23824d0 100644 --- a/toolchain/check/testdata/class/import_base.carbon +++ b/toolchain/check/testdata/class/import_base.carbon @@ -86,18 +86,18 @@ fn Run() { // CHECK:STDOUT: class @Base { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Base = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Base = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Base = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base] -// CHECK:STDOUT: %self.param: %Base = param runtime_param0 +// CHECK:STDOUT: %self.param: %Base = value_param runtime_param0 // CHECK:STDOUT: %self: %Base = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %Unused.decl: %Unused.type = fn_decl @Unused [template = constants.%Unused] { // CHECK:STDOUT: %self.patt: %Base = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Base = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Base = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base] -// CHECK:STDOUT: %self.param: %Base = param runtime_param0 +// CHECK:STDOUT: %self.param: %Base = value_param runtime_param0 // CHECK:STDOUT: %self: %Base = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc8: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/class/inheritance_access.carbon b/toolchain/check/testdata/class/inheritance_access.carbon index 1259009a67d3..39fd189139c7 100644 --- a/toolchain/check/testdata/class/inheritance_access.carbon +++ b/toolchain/check/testdata/class/inheritance_access.carbon @@ -298,9 +298,9 @@ class B { // CHECK:STDOUT: %.loc10: %.6 = base_decl %Shape, element0 [template] // CHECK:STDOUT: %GetPosition.decl: %GetPosition.type = fn_decl @GetPosition [template = constants.%GetPosition] { // CHECK:STDOUT: %self.patt: %Circle = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Circle = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Circle = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.8 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.8 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.8 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Circle [template = constants.%Circle] // CHECK:STDOUT: %int.make_type_32.loc12_36: init type = call constants.%Int32() [template = i32] @@ -311,9 +311,9 @@ class B { // CHECK:STDOUT: %.loc12_44.4: type = value_of_initializer %int.make_type_32.loc12_41 [template = i32] // CHECK:STDOUT: %.loc12_44.5: type = converted %int.make_type_32.loc12_41, %.loc12_44.4 [template = i32] // CHECK:STDOUT: %.loc12_44.6: type = converted %.loc12_44.1, constants.%.8 [template = constants.%.8] -// CHECK:STDOUT: %self.param: %Circle = param runtime_param0 +// CHECK:STDOUT: %self.param: %Circle = value_param runtime_param0 // CHECK:STDOUT: %self: %Circle = bind_name self, %self.param -// CHECK:STDOUT: %return.param: %.8 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.8 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.8 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.9 [template = constants.%.10] @@ -424,12 +424,12 @@ class B { // CHECK:STDOUT: %.loc9: %.5 = base_decl %A, element0 [template] // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_21.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc10_21.2: type = converted %int.make_type_32, %.loc10_21.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = complete_type_witness %.6 [template = constants.%.7] @@ -446,16 +446,16 @@ class B { // CHECK:STDOUT: %.loc14: %.10 = base_decl %B, element0 [template] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] // CHECK:STDOUT: %.loc15_26.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc15_26.2: type = converted %.loc15_26.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: = complete_type_witness %.11 [template = constants.%.12] @@ -542,12 +542,12 @@ class B { // CHECK:STDOUT: %SOME_CONSTANT: i32 = bind_name SOME_CONSTANT, %.loc5_38 // CHECK:STDOUT: %SomeProtectedFunction.decl: %SomeProtectedFunction.type = fn_decl @SomeProtectedFunction [template = constants.%SomeProtectedFunction] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_43.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc6_43.2: type = converted %int.make_type_32, %.loc6_43.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc9: = complete_type_witness %.3 [template = constants.%.4] @@ -563,22 +563,22 @@ class B { // CHECK:STDOUT: %.loc12: %.6 = base_decl %A, element0 [template] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_13.2: type = converted %int.make_type_32, %.loc14_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc18_13.2: type = converted %int.make_type_32, %.loc18_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc21: = complete_type_witness %.7 [template = constants.%.8] @@ -680,17 +680,17 @@ class B { // CHECK:STDOUT: %.loc9: %.6 = base_decl %Shape, element0 [template] // CHECK:STDOUT: %GetPosition.decl: %GetPosition.type = fn_decl @GetPosition [template = constants.%GetPosition] { // CHECK:STDOUT: %self.patt: %Square = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Square = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Square = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Square [template = constants.%Square] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_35.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_35.2: type = converted %int.make_type_32, %.loc11_35.1 [template = i32] -// CHECK:STDOUT: %self.param: %Square = param runtime_param0 +// CHECK:STDOUT: %self.param: %Square = value_param runtime_param0 // CHECK:STDOUT: %self: %Square = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc21: = complete_type_witness %.7 [template = constants.%.8] @@ -1077,27 +1077,27 @@ class B { // CHECK:STDOUT: %.loc14: %.6 = field_decl internal, element0 [template] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc16_13.2: type = converted %int.make_type_32, %.loc16_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %SomeFunc.decl: %SomeFunc.type = fn_decl @SomeFunc [template = constants.%SomeFunc] { // CHECK:STDOUT: %self.patt: %B = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %B = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %B = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [template = constants.%B] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc36_32.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc36_32.2: type = converted %int.make_type_32, %.loc36_32.1 [template = i32] -// CHECK:STDOUT: %self.param: %B = param runtime_param0 +// CHECK:STDOUT: %self.param: %B = value_param runtime_param0 // CHECK:STDOUT: %self: %B = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc46: = complete_type_witness %.7 [template = constants.%.8] @@ -1194,10 +1194,10 @@ class B { // CHECK:STDOUT: %.loc9: %.6 = base_decl %A, element0 [template] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %B = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %B = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %B = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [template = constants.%B] -// CHECK:STDOUT: %self.param: %B = param runtime_param0 +// CHECK:STDOUT: %self.param: %B = value_param runtime_param0 // CHECK:STDOUT: %self: %B = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = complete_type_witness %.7 [template = constants.%.8] @@ -1283,10 +1283,10 @@ class B { // CHECK:STDOUT: %.loc9: %.6 = base_decl %A, element0 [template] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %B = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %B = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %B = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [template = constants.%B] -// CHECK:STDOUT: %self.param: %B = param runtime_param0 +// CHECK:STDOUT: %self.param: %B = value_param runtime_param0 // CHECK:STDOUT: %self: %B = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: = complete_type_witness %.7 [template = constants.%.8] diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index cb538786c81d..2c2b56683d2c 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -67,11 +67,11 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %next.patt: %.3 = binding_pattern next -// CHECK:STDOUT: %next.param_patt: %.3 = param_pattern %next.patt, runtime_param1 +// CHECK:STDOUT: %next.param_patt: %.3 = value_param_pattern %next.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_12.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -79,20 +79,20 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %Class.ref.loc16_23: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc16_28: type = ptr_type %Class [template = constants.%.3] // CHECK:STDOUT: %Class.ref.loc16_34: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %next.param: %.3 = param runtime_param1 +// CHECK:STDOUT: %next.param: %.3 = value_param runtime_param1 // CHECK:STDOUT: %next: %.3 = bind_name next, %next.param -// CHECK:STDOUT: %return.param: %Class = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param2 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MakeReorder.decl: %MakeReorder.type = fn_decl @MakeReorder [template = constants.%MakeReorder] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %next.patt: %.3 = binding_pattern next -// CHECK:STDOUT: %next.param_patt: %.3 = param_pattern %next.patt, runtime_param1 +// CHECK:STDOUT: %next.param_patt: %.3 = value_param_pattern %next.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc20_19.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -100,11 +100,11 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %Class.ref.loc20_30: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc20_35: type = ptr_type %Class [template = constants.%.3] // CHECK:STDOUT: %Class.ref.loc20_41: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %next.param: %.3 = param runtime_param1 +// CHECK:STDOUT: %next.param: %.3 = value_param runtime_param1 // CHECK:STDOUT: %next: %.3 = bind_name next, %next.param -// CHECK:STDOUT: %return.param: %Class = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param2 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/init_adapt.carbon b/toolchain/check/testdata/class/init_adapt.carbon index 6e42b04721fd..504e05bac712 100644 --- a/toolchain/check/testdata/class/init_adapt.carbon +++ b/toolchain/check/testdata/class/init_adapt.carbon @@ -149,18 +149,18 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %C.ref.loc17: type = name_ref C, %C.decl [template = constants.%C] // CHECK:STDOUT: %MakeC.decl: %MakeC.type = fn_decl @MakeC [template = constants.%MakeC] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MakeAdaptC.decl: %MakeAdaptC.type = fn_decl @MakeAdaptC [template = constants.%MakeAdaptC] { // CHECK:STDOUT: %return.patt: %AdaptC = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %AdaptC = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %AdaptC = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptC.ref: type = name_ref AdaptC, file.%AdaptC.decl [template = constants.%AdaptC] -// CHECK:STDOUT: %return.param: %AdaptC = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %AdaptC = out_param runtime_param0 // CHECK:STDOUT: %return: ref %AdaptC = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AdaptC.ref.loc23: type = name_ref AdaptC, %AdaptC.decl [template = constants.%AdaptC] @@ -332,18 +332,18 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: %C.ref.loc33: type = name_ref C, %C.decl [template = constants.%C] // CHECK:STDOUT: %MakeC.decl: %MakeC.type = fn_decl @MakeC [template = constants.%MakeC] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MakeAdaptC.decl: %MakeAdaptC.type = fn_decl @MakeAdaptC [template = constants.%MakeAdaptC] { // CHECK:STDOUT: %return.patt: %AdaptC = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %AdaptC = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %AdaptC = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptC.ref: type = name_ref AdaptC, file.%AdaptC.decl [template = constants.%AdaptC] -// CHECK:STDOUT: %return.param: %AdaptC = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %AdaptC = out_param runtime_param0 // CHECK:STDOUT: %return: ref %AdaptC = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AdaptC.ref.loc46: type = name_ref AdaptC, %AdaptC.decl [template = constants.%AdaptC] diff --git a/toolchain/check/testdata/class/init_as.carbon b/toolchain/check/testdata/class/init_as.carbon index de144e8a4ed9..eba1fb2da604 100644 --- a/toolchain/check/testdata/class/init_as.carbon +++ b/toolchain/check/testdata/class/init_as.carbon @@ -60,12 +60,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc16_11.2: type = converted %int.make_type_32, %.loc16_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/init_nested.carbon b/toolchain/check/testdata/class/init_nested.carbon index 9f1a659a9f5b..9667099708fd 100644 --- a/toolchain/check/testdata/class/init_nested.carbon +++ b/toolchain/check/testdata/class/init_nested.carbon @@ -75,19 +75,19 @@ fn MakeOuter() -> Outer { // CHECK:STDOUT: %Inner.decl: type = class_decl @Inner [template = constants.%Inner] {} {} // CHECK:STDOUT: %MakeInner.decl: %MakeInner.type = fn_decl @MakeInner [template = constants.%MakeInner] { // CHECK:STDOUT: %return.patt: %Inner = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Inner = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Inner = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, file.%Inner.decl [template = constants.%Inner] -// CHECK:STDOUT: %return.param: %Inner = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Inner = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Inner = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Outer.decl: type = class_decl @Outer [template = constants.%Outer] {} {} // CHECK:STDOUT: %MakeOuter.decl: %MakeOuter.type = fn_decl @MakeOuter [template = constants.%MakeOuter] { // CHECK:STDOUT: %return.patt: %Outer = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Outer = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Outer = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: type = name_ref Outer, file.%Outer.decl [template = constants.%Outer] -// CHECK:STDOUT: %return.param: %Outer = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Outer = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Outer = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/method.carbon b/toolchain/check/testdata/class/method.carbon index c7ccf3557925..acba24d5e28e 100644 --- a/toolchain/check/testdata/class/method.carbon +++ b/toolchain/check/testdata/class/method.carbon @@ -129,127 +129,127 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc20: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc20: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc20_29.1: type = value_of_initializer %int.make_type_32.loc20 [template = i32] // CHECK:STDOUT: %.loc20_29.2: type = converted %int.make_type_32.loc20, %.loc20_29.1 [template = i32] -// CHECK:STDOUT: %self.param.loc20: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc20: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc20: %Class = bind_name self, %self.param.loc20 -// CHECK:STDOUT: %return.param.loc20: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc20: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc20 // CHECK:STDOUT: } // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc24_22.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc24_22.2: type = converted %int.make_type_32, %.loc24_22.1 [template = i32] -// CHECK:STDOUT: %c.param: %Class = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %c: %Class = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallAlias.decl: %CallAlias.type = fn_decl @CallAlias [template = constants.%CallAlias] { // CHECK:STDOUT: %c.patt: %Class = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %Class = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %Class = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc30_27.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc30_27.2: type = converted %int.make_type_32, %.loc30_27.1 [template = i32] -// CHECK:STDOUT: %c.param: %Class = param runtime_param0 +// CHECK:STDOUT: %c.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %c: %Class = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallOnConstBoundMethod.decl: %CallOnConstBoundMethod.type = fn_decl @CallOnConstBoundMethod [template = constants.%CallOnConstBoundMethod] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc34_32.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc34_32.2: type = converted %int.make_type_32, %.loc34_32.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallWithAddr.decl: %CallWithAddr.type = fn_decl @CallWithAddr [template = constants.%CallWithAddr] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc38_22.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc38_22.2: type = converted %int.make_type_32, %.loc38_22.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallFThroughPointer.decl: %CallFThroughPointer.type = fn_decl @CallFThroughPointer [template = constants.%CallFThroughPointer] { // CHECK:STDOUT: %p.patt: %.2 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.2 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.2 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc43_32: type = ptr_type %Class [template = constants.%.2] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc43_38.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc43_38.2: type = converted %int.make_type_32, %.loc43_38.1 [template = i32] -// CHECK:STDOUT: %p.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %p: %.2 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGThroughPointer.decl: %CallGThroughPointer.type = fn_decl @CallGThroughPointer [template = constants.%CallGThroughPointer] { // CHECK:STDOUT: %p.patt: %.2 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.2 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.2 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] // CHECK:STDOUT: %.loc47_32: type = ptr_type %Class [template = constants.%.2] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc47_38.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc47_38.2: type = converted %int.make_type_32, %.loc47_38.1 [template = i32] -// CHECK:STDOUT: %p.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %p: %.2 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [template = constants.%Class] -// CHECK:STDOUT: %return.param: %Class = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallFOnInitializingExpr.decl: %CallFOnInitializingExpr.type = fn_decl @CallFOnInitializingExpr [template = constants.%CallFOnInitializingExpr] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc53_33.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc53_33.2: type = converted %int.make_type_32, %.loc53_33.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGOnInitializingExpr.decl: %CallGOnInitializingExpr.type = fn_decl @CallGOnInitializingExpr [template = constants.%CallGOnInitializingExpr] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc57_33.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc57_33.2: type = converted %int.make_type_32, %.loc57_33.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -257,34 +257,34 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc12: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_25.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32] // CHECK:STDOUT: %.loc12_25.2: type = converted %int.make_type_32.loc12, %.loc12_25.1 [template = i32] -// CHECK:STDOUT: %self.param.loc12: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc12: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc12: %Class = bind_name self, %self.param.loc12 -// CHECK:STDOUT: %return.param.loc12: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc12: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc12_22: ref i32 = return_slot %return.param.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc13_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %.loc13_23: type = ptr_type %Class [template = constants.%.2] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_31.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_31.2: type = converted %int.make_type_32, %.loc13_31.1 [template = i32] -// CHECK:STDOUT: %self.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %self: %.2 = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.ref: %F.type = name_ref F, %F.decl [template = constants.%F] diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index aa1f4edc3fa1..678daddbc48a 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -100,11 +100,11 @@ fn F(a: Outer*) { // CHECK:STDOUT: %Outer.decl: type = class_decl @Outer [template = constants.%Outer] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %a.patt: %.4 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.4 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.4 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref.loc41: type = name_ref Outer, file.%Outer.decl [template = constants.%Outer] // CHECK:STDOUT: %.loc41: type = ptr_type %Outer [template = constants.%.4] -// CHECK:STDOUT: %a.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %a: %.4 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index 79cb2391389c..d6fae7db57f8 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -69,26 +69,26 @@ fn G(o: Outer) { // CHECK:STDOUT: %Outer.decl: type = class_decl @Outer [template = constants.%Outer] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %oi.patt: %Inner = binding_pattern oi -// CHECK:STDOUT: %oi.param_patt: %Inner = param_pattern %oi.patt, runtime_param0 +// CHECK:STDOUT: %oi.param_patt: %Inner = value_param_pattern %oi.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: type = name_ref Outer, file.%Outer.decl [template = constants.%Outer] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, @Outer.%Inner.decl [template = constants.%Inner] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc17_26.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc17_26.2: type = converted %int.make_type_32, %.loc17_26.1 [template = i32] -// CHECK:STDOUT: %oi.param: %Inner = param runtime_param0 +// CHECK:STDOUT: %oi.param: %Inner = value_param runtime_param0 // CHECK:STDOUT: %oi: %Inner = bind_name oi, %oi.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %o.patt: %Outer = binding_pattern o -// CHECK:STDOUT: %o.param_patt: %Outer = param_pattern %o.patt, runtime_param0 +// CHECK:STDOUT: %o.param_patt: %Outer = value_param_pattern %o.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: type = name_ref Outer, file.%Outer.decl [template = constants.%Outer] -// CHECK:STDOUT: %o.param: %Outer = param runtime_param0 +// CHECK:STDOUT: %o.param: %Outer = value_param runtime_param0 // CHECK:STDOUT: %o: %Outer = bind_name o, %o.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon b/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon index 7d316f7e2484..daf48107b031 100644 --- a/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon +++ b/toolchain/check/testdata/class/no_prelude/generic_vs_params.carbon @@ -110,16 +110,16 @@ fn F(T:! type) { // CHECK:STDOUT: %NotGenericButParams.decl: %NotGenericButParams.type = class_decl @NotGenericButParams [template = constants.%NotGenericButParams.1] {} {} // CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.1 = class_decl @GenericAndParams.1 [template = constants.%GenericAndParams.1] { // CHECK:STDOUT: %T.patt.loc6_24.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_24.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_24.1, runtime_param [symbolic = %T.patt.loc6_24.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_24.1, runtime_param [symbolic = %T.patt.loc6_24.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_24.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_24.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %T.patt.loc8_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_9.1, runtime_param [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_9.1, runtime_param [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {} {} @@ -192,9 +192,9 @@ fn F(T:! type) { // CHECK:STDOUT: %GenericNoParams.decl: type = class_decl @GenericNoParams [template = constants.%GenericNoParams.1] {} {} // CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.2) = class_decl @GenericAndParams.2 [symbolic = @C.%GenericAndParams (constants.%GenericAndParams.3)] { // CHECK:STDOUT: %U.patt.loc10_26.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_26.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc10_26.1, runtime_param [symbolic = %U.patt.loc10_26.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc10_26.1, runtime_param [symbolic = %U.patt.loc10_26.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc10_26.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc10_26.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = complete_type_witness %.1 [template = constants.%.2] @@ -356,9 +356,9 @@ fn F(T:! type) { // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [template = constants.%A.1] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc10_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc10_6.1, runtime_param [symbolic = %T.patt.loc10_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc10_6.1, runtime_param [symbolic = %T.patt.loc10_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc10_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc10_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/no_prelude/import_access.carbon b/toolchain/check/testdata/class/no_prelude/import_access.carbon index 4a8974dc16e8..e0f42bdbd27f 100644 --- a/toolchain/check/testdata/class/no_prelude/import_access.carbon +++ b/toolchain/check/testdata/class/no_prelude/import_access.carbon @@ -412,11 +412,11 @@ private class Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %c.patt: %.1 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %.1 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %.1 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Forward.ref: type = name_ref Forward, imports.%import_ref [template = constants.%Forward] // CHECK:STDOUT: %.loc4: type = ptr_type %Forward [template = constants.%.1] -// CHECK:STDOUT: %c.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %c: %.1 = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: %Forward.decl: type = class_decl @Forward [template = constants.%Forward] {} {} @@ -449,11 +449,11 @@ private class Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %c.patt: = binding_pattern c -// CHECK:STDOUT: %c.param_patt: = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Forward.ref: = name_ref Forward, [template = ] // CHECK:STDOUT: %.loc10: type = ptr_type [template = ] -// CHECK:STDOUT: %c.param: = param runtime_param0 +// CHECK:STDOUT: %c.param: = value_param runtime_param0 // CHECK:STDOUT: %c: = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -485,12 +485,12 @@ private class Redecl {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %c.patt: = binding_pattern c -// CHECK:STDOUT: %c.param_patt: = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Test.ref: = name_ref Test, imports.%Test [template = imports.%Test] // CHECK:STDOUT: %Forward.ref: = name_ref Forward, [template = ] // CHECK:STDOUT: %.loc9: type = ptr_type [template = ] -// CHECK:STDOUT: %c.param: = param runtime_param0 +// CHECK:STDOUT: %c.param: = value_param runtime_param0 // CHECK:STDOUT: %c: = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/no_prelude/syntactic_merge.carbon b/toolchain/check/testdata/class/no_prelude/syntactic_merge.carbon index 96519a1b2bd7..6c0555b98c89 100644 --- a/toolchain/check/testdata/class/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/class/no_prelude/syntactic_merge.carbon @@ -211,34 +211,34 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc8: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.2] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc8, runtime_param [symbolic = constants.%a.patt.2] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc8, runtime_param [symbolic = constants.%a.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0, %a.param.loc7 [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc8: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc8: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.2] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc8, runtime_param [symbolic = constants.%a.patt.2] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc8, runtime_param [symbolic = constants.%a.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc8: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc8: %C = value_param runtime_param // CHECK:STDOUT: %a.loc8: %C = bind_symbolic_name a, 0, %a.param.loc8 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl.loc10: %Bar.type = class_decl @Bar [template = constants.%Bar.1] { // CHECK:STDOUT: %a.patt.loc11: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.4] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc11, runtime_param [symbolic = constants.%a.patt.4] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc11, runtime_param [symbolic = constants.%a.patt.4] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc10: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param.loc10: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc10: %C = value_param runtime_param // CHECK:STDOUT: %a.loc10_11.1: %C = bind_symbolic_name a, 0, %a.param.loc10 [symbolic = %a.loc10_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl.loc11: %Bar.type = class_decl @Bar [template = constants.%Bar.1] { // CHECK:STDOUT: %a.patt.loc11: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.4] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc11, runtime_param [symbolic = constants.%a.patt.4] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc11, runtime_param [symbolic = constants.%a.patt.4] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param.loc11: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc11: %C = value_param runtime_param // CHECK:STDOUT: %a.loc11: %C = bind_symbolic_name a, 0, %a.param.loc11 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -311,18 +311,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl.loc6: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.2] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc6: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc6: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_17.1: %C = bind_symbolic_name a, 0, %a.param.loc6 [symbolic = %a.loc6_17.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.2] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7: %C = bind_symbolic_name a, 0, %a.param.loc7 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -379,18 +379,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc6_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_11.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_11.1, runtime_param [symbolic = %a.patt.loc6_11.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_11.1, runtime_param [symbolic = %a.patt.loc6_11.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc14_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc14_11.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc14_11.1, runtime_param [symbolic = %a.patt.loc14_11.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc14_11.1, runtime_param [symbolic = %a.patt.loc14_11.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc14_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc14_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -456,18 +456,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl.loc6: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.2] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc6: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc6: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_11.1: %C = bind_symbolic_name a, 0, %a.param.loc6 [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.2] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7, runtime_param [symbolic = constants.%a.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7: %C = bind_symbolic_name a, 0, %a.param.loc7 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -528,18 +528,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl: %Bar.type = class_decl @Bar [template = constants.%Bar.1] { // CHECK:STDOUT: %a.patt.loc8_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc8_11.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc8_11.1, runtime_param [symbolic = %a.patt.loc8_11.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc8_11.1, runtime_param [symbolic = %a.patt.loc8_11.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc8_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc8_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -613,18 +613,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %default.import.loc2_6.2 = import // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc4: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.1] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc4, runtime_param [symbolic = constants.%a.patt.1] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc4, runtime_param [symbolic = constants.%a.patt.1] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.1 [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc4: %C = bind_symbolic_name a, 0, %a.param [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl: %Bar.type = class_decl @Bar [template = constants.%Bar.1] { // CHECK:STDOUT: %a.patt.loc5: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.3] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc5, runtime_param [symbolic = constants.%a.patt.3] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc5, runtime_param [symbolic = constants.%a.patt.3] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.2 [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc5: %C = bind_symbolic_name a, 0, %a.param [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -702,18 +702,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_11.2 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %b.patt.loc15_11.1: %C = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc15_11.2 (constants.%b.patt)] -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt.loc15_11.1, runtime_param [symbolic = %b.patt.loc15_11.2 (constants.%b.patt)] +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt.loc15_11.1, runtime_param [symbolic = %b.patt.loc15_11.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %b.param: %C = param runtime_param +// CHECK:STDOUT: %b.param: %C = value_param runtime_param // CHECK:STDOUT: %b.loc15_11.1: %C = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc15_11.2 (constants.%b)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -785,18 +785,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc15_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_11.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc15_11.1, runtime_param [symbolic = %a.patt.loc15_11.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc15_11.1, runtime_param [symbolic = %a.patt.loc15_11.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc15_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc15_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -868,18 +868,18 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc7_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_11.1, runtime_param [symbolic = %a.patt.loc7_11.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc15_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_11.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc15_11.1, runtime_param [symbolic = %a.patt.loc15_11.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc15_11.1, runtime_param [symbolic = %a.patt.loc15_11.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc15_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc15_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -944,10 +944,10 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc6_11.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_11.2 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_11.1, runtime_param [symbolic = %a.patt.loc6_11.2 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_11.1, runtime_param [symbolic = %a.patt.loc6_11.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_11.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1004,10 +1004,10 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %D: type = bind_alias D, imports.%import_ref.1 [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc6: %C = symbolic_binding_pattern a, 0 [symbolic = constants.%a.patt.1] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6, runtime_param [symbolic = constants.%a.patt.1] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6, runtime_param [symbolic = constants.%a.patt.1] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6: %C = bind_symbolic_name a, 0, %a.param [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1063,21 +1063,21 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [template = constants.%Foo.1] { // CHECK:STDOUT: %a.patt.loc6_11.1: %.3 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_11.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %.3 = param_pattern %a.patt.loc6_11.1, runtime_param [symbolic = %a.patt.loc6_11.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %.3 = value_param_pattern %a.patt.loc6_11.1, runtime_param [symbolic = %a.patt.loc6_11.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc6: type = const_type %C [template = constants.%.3] -// CHECK:STDOUT: %a.param: %.3 = param runtime_param +// CHECK:STDOUT: %a.param: %.3 = value_param runtime_param // CHECK:STDOUT: %a.loc6_11.1: %.3 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.5] { // CHECK:STDOUT: %a.patt.loc18_11.1: %.3 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc18_11.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %.3 = param_pattern %a.patt.loc18_11.1, runtime_param [symbolic = %a.patt.loc18_11.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %.3 = value_param_pattern %a.patt.loc18_11.1, runtime_param [symbolic = %a.patt.loc18_11.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc18_22: type = const_type %C [template = constants.%.3] // CHECK:STDOUT: %.loc18_15: type = const_type %.3 [template = constants.%.3] -// CHECK:STDOUT: %a.param: %.3 = param runtime_param +// CHECK:STDOUT: %a.param: %.3 = value_param runtime_param // CHECK:STDOUT: %a.loc18_11.1: %.3 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc18_11.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1144,12 +1144,12 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %Base.decl: type = class_decl @Base [template = constants.%Base] {} {} // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.6] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc16_11: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [template = constants.%Base] // CHECK:STDOUT: %.loc16_26: type = ptr_type %Base [template = constants.%.3] -// CHECK:STDOUT: %self.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self: %.3 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1160,12 +1160,12 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %.loc5_8: %.2 = field_decl a, element0 [template] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc7_8: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [template = constants.%Base] // CHECK:STDOUT: %.loc7_23: type = ptr_type %Base [template = constants.%.3] -// CHECK:STDOUT: %self.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self: %.3 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8: = complete_type_witness %.4 [template = constants.%.5] diff --git a/toolchain/check/testdata/class/raw_self.carbon b/toolchain/check/testdata/class/raw_self.carbon index 4d9a42d7889e..67ba33807f7f 100644 --- a/toolchain/check/testdata/class/raw_self.carbon +++ b/toolchain/check/testdata/class/raw_self.carbon @@ -67,28 +67,28 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt.loc17_17: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt.loc17_21: %.1 = param_pattern %self.patt.loc17_17, runtime_param0 +// CHECK:STDOUT: %self.param_patt.loc17_21: %.1 = value_param_pattern %self.patt.loc17_17, runtime_param0 // CHECK:STDOUT: %.loc17_12: auto = addr_pattern %self.param_patt.loc17_21 // CHECK:STDOUT: %self.patt.loc17_30: i32 = binding_pattern r#self -// CHECK:STDOUT: %self.param_patt.loc17_36: i32 = param_pattern %self.patt.loc17_30, runtime_param1 +// CHECK:STDOUT: %self.param_patt.loc17_36: i32 = value_param_pattern %self.patt.loc17_30, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc17: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %.loc17_27: type = ptr_type %Class [template = constants.%.1] // CHECK:STDOUT: %int.make_type_32.loc17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc17_38.1: type = value_of_initializer %int.make_type_32.loc17 [template = i32] // CHECK:STDOUT: %.loc17_38.2: type = converted %int.make_type_32.loc17, %.loc17_38.1 [template = i32] -// CHECK:STDOUT: %self.param.loc17_21: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc17_21: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self.loc17_17: %.1 = bind_name self, %self.param.loc17_21 -// CHECK:STDOUT: %self.param.loc17_36: i32 = param runtime_param1 +// CHECK:STDOUT: %self.param.loc17_36: i32 = value_param runtime_param1 // CHECK:STDOUT: %self.loc17_30: i32 = bind_name r#self, %self.param.loc17_36 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt.loc21_12: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt.loc21_16: %Class = param_pattern %self.patt.loc21_12, runtime_param0 +// CHECK:STDOUT: %self.param_patt.loc21_16: %Class = value_param_pattern %self.patt.loc21_12, runtime_param0 // CHECK:STDOUT: %self.patt.loc21_24: i32 = binding_pattern r#self -// CHECK:STDOUT: %self.param_patt.loc21_30: i32 = param_pattern %self.patt.loc21_24, runtime_param1 +// CHECK:STDOUT: %self.param_patt.loc21_30: i32 = value_param_pattern %self.patt.loc21_24, runtime_param1 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc21: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc21_32: init type = call constants.%Int32() [template = i32] @@ -102,11 +102,11 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %.loc21_49.4: type = value_of_initializer %int.make_type_32.loc21_46 [template = i32] // CHECK:STDOUT: %.loc21_49.5: type = converted %int.make_type_32.loc21_46, %.loc21_49.4 [template = i32] // CHECK:STDOUT: %.loc21_49.6: type = converted %.loc21_49.1, constants.%.4 [template = constants.%.4] -// CHECK:STDOUT: %self.param.loc21_16: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc21_16: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc21_12: %Class = bind_name self, %self.param.loc21_16 -// CHECK:STDOUT: %self.param.loc21_30: i32 = param runtime_param1 +// CHECK:STDOUT: %self.param.loc21_30: i32 = value_param runtime_param1 // CHECK:STDOUT: %self.loc21_24: i32 = bind_name r#self, %self.param.loc21_30 -// CHECK:STDOUT: %return.param.loc21: %.4 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc21: ref %.4 = out_param runtime_param2 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -114,28 +114,28 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt.loc17_17: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt.loc17_21: %.1 = param_pattern %self.patt.loc17_17, runtime_param0 +// CHECK:STDOUT: %self.param_patt.loc17_21: %.1 = value_param_pattern %self.patt.loc17_17, runtime_param0 // CHECK:STDOUT: %.loc17_12: auto = addr_pattern %self.param_patt.loc17_21 // CHECK:STDOUT: %self.patt.loc17_30: i32 = binding_pattern r#self -// CHECK:STDOUT: %self.param_patt.loc17_36: i32 = param_pattern %self.patt.loc17_30, runtime_param1 +// CHECK:STDOUT: %self.param_patt.loc17_36: i32 = value_param_pattern %self.patt.loc17_30, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc12: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %.loc12_23: type = ptr_type %Class [template = constants.%.1] // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_34.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32] // CHECK:STDOUT: %.loc12_34.2: type = converted %int.make_type_32.loc12, %.loc12_34.1 [template = i32] -// CHECK:STDOUT: %self.param.loc12_17: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc12_17: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self.loc12_13: %.1 = bind_name self, %self.param.loc12_17 -// CHECK:STDOUT: %self.param.loc12_32: i32 = param runtime_param1 +// CHECK:STDOUT: %self.param.loc12_32: i32 = value_param runtime_param1 // CHECK:STDOUT: %self.loc12_26: i32 = bind_name r#self, %self.param.loc12_32 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt.loc21_12: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt.loc21_16: %Class = param_pattern %self.patt.loc21_12, runtime_param0 +// CHECK:STDOUT: %self.param_patt.loc21_16: %Class = value_param_pattern %self.patt.loc21_12, runtime_param0 // CHECK:STDOUT: %self.patt.loc21_24: i32 = binding_pattern r#self -// CHECK:STDOUT: %self.param_patt.loc21_30: i32 = param_pattern %self.patt.loc21_24, runtime_param1 +// CHECK:STDOUT: %self.param_patt.loc21_30: i32 = value_param_pattern %self.patt.loc21_24, runtime_param1 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc13: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc13_28: init type = call constants.%Int32() [template = i32] @@ -149,11 +149,11 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %.loc13_45.4: type = value_of_initializer %int.make_type_32.loc13_42 [template = i32] // CHECK:STDOUT: %.loc13_45.5: type = converted %int.make_type_32.loc13_42, %.loc13_45.4 [template = i32] // CHECK:STDOUT: %.loc13_45.6: type = converted %.loc13_45.1, constants.%.4 [template = constants.%.4] -// CHECK:STDOUT: %self.param.loc13_12: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc13_12: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc13_8: %Class = bind_name self, %self.param.loc13_12 -// CHECK:STDOUT: %self.param.loc13_26: i32 = param runtime_param1 +// CHECK:STDOUT: %self.param.loc13_26: i32 = value_param runtime_param1 // CHECK:STDOUT: %self.loc13_20: i32 = bind_name r#self, %self.param.loc13_26 -// CHECK:STDOUT: %return.param.loc13: %.4 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc13: ref %.4 = out_param runtime_param2 // CHECK:STDOUT: %.loc13_33: ref %.4 = return_slot %return.param.loc13 // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/class/raw_self_type.carbon b/toolchain/check/testdata/class/raw_self_type.carbon index 3a9c25ef9c51..5575ccbb58e6 100644 --- a/toolchain/check/testdata/class/raw_self_type.carbon +++ b/toolchain/check/testdata/class/raw_self_type.carbon @@ -64,15 +64,15 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: %MemberNamedSelf.decl: type = class_decl @MemberNamedSelf [template = constants.%MemberNamedSelf] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %x.patt: %MemberNamedSelf = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %MemberNamedSelf = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %MemberNamedSelf = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %y.patt: %Self = binding_pattern y -// CHECK:STDOUT: %y.param_patt: %Self = param_pattern %y.patt, runtime_param1 +// CHECK:STDOUT: %y.param_patt: %Self = value_param_pattern %y.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc24_25: type = name_ref Self, constants.%MemberNamedSelf [template = constants.%MemberNamedSelf] // CHECK:STDOUT: %Self.ref.loc24_34: type = name_ref r#Self, @MemberNamedSelf.%Self.decl [template = constants.%Self] -// CHECK:STDOUT: %x.param.loc24: %MemberNamedSelf = param runtime_param0 +// CHECK:STDOUT: %x.param.loc24: %MemberNamedSelf = value_param runtime_param0 // CHECK:STDOUT: %x.loc24: %MemberNamedSelf = bind_name x, %x.param.loc24 -// CHECK:STDOUT: %y.param.loc24: %Self = param runtime_param1 +// CHECK:STDOUT: %y.param.loc24: %Self = value_param runtime_param1 // CHECK:STDOUT: %y.loc24: %Self = bind_name y, %y.param.loc24 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -90,15 +90,15 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: %Self.decl: type = class_decl @Self [template = constants.%Self] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %x.patt: %MemberNamedSelf = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %MemberNamedSelf = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %MemberNamedSelf = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %y.patt: %Self = binding_pattern y -// CHECK:STDOUT: %y.param_patt: %Self = param_pattern %y.patt, runtime_param1 +// CHECK:STDOUT: %y.param_patt: %Self = value_param_pattern %y.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc21_11: type = name_ref Self, constants.%MemberNamedSelf [template = constants.%MemberNamedSelf] // CHECK:STDOUT: %Self.ref.loc21_20: type = name_ref r#Self, @MemberNamedSelf.%Self.decl [template = constants.%Self] -// CHECK:STDOUT: %x.param.loc21: %MemberNamedSelf = param runtime_param0 +// CHECK:STDOUT: %x.param.loc21: %MemberNamedSelf = value_param runtime_param0 // CHECK:STDOUT: %x.loc21: %MemberNamedSelf = bind_name x, %x.param.loc21 -// CHECK:STDOUT: %y.param.loc21: %Self = param runtime_param1 +// CHECK:STDOUT: %y.param.loc21: %Self = value_param runtime_param1 // CHECK:STDOUT: %y.loc21: %Self = bind_name y, %y.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/redeclaration.carbon b/toolchain/check/testdata/class/redeclaration.carbon index 03748468de9e..d469e66bf773 100644 --- a/toolchain/check/testdata/class/redeclaration.carbon +++ b/toolchain/check/testdata/class/redeclaration.carbon @@ -55,17 +55,17 @@ fn Class.F[self: Self](b: bool) {} // CHECK:STDOUT: %Class.decl.loc13: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc17: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %bool.make_type.loc17: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_27.1: type = value_of_initializer %bool.make_type.loc17 [template = bool] // CHECK:STDOUT: %.loc17_27.2: type = converted %bool.make_type.loc17, %.loc17_27.1 [template = bool] -// CHECK:STDOUT: %self.param.loc17: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc17: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc17: %Class = bind_name self, %self.param.loc17 -// CHECK:STDOUT: %b.param.loc17: bool = param runtime_param1 +// CHECK:STDOUT: %b.param.loc17: bool = value_param runtime_param1 // CHECK:STDOUT: %b.loc17: bool = bind_name b, %b.param.loc17 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -73,17 +73,17 @@ fn Class.F[self: Self](b: bool) {} // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %bool.make_type.loc14: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_23.1: type = value_of_initializer %bool.make_type.loc14 [template = bool] // CHECK:STDOUT: %.loc14_23.2: type = converted %bool.make_type.loc14, %.loc14_23.1 [template = bool] -// CHECK:STDOUT: %self.param.loc14: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc14: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc14: %Class = bind_name self, %self.param.loc14 -// CHECK:STDOUT: %b.param.loc14: bool = param runtime_param1 +// CHECK:STDOUT: %b.param.loc14: bool = value_param runtime_param1 // CHECK:STDOUT: %b.loc14: bool = bind_name b, %b.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/reenter_scope.carbon b/toolchain/check/testdata/class/reenter_scope.carbon index 8364c446afaa..82449eb9bcd1 100644 --- a/toolchain/check/testdata/class/reenter_scope.carbon +++ b/toolchain/check/testdata/class/reenter_scope.carbon @@ -58,12 +58,12 @@ fn Class.F() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_17.1: type = value_of_initializer %int.make_type_32.loc16 [template = i32] // CHECK:STDOUT: %.loc16_17.2: type = converted %int.make_type_32.loc16, %.loc16_17.1 [template = i32] -// CHECK:STDOUT: %return.param.loc16: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param.loc16: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc16 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -71,22 +71,22 @@ fn Class.F() -> i32 { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32.loc12, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %return.param.loc12: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param.loc12: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %.loc12_10: ref i32 = return_slot %return.param.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_13.2: type = converted %int.make_type_32, %.loc13_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/reorder.carbon b/toolchain/check/testdata/class/reorder.carbon index ee88ab3fc789..16c86a1496c5 100644 --- a/toolchain/check/testdata/class/reorder.carbon +++ b/toolchain/check/testdata/class/reorder.carbon @@ -62,22 +62,22 @@ class Class { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc16_13.2: type = converted %int.make_type_32, %.loc16_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index 2f0aba1911ba..a7387df5f979 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -75,12 +75,12 @@ fn Run() { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc21_11.2: type = converted %int.make_type_32, %.loc21_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] {} {} @@ -89,22 +89,22 @@ fn Run() { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc16_13.2: type = converted %int.make_type_32, %.loc16_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/self.carbon b/toolchain/check/testdata/class/self.carbon index 8b65d6c41933..5981b519acab 100644 --- a/toolchain/check/testdata/class/self.carbon +++ b/toolchain/check/testdata/class/self.carbon @@ -90,34 +90,34 @@ class Class { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc11: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_29.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_29.2: type = converted %int.make_type_32.loc11, %.loc11_29.1 [template = i32] -// CHECK:STDOUT: %self.param.loc11: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc11: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc11: %Class = bind_name self, %self.param.loc11 -// CHECK:STDOUT: %return.param.loc11: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc11: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc11 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc15_12: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc15: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %.loc15_27: type = ptr_type %Class [template = constants.%.2] // CHECK:STDOUT: %int.make_type_32.loc15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_35.1: type = value_of_initializer %int.make_type_32.loc15 [template = i32] // CHECK:STDOUT: %.loc15_35.2: type = converted %int.make_type_32.loc15, %.loc15_35.1 [template = i32] -// CHECK:STDOUT: %self.param.loc15: %.2 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc15: %.2 = value_param runtime_param0 // CHECK:STDOUT: %self.loc15: %.2 = bind_name self, %self.param.loc15 -// CHECK:STDOUT: %return.param.loc15: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc15: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc15 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -125,34 +125,34 @@ class Class { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc5: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc5: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_25.1: type = value_of_initializer %int.make_type_32.loc5 [template = i32] // CHECK:STDOUT: %.loc5_25.2: type = converted %int.make_type_32.loc5, %.loc5_25.1 [template = i32] -// CHECK:STDOUT: %self.param.loc5: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc5: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc5: %Class = bind_name self, %self.param.loc5 -// CHECK:STDOUT: %return.param.loc5: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc5: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc5_22: ref i32 = return_slot %return.param.loc5 // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc15_12: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %.loc6_23: type = ptr_type %Class [template = constants.%.2] // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_31.1: type = value_of_initializer %int.make_type_32.loc6 [template = i32] // CHECK:STDOUT: %.loc6_31.2: type = converted %int.make_type_32.loc6, %.loc6_31.1 [template = i32] -// CHECK:STDOUT: %self.param.loc6: %.2 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc6: %.2 = value_param runtime_param0 // CHECK:STDOUT: %self.loc6: %.2 = bind_name self, %self.param.loc6 -// CHECK:STDOUT: %return.param.loc6: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc6: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc6_28: ref i32 = return_slot %return.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] @@ -269,9 +269,9 @@ class Class { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %self.ref: %Class = name_ref self, %self @@ -279,9 +279,9 @@ class Class { // CHECK:STDOUT: %.loc18_25.1: %.4 = specific_constant imports.%import_ref.3, @ImplicitAs(type) [template = constants.%.5] // CHECK:STDOUT: %Convert.ref: %.4 = name_ref Convert, %.loc18_25.1 [template = constants.%.5] // CHECK:STDOUT: %.loc18_25.2: type = converted %self.ref, [template = ] -// CHECK:STDOUT: %self.param: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param: %Class = value_param runtime_param0 // CHECK:STDOUT: %self: %Class = bind_name self, %self.param -// CHECK:STDOUT: %return.param: = param runtime_param1 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param1 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = complete_type_witness %.7 [template = constants.%.8] diff --git a/toolchain/check/testdata/class/self_conversion.carbon b/toolchain/check/testdata/class/self_conversion.carbon index 92ae04335a8a..59345dfc76ec 100644 --- a/toolchain/check/testdata/class/self_conversion.carbon +++ b/toolchain/check/testdata/class/self_conversion.carbon @@ -87,43 +87,43 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [template = constants.%Derived] {} {} // CHECK:STDOUT: %SelfBase.decl: %SelfBase.type = fn_decl @SelfBase [template = constants.%SelfBase] { // CHECK:STDOUT: %self.patt: %Base = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Base = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Base = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Base.ref.loc22: type = name_ref Base, file.%Base.decl [template = constants.%Base] // CHECK:STDOUT: %int.make_type_32.loc22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc22_38.1: type = value_of_initializer %int.make_type_32.loc22 [template = i32] // CHECK:STDOUT: %.loc22_38.2: type = converted %int.make_type_32.loc22, %.loc22_38.1 [template = i32] -// CHECK:STDOUT: %self.param.loc22: %Base = param runtime_param0 +// CHECK:STDOUT: %self.param.loc22: %Base = value_param runtime_param0 // CHECK:STDOUT: %self.loc22: %Base = bind_name self, %self.param.loc22 -// CHECK:STDOUT: %return.param.loc22: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc22: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc22 // CHECK:STDOUT: } // CHECK:STDOUT: %AddrSelfBase.decl: %AddrSelfBase.type = fn_decl @AddrSelfBase [template = constants.%AddrSelfBase] { // CHECK:STDOUT: %self.patt: %.7 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.7 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.7 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc26_25: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Base.ref.loc26: type = name_ref Base, file.%Base.decl [template = constants.%Base] // CHECK:STDOUT: %.loc26_40: type = ptr_type %Base [template = constants.%.7] -// CHECK:STDOUT: %self.param.loc26: %.7 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc26: %.7 = value_param runtime_param0 // CHECK:STDOUT: %self.loc26: %.7 = bind_name self, %self.param.loc26 // CHECK:STDOUT: } // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] { // CHECK:STDOUT: %p.patt: %.11 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.11 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.11 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [template = constants.%Derived] // CHECK:STDOUT: %.loc30_19: type = ptr_type %Derived [template = constants.%.11] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc30_25.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc30_25.2: type = converted %int.make_type_32, %.loc30_25.1 [template = i32] -// CHECK:STDOUT: %p.param: %.11 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.11 = value_param runtime_param0 // CHECK:STDOUT: %p: %.11 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -145,27 +145,27 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %.loc16: %.6 = base_decl %Base, element0 [template] // CHECK:STDOUT: %SelfBase.decl: %SelfBase.type = fn_decl @SelfBase [template = constants.%SelfBase] { // CHECK:STDOUT: %self.patt: %Base = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Base = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Base = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Base.ref.loc18: type = name_ref Base, file.%Base.decl [template = constants.%Base] // CHECK:STDOUT: %int.make_type_32.loc18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_32.1: type = value_of_initializer %int.make_type_32.loc18 [template = i32] // CHECK:STDOUT: %.loc18_32.2: type = converted %int.make_type_32.loc18, %.loc18_32.1 [template = i32] -// CHECK:STDOUT: %self.param.loc18: %Base = param runtime_param0 +// CHECK:STDOUT: %self.param.loc18: %Base = value_param runtime_param0 // CHECK:STDOUT: %self.loc18: %Base = bind_name self, %self.param.loc18 -// CHECK:STDOUT: %return.param.loc18: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc18: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc18_29: ref i32 = return_slot %return.param.loc18 // CHECK:STDOUT: } // CHECK:STDOUT: %AddrSelfBase.decl: %AddrSelfBase.type = fn_decl @AddrSelfBase [template = constants.%AddrSelfBase] { // CHECK:STDOUT: %self.patt: %.7 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.7 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.7 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc26_25: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %Base.ref.loc19: type = name_ref Base, file.%Base.decl [template = constants.%Base] // CHECK:STDOUT: %.loc19: type = ptr_type %Base [template = constants.%.7] -// CHECK:STDOUT: %self.param.loc19: %.7 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc19: %.7 = value_param runtime_param0 // CHECK:STDOUT: %self.loc19: %.7 = bind_name self, %self.param.loc19 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc20: = complete_type_witness %.8 [template = constants.%.9] diff --git a/toolchain/check/testdata/class/self_type.carbon b/toolchain/check/testdata/class/self_type.carbon index 7b7898db0fa3..f3edc1d3d369 100644 --- a/toolchain/check/testdata/class/self_type.carbon +++ b/toolchain/check/testdata/class/self_type.carbon @@ -64,17 +64,17 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc21: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc21: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_29.1: type = value_of_initializer %int.make_type_32.loc21 [template = i32] // CHECK:STDOUT: %.loc21_29.2: type = converted %int.make_type_32.loc21, %.loc21_29.1 [template = i32] -// CHECK:STDOUT: %self.param.loc21: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc21: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc21: %Class = bind_name self, %self.param.loc21 -// CHECK:STDOUT: %return.param.loc21: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc21: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -82,25 +82,25 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %Class = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %Class = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %Class = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc12: type = name_ref Self, constants.%Class [template = constants.%Class] // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_25.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32] // CHECK:STDOUT: %.loc12_25.2: type = converted %int.make_type_32.loc12, %.loc12_25.1 [template = i32] -// CHECK:STDOUT: %self.param.loc12: %Class = param runtime_param0 +// CHECK:STDOUT: %self.param.loc12: %Class = value_param runtime_param0 // CHECK:STDOUT: %self.loc12: %Class = bind_name self, %self.param.loc12 -// CHECK:STDOUT: %return.param.loc12: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param.loc12: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc12_22: ref i32 = return_slot %return.param.loc12 // CHECK:STDOUT: } // CHECK:STDOUT: %Make.decl: %Make.type = fn_decl @Make [template = constants.%Make] { // CHECK:STDOUT: %return.patt: %Class = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %Class = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %Class = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc13: type = name_ref Self, constants.%Class [template = constants.%Class] -// CHECK:STDOUT: %return.param: %Class = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %Class = out_param runtime_param0 // CHECK:STDOUT: %return: ref %Class = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Class [template = constants.%Class] diff --git a/toolchain/check/testdata/class/static_method.carbon b/toolchain/check/testdata/class/static_method.carbon index bf4eaa346c25..9d3d9977cb72 100644 --- a/toolchain/check/testdata/class/static_method.carbon +++ b/toolchain/check/testdata/class/static_method.carbon @@ -58,12 +58,12 @@ fn Run() -> i32 { // CHECK:STDOUT: %Class.decl: type = class_decl @Class [template = constants.%Class] {} {} // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_13.2: type = converted %int.make_type_32, %.loc15_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -71,12 +71,12 @@ fn Run() -> i32 { // CHECK:STDOUT: class @Class { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_13.2: type = converted %int.make_type_32, %.loc12_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index 10a64ade45cd..65224371225e 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -75,32 +75,32 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %a.patt.loc2_9.1: i32 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt.loc2_9.1, runtime_param [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt.loc2_9.1, runtime_param [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc2_13.2: type = converted %int.make_type_32, %.loc2_13.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param // CHECK:STDOUT: %a.loc2_9.1: i32 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc2_9.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl.loc3: %D.type = class_decl @D [template = constants.%D.1] { // CHECK:STDOUT: %b.patt.loc4: %C.3 = symbolic_binding_pattern b, 0 [symbolic = constants.%b.patt.2] -// CHECK:STDOUT: %b.param_patt: %C.3 = param_pattern %b.patt.loc4, runtime_param [symbolic = constants.%b.patt.2] +// CHECK:STDOUT: %b.param_patt: %C.3 = value_param_pattern %b.patt.loc4, runtime_param [symbolic = constants.%b.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc3: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc3: i32 = int_literal 1000 [template = constants.%.4] // CHECK:STDOUT: %C.loc3: type = class_type @C, @C(constants.%.4) [template = constants.%C.3] -// CHECK:STDOUT: %b.param.loc3: %C.3 = param runtime_param +// CHECK:STDOUT: %b.param.loc3: %C.3 = value_param runtime_param // CHECK:STDOUT: %b.loc3_9.1: %C.3 = bind_symbolic_name b, 0, %b.param.loc3 [symbolic = %b.loc3_9.2 (constants.%b)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl.loc4: %D.type = class_decl @D [template = constants.%D.1] { // CHECK:STDOUT: %b.patt.loc4: %C.3 = symbolic_binding_pattern b, 0 [symbolic = constants.%b.patt.2] -// CHECK:STDOUT: %b.param_patt: %C.3 = param_pattern %b.patt.loc4, runtime_param [symbolic = constants.%b.patt.2] +// CHECK:STDOUT: %b.param_patt: %C.3 = value_param_pattern %b.patt.loc4, runtime_param [symbolic = constants.%b.patt.2] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc4: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc4_15: i32 = int_literal 1000 [template = constants.%.4] // CHECK:STDOUT: %C.loc4: type = class_type @C, @C(constants.%.4) [template = constants.%C.3] -// CHECK:STDOUT: %b.param.loc4: %C.3 = param runtime_param +// CHECK:STDOUT: %b.param.loc4: %C.3 = value_param runtime_param // CHECK:STDOUT: %b.loc4: %C.3 = bind_symbolic_name b, 0, %b.param.loc4 [symbolic = constants.%b] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -200,32 +200,32 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %a.patt.loc2_9.1: i32 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt.loc2_9.1, runtime_param [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt.loc2_9.1, runtime_param [symbolic = %a.patt.loc2_9.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc2_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc2_13.2: type = converted %int.make_type_32, %.loc2_13.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param // CHECK:STDOUT: %a.loc2_9.1: i32 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc2_9.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = class_decl @D [template = constants.%D.1] { // CHECK:STDOUT: %b.patt.loc3_9.1: %C.3 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc3_9.2 (constants.%b.patt.1)] -// CHECK:STDOUT: %b.param_patt: %C.3 = param_pattern %b.patt.loc3_9.1, runtime_param [symbolic = %b.patt.loc3_9.2 (constants.%b.patt.1)] +// CHECK:STDOUT: %b.param_patt: %C.3 = value_param_pattern %b.patt.loc3_9.1, runtime_param [symbolic = %b.patt.loc3_9.2 (constants.%b.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc3: i32 = int_literal 1000 [template = constants.%.4] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%.4) [template = constants.%C.3] -// CHECK:STDOUT: %b.param: %C.3 = param runtime_param +// CHECK:STDOUT: %b.param: %C.3 = value_param runtime_param // CHECK:STDOUT: %b.loc3_9.1: %C.3 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc3_9.2 (constants.%b)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = class_decl @.1 [template = constants.%.5] { // CHECK:STDOUT: %b.patt.loc10_9.1: %C.3 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc10_9.2 (constants.%b.patt.2)] -// CHECK:STDOUT: %b.param_patt: %C.3 = param_pattern %b.patt.loc10_9.1, runtime_param [symbolic = %b.patt.loc10_9.2 (constants.%b.patt.2)] +// CHECK:STDOUT: %b.param_patt: %C.3 = value_param_pattern %b.patt.loc10_9.1, runtime_param [symbolic = %b.patt.loc10_9.2 (constants.%b.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc10_15: i32 = int_literal 1000 [template = constants.%.4] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%.4) [template = constants.%C.3] -// CHECK:STDOUT: %b.param: %C.3 = param runtime_param +// CHECK:STDOUT: %b.param: %C.3 = value_param runtime_param // CHECK:STDOUT: %b.loc10_9.1: %C.3 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc10_9.2 (constants.%b)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/const/basic.carbon b/toolchain/check/testdata/const/basic.carbon index d8c91071f306..68f93c10880d 100644 --- a/toolchain/check/testdata/const/basic.carbon +++ b/toolchain/check/testdata/const/basic.carbon @@ -57,9 +57,9 @@ fn B(p: const (i32*)) -> const (i32*) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11_15 [template = i32] @@ -73,16 +73,16 @@ fn B(p: const (i32*)) -> const (i32*) { // CHECK:STDOUT: %.loc11_25.3: type = const_type i32 [template = constants.%.2] // CHECK:STDOUT: %.loc11_34: type = ptr_type %.2 [template = constants.%.3] // CHECK:STDOUT: %.loc11_35: type = ptr_type %.3 [template = constants.%.4] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %p.patt: %.6 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.6 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.6 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.6 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.6 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.6 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc15_16: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_19.1: type = value_of_initializer %int.make_type_32.loc15_16 [template = i32] @@ -94,9 +94,9 @@ fn B(p: const (i32*)) -> const (i32*) { // CHECK:STDOUT: %.loc15_36.2: type = converted %int.make_type_32.loc15_33, %.loc15_36.1 [template = i32] // CHECK:STDOUT: %.loc15_36.3: type = ptr_type i32 [template = constants.%.5] // CHECK:STDOUT: %.loc15_26: type = const_type %.5 [template = constants.%.6] -// CHECK:STDOUT: %p.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %p: %.6 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.6 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.6 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.6 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/const/collapse.carbon b/toolchain/check/testdata/const/collapse.carbon index 9542857c0b7d..322446ae66d8 100644 --- a/toolchain/check/testdata/const/collapse.carbon +++ b/toolchain/check/testdata/const/collapse.carbon @@ -52,9 +52,9 @@ fn F(p: const i32**) -> const (const i32)** { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc15_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_9.1: type = value_of_initializer %int.make_type_32.loc15_15 [template = i32] @@ -69,9 +69,9 @@ fn F(p: const i32**) -> const (const i32)** { // CHECK:STDOUT: %.loc15_25: type = const_type %.2 [template = constants.%.2] // CHECK:STDOUT: %.loc15_42: type = ptr_type %.2 [template = constants.%.3] // CHECK:STDOUT: %.loc15_43: type = ptr_type %.3 [template = constants.%.4] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/const/fail_collapse.carbon b/toolchain/check/testdata/const/fail_collapse.carbon index c2edcb39b0c2..9b875ac62277 100644 --- a/toolchain/check/testdata/const/fail_collapse.carbon +++ b/toolchain/check/testdata/const/fail_collapse.carbon @@ -84,9 +84,9 @@ fn G(p: const (const i32)**) -> i32** { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.6 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.6 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.6 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc15_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_16.1: type = value_of_initializer %int.make_type_32.loc15_22 [template = i32] @@ -100,9 +100,9 @@ fn G(p: const (const i32)**) -> i32** { // CHECK:STDOUT: %.loc15_36.2: type = converted %int.make_type_32.loc15_33, %.loc15_36.1 [template = i32] // CHECK:STDOUT: %.loc15_36.3: type = ptr_type i32 [template = constants.%.5] // CHECK:STDOUT: %.loc15_37: type = ptr_type %.5 [template = constants.%.6] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.6 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.6 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.6 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index 27d0c3c2d294..efae6dc201b1 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -63,13 +63,13 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32, %.loc4_11.1 [template = i32] // CHECK:STDOUT: %.loc4_11.3: type = const_type i32 [template = constants.%.2] -// CHECK:STDOUT: %return.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index bb525704f5ab..7c57f88b5db1 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -149,29 +149,29 @@ fn G() -> C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %a.patt: @F.%.loc6_24.2 (%.4) = binding_pattern a -// CHECK:STDOUT: %a.param_patt: @F.%.loc6_24.2 (%.4) = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: @F.%.loc6_24.2 (%.4) = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc6_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_20: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %.loc6_23: i32 = int_literal 3 [template = constants.%.3] // CHECK:STDOUT: %.loc6_24.1: type = array_type %.loc6_23, %T [symbolic = %.loc6_24.2 (constants.%.4)] // CHECK:STDOUT: %T.ref.loc6_30: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %a.param: @F.%.loc6_24.2 (%.4) = param runtime_param0 +// CHECK:STDOUT: %a.param: @F.%.loc6_24.2 (%.4) = value_param runtime_param0 // CHECK:STDOUT: %a: @F.%.loc6_24.2 (%.4) = bind_name a, %a.param -// CHECK:STDOUT: %return.param: @F.%T.loc6_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc6_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -303,11 +303,11 @@ fn G() -> C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %N.patt.loc10_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc10_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc10_6.1, runtime_param [symbolic = %N.patt.loc10_6.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc10_6.1, runtime_param [symbolic = %N.patt.loc10_6.2 (constants.%N.patt)] // CHECK:STDOUT: %a.patt: = binding_pattern a -// CHECK:STDOUT: %a.param_patt: = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc10_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_10.1: type = value_of_initializer %int.make_type_32.loc10_10 [template = i32] @@ -318,19 +318,19 @@ fn G() -> C { // CHECK:STDOUT: %int.make_type_32.loc10_29: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_29.1: type = value_of_initializer %int.make_type_32.loc10_29 [template = i32] // CHECK:STDOUT: %.loc10_29.2: type = converted %int.make_type_32.loc10_29, %.loc10_29.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc10_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc10_6.2 (constants.%N)] -// CHECK:STDOUT: %a.param: = param runtime_param0 +// CHECK:STDOUT: %a.param: = value_param runtime_param0 // CHECK:STDOUT: %a: = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc12: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -448,13 +448,13 @@ fn G() -> C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc10_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc10_6.1, runtime_param [symbolic = %T.patt.loc10_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc10_6.1, runtime_param [symbolic = %T.patt.loc10_6.2 (constants.%T.patt)] // CHECK:STDOUT: %N.patt.loc10_16.1: i32 = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc10_16.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc10_16.1, runtime_param [symbolic = %N.patt.loc10_16.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc10_16.1, runtime_param [symbolic = %N.patt.loc10_16.2 (constants.%N.patt)] // CHECK:STDOUT: %a.patt: = binding_pattern a -// CHECK:STDOUT: %a.param_patt: = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc10_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc10_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc10_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_20.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -463,21 +463,21 @@ fn G() -> C { // CHECK:STDOUT: %N.ref: i32 = name_ref N, %N.loc10_16.1 [symbolic = %N.loc10_16.2 (constants.%N)] // CHECK:STDOUT: %.loc10_33: type = array_type %N.ref, %T [template = ] // CHECK:STDOUT: %T.ref.loc10_39: type = name_ref T, %T.loc10_6.1 [symbolic = %T.loc10_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc10_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc10_6.2 (constants.%T)] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc10_16.1: i32 = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc10_16.2 (constants.%N)] -// CHECK:STDOUT: %a.param: = param runtime_param0 +// CHECK:STDOUT: %a.param: = value_param runtime_param0 // CHECK:STDOUT: %a: = bind_name a, %a.param -// CHECK:STDOUT: %return.param: @F.%T.loc10_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc10_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc10_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc12: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -616,29 +616,29 @@ fn G() -> C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %a.patt: @F.%.loc6_24.2 (%.4) = binding_pattern a -// CHECK:STDOUT: %a.param_patt: @F.%.loc6_24.2 (%.4) = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: @F.%.loc6_24.2 (%.4) = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc6_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_20: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %.loc6_23: i32 = int_literal 2 [template = constants.%.3] // CHECK:STDOUT: %.loc6_24.1: type = array_type %.loc6_23, %T [symbolic = %.loc6_24.2 (constants.%.4)] // CHECK:STDOUT: %T.ref.loc6_30: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %a.param: @F.%.loc6_24.2 (%.4) = param runtime_param0 +// CHECK:STDOUT: %a.param: @F.%.loc6_24.2 (%.4) = value_param runtime_param0 // CHECK:STDOUT: %a: @F.%.loc6_24.2 (%.4) = bind_name a, %a.param -// CHECK:STDOUT: %return.param: @F.%T.loc6_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc6_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -838,11 +838,11 @@ fn G() -> C { // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %N.patt.loc10_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc10_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc10_6.1, runtime_param [symbolic = %N.patt.loc10_6.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc10_6.1, runtime_param [symbolic = %N.patt.loc10_6.2 (constants.%N.patt)] // CHECK:STDOUT: %a.patt: = binding_pattern a -// CHECK:STDOUT: %a.param_patt: = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc10_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_10.1: type = value_of_initializer %int.make_type_32.loc10_10 [template = i32] @@ -853,19 +853,19 @@ fn G() -> C { // CHECK:STDOUT: %int.make_type_32.loc10_29: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc10_29.1: type = value_of_initializer %int.make_type_32.loc10_29 [template = i32] // CHECK:STDOUT: %.loc10_29.2: type = converted %int.make_type_32.loc10_29, %.loc10_29.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc10_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc10_6.2 (constants.%N)] -// CHECK:STDOUT: %a.param: = param runtime_param0 +// CHECK:STDOUT: %a.param: = value_param runtime_param0 // CHECK:STDOUT: %a: = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index bcbb3c89c518..14aa1b2ab8a4 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -112,44 +112,44 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc7_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: %p.patt: @F.%C.loc7_20.2 (%C.2) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%C.loc7_20.2 (%C.2) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%C.loc7_20.2 (%C.2) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc7_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc7_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc7_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %T.ref.loc7_21: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] // CHECK:STDOUT: %C.loc7_20.1: type = class_type @C, @C(constants.%T) [symbolic = %C.loc7_20.2 (constants.%C.2)] // CHECK:STDOUT: %T.ref.loc7_28: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc7_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%C.loc7_20.2 (%C.2) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%C.loc7_20.2 (%C.2) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%C.loc7_20.2 (%C.2) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%T.loc7_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc7_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc7_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %C.3 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %C.3 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %C.3 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %D = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %D = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %D = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %D.ref.loc9_11: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%D) [template = constants.%C.3] // CHECK:STDOUT: %D.ref.loc9_18: type = name_ref D, file.%D.decl [template = constants.%D] -// CHECK:STDOUT: %p.param: %C.3 = param runtime_param0 +// CHECK:STDOUT: %p.param: %C.3 = value_param runtime_param0 // CHECK:STDOUT: %p: %C.3 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %D = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %D = out_param runtime_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -295,44 +295,44 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: %I.type = class_decl @I [template = constants.%I.1] { // CHECK:STDOUT: %T.patt.loc4_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_9.1, runtime_param [symbolic = %T.patt.loc4_9.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc7_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: %p.patt: @F.%I.loc7_20.2 (%I.2) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%I.loc7_20.2 (%I.2) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%I.loc7_20.2 (%I.2) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: %I.type = name_ref I, file.%I.decl [template = constants.%I.1] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] // CHECK:STDOUT: %I.loc7_20.1: type = class_type @I, @I(constants.%T) [symbolic = %I.loc7_20.2 (constants.%I.2)] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc7_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%I.loc7_20.2 (%I.2) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%I.loc7_20.2 (%I.2) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%I.loc7_20.2 (%I.2) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %I.3 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %I.3 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %I.3 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: %I.type = name_ref I, file.%I.decl [template = constants.%I.1] // CHECK:STDOUT: %C.ref.loc9_11: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %I: type = class_type @I, @I(constants.%C) [template = constants.%I.3] // CHECK:STDOUT: %C.ref.loc9_18: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %p.param: %I.3 = param runtime_param0 +// CHECK:STDOUT: %p.param: %I.3 = value_param runtime_param0 // CHECK:STDOUT: %p: %I.3 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -494,22 +494,22 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [template = constants.%Outer.1] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc13_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc13_6.1, runtime_param [symbolic = %T.patt.loc13_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc13_6.1, runtime_param [symbolic = %T.patt.loc13_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: %U.patt.loc13_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt.2)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc13_16.1, runtime_param [symbolic = %U.patt.loc13_16.2 (constants.%U.patt.2)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc13_16.1, runtime_param [symbolic = %U.patt.loc13_16.2 (constants.%U.patt.2)] // CHECK:STDOUT: %p.patt: @F.%Inner.loc13_43.2 (%Inner.2) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%Inner.loc13_43.2 (%Inner.2) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%Inner.loc13_43.2 (%Inner.2) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%.loc13_56.3 (%.6) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%.loc13_56.3 (%.6) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%.loc13_56.3 (%.6) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [template = constants.%Outer.1] // CHECK:STDOUT: %T.ref.loc13_35: type = name_ref T, %T.loc13_6.1 [symbolic = %T.loc13_6.2 (constants.%T)] @@ -522,20 +522,20 @@ fn G() -> i32 { // CHECK:STDOUT: %U.ref.loc13_55: type = name_ref U, %U.loc13_16.1 [symbolic = %U.loc13_16.2 (constants.%U)] // CHECK:STDOUT: %.loc13_56.1: %.5 = tuple_literal (%T.ref.loc13_52, %U.ref.loc13_55) // CHECK:STDOUT: %.loc13_56.2: type = converted %.loc13_56.1, constants.%.6 [symbolic = %.loc13_56.3 (constants.%.6)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc13_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc13_6.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc13_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc13_16.2 (constants.%U)] -// CHECK:STDOUT: %p.param: @F.%Inner.loc13_43.2 (%Inner.2) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%Inner.loc13_43.2 (%Inner.2) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%Inner.loc13_43.2 (%Inner.2) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%.loc13_56.3 (%.6) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%.loc13_56.3 (%.6) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%.loc13_56.3 (%.6) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %Inner.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %Inner.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %Inner.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.9 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.9 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.9 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [template = constants.%Outer.1] // CHECK:STDOUT: %C.ref.loc15_15: type = name_ref C, file.%C.decl [template = constants.%C] @@ -548,9 +548,9 @@ fn G() -> i32 { // CHECK:STDOUT: %D.ref.loc15_35: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %.loc15_36.1: %.5 = tuple_literal (%C.ref.loc15_32, %D.ref.loc15_35) // CHECK:STDOUT: %.loc15_36.2: type = converted %.loc15_36.1, constants.%.9 [template = constants.%.9] -// CHECK:STDOUT: %p.param: %Inner.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %Inner.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %Inner.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.9 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.9 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.9 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -566,9 +566,9 @@ fn G() -> i32 { // CHECK:STDOUT: class { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.1) = class_decl @Inner [symbolic = @Outer.%Inner (constants.%Inner.1)] { // CHECK:STDOUT: %U.patt.loc5_15.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc5_15.2 (constants.%U.patt.1)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc5_15.1, runtime_param [symbolic = %U.patt.loc5_15.2 (constants.%U.patt.1)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc5_15.1, runtime_param [symbolic = %U.patt.loc5_15.2 (constants.%U.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc5_15.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc5_15.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6: = complete_type_witness %.2 [template = constants.%.3] @@ -792,21 +792,21 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %WithNontype.decl: %WithNontype.type = class_decl @WithNontype [template = constants.%WithNontype.1] { // CHECK:STDOUT: %N.patt.loc4_19.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_19.2 (constants.%N.patt.1)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_19.1, runtime_param [symbolic = %N.patt.loc4_19.2 (constants.%N.patt.1)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_19.1, runtime_param [symbolic = %N.patt.loc4_19.2 (constants.%N.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_23.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_23.2: type = converted %int.make_type_32, %.loc4_23.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_19.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc4_19.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %N.patt.loc6_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc6_6.2 (constants.%N.patt.2)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc6_6.1, runtime_param [symbolic = %N.patt.loc6_6.2 (constants.%N.patt.2)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc6_6.1, runtime_param [symbolic = %N.patt.loc6_6.2 (constants.%N.patt.2)] // CHECK:STDOUT: %x.patt: @F.%WithNontype.loc6_29.2 (%WithNontype.2) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @F.%WithNontype.loc6_29.2 (%WithNontype.2) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @F.%WithNontype.loc6_29.2 (%WithNontype.2) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_10.1: type = value_of_initializer %int.make_type_32.loc6_10 [template = i32] @@ -817,21 +817,21 @@ fn G() -> i32 { // CHECK:STDOUT: %int.make_type_32.loc6_37: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_37.1: type = value_of_initializer %int.make_type_32.loc6_37 [template = i32] // CHECK:STDOUT: %.loc6_37.2: type = converted %int.make_type_32.loc6_37, %.loc6_37.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc6_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc6_6.2 (constants.%N)] -// CHECK:STDOUT: %x.param: @F.%WithNontype.loc6_29.2 (%WithNontype.2) = param runtime_param0 +// CHECK:STDOUT: %x.param: @F.%WithNontype.loc6_29.2 (%WithNontype.2) = value_param runtime_param0 // CHECK:STDOUT: %x: @F.%WithNontype.loc6_29.2 (%WithNontype.2) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_11.2: type = converted %int.make_type_32, %.loc8_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/int_float.carbon b/toolchain/check/testdata/deduce/int_float.carbon index 343991f25c79..d32aec0204a4 100644 --- a/toolchain/check/testdata/deduce/int_float.carbon +++ b/toolchain/check/testdata/deduce/int_float.carbon @@ -82,11 +82,11 @@ fn G(a: f64) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %N.patt.loc4_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_6.1, runtime_param [symbolic = %N.patt.loc4_6.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_6.1, runtime_param [symbolic = %N.patt.loc4_6.2 (constants.%N.patt)] // CHECK:STDOUT: %n.patt: @F.%.loc4_26 (%.2) = binding_pattern n -// CHECK:STDOUT: %n.param_patt: @F.%.loc4_26 (%.2) = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: @F.%.loc4_26 (%.2) = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_10.1: type = value_of_initializer %int.make_type_32.loc4_10 [template = i32] @@ -100,18 +100,18 @@ fn G(a: f64) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc4_34: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_34.1: type = value_of_initializer %int.make_type_32.loc4_34 [template = i32] // CHECK:STDOUT: %.loc4_34.2: type = converted %int.make_type_32.loc4_34, %.loc4_34.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc4_6.2 (constants.%N)] -// CHECK:STDOUT: %n.param: @F.%.loc4_26 (%.2) = param runtime_param0 +// CHECK:STDOUT: %n.param: @F.%.loc4_26 (%.2) = value_param runtime_param0 // CHECK:STDOUT: %n: @F.%.loc4_26 (%.2) = bind_name n, %n.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: %.4 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.4 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.4 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_9.1: i32 = int_literal 64 [template = constants.%.3] // CHECK:STDOUT: %int.make_type_signed: init type = call constants.%Int(%.loc8_9.1) [template = constants.%.4] @@ -120,9 +120,9 @@ fn G(a: f64) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_17.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_17.2: type = converted %int.make_type_32, %.loc8_17.1 [template = i32] -// CHECK:STDOUT: %a.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %a: %.4 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -213,11 +213,11 @@ fn G(a: f64) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %N.patt.loc8_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc8_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc8_6.1, runtime_param [symbolic = %N.patt.loc8_6.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc8_6.1, runtime_param [symbolic = %N.patt.loc8_6.2 (constants.%N.patt)] // CHECK:STDOUT: %n.patt: = binding_pattern n -// CHECK:STDOUT: %n.param_patt: = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc8_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_10.1: type = value_of_initializer %int.make_type_32.loc8_10 [template = i32] @@ -231,18 +231,18 @@ fn G(a: f64) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc8_36: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_36.1: type = value_of_initializer %int.make_type_32.loc8_36 [template = i32] // CHECK:STDOUT: %.loc8_36.2: type = converted %int.make_type_32.loc8_36, %.loc8_36.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc8_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc8_6.2 (constants.%N)] -// CHECK:STDOUT: %n.param: = param runtime_param0 +// CHECK:STDOUT: %n.param: = value_param runtime_param0 // CHECK:STDOUT: %n: = bind_name n, %n.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: f64 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: f64 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: f64 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_9.1: i32 = int_literal 64 [template = constants.%.2] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc12_9.1) [template = f64] @@ -251,9 +251,9 @@ fn G(a: f64) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_17.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_17.2: type = converted %int.make_type_32, %.loc12_17.1 [template = i32] -// CHECK:STDOUT: %a.param: f64 = param runtime_param0 +// CHECK:STDOUT: %a.param: f64 = value_param runtime_param0 // CHECK:STDOUT: %a: f64 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index 43b436e98610..519c57a53a36 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -105,42 +105,42 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc7_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc7_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc7_16.1, runtime_param [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc7_16.1, runtime_param [symbolic = %U.patt.loc7_16.2 (constants.%U.patt)] // CHECK:STDOUT: %pair.patt: @F.%.loc7_37.3 (%.4) = binding_pattern pair -// CHECK:STDOUT: %pair.param_patt: @F.%.loc7_37.3 (%.4) = param_pattern %pair.patt, runtime_param0 +// CHECK:STDOUT: %pair.param_patt: @F.%.loc7_37.3 (%.4) = value_param_pattern %pair.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%U.loc7_16.2 (%U) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%U.loc7_16.2 (%U) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%U.loc7_16.2 (%U) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] // CHECK:STDOUT: %U.ref.loc7_36: type = name_ref U, %U.loc7_16.1 [symbolic = %U.loc7_16.2 (constants.%U)] // CHECK:STDOUT: %.loc7_37.1: %.3 = tuple_literal (%T.ref, %U.ref.loc7_36) // CHECK:STDOUT: %.loc7_37.2: type = converted %.loc7_37.1, constants.%.4 [symbolic = %.loc7_37.3 (constants.%.4)] // CHECK:STDOUT: %U.ref.loc7_43: type = name_ref U, %U.loc7_16.1 [symbolic = %U.loc7_16.2 (constants.%U)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc7_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_6.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc7_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc7_16.2 (constants.%U)] -// CHECK:STDOUT: %pair.param: @F.%.loc7_37.3 (%.4) = param runtime_param0 +// CHECK:STDOUT: %pair.param: @F.%.loc7_37.3 (%.4) = value_param runtime_param0 // CHECK:STDOUT: %pair: @F.%.loc7_37.3 (%.4) = bind_name pair, %pair.param -// CHECK:STDOUT: %return.param: @F.%U.loc7_16.2 (%U) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%U.loc7_16.2 (%U) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%U.loc7_16.2 (%U) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %pair.patt: %.8 = binding_pattern pair -// CHECK:STDOUT: %pair.param_patt: %.8 = param_pattern %pair.patt, runtime_param0 +// CHECK:STDOUT: %pair.param_patt: %.8 = value_param_pattern %pair.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %D = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %D = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %D = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %D.ref.loc9_16: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %.loc9_17.1: %.3 = tuple_literal (%C.ref, %D.ref.loc9_16) // CHECK:STDOUT: %.loc9_17.2: type = converted %.loc9_17.1, constants.%.8 [template = constants.%.8] // CHECK:STDOUT: %D.ref.loc9_23: type = name_ref D, file.%D.decl [template = constants.%D] -// CHECK:STDOUT: %pair.param: %.8 = param runtime_param0 +// CHECK:STDOUT: %pair.param: %.8 = value_param runtime_param0 // CHECK:STDOUT: %pair: %.8 = bind_name pair, %pair.param -// CHECK:STDOUT: %return.param: %D = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %D = out_param runtime_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -280,7 +280,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasPair.decl: %HasPair.type = class_decl @HasPair [template = constants.%HasPair.1] { // CHECK:STDOUT: %Pair.patt.loc4_15.1: %.3 = symbolic_binding_pattern Pair, 0 [symbolic = %Pair.patt.loc4_15.2 (constants.%Pair.patt)] -// CHECK:STDOUT: %Pair.param_patt: %.3 = param_pattern %Pair.patt.loc4_15.1, runtime_param [symbolic = %Pair.patt.loc4_15.2 (constants.%Pair.patt)] +// CHECK:STDOUT: %Pair.param_patt: %.3 = value_param_pattern %Pair.patt.loc4_15.1, runtime_param [symbolic = %Pair.patt.loc4_15.2 (constants.%Pair.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4_23: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc4_28: init type = call constants.%Int32() [template = i32] @@ -290,18 +290,18 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %.loc4_31.4: type = value_of_initializer %int.make_type_32.loc4_28 [template = i32] // CHECK:STDOUT: %.loc4_31.5: type = converted %int.make_type_32.loc4_28, %.loc4_31.4 [template = i32] // CHECK:STDOUT: %.loc4_31.6: type = converted %.loc4_31.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %Pair.param: %.3 = param runtime_param +// CHECK:STDOUT: %Pair.param: %.3 = value_param runtime_param // CHECK:STDOUT: %Pair.loc4_15.1: %.3 = bind_symbolic_name Pair, 0, %Pair.param [symbolic = %Pair.loc4_15.2 (constants.%Pair)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %A.patt.loc6_6.1: i32 = symbolic_binding_pattern A, 0 [symbolic = %A.patt.loc6_6.2 (constants.%A.patt)] -// CHECK:STDOUT: %A.param_patt: i32 = param_pattern %A.patt.loc6_6.1, runtime_param [symbolic = %A.patt.loc6_6.2 (constants.%A.patt)] +// CHECK:STDOUT: %A.param_patt: i32 = value_param_pattern %A.patt.loc6_6.1, runtime_param [symbolic = %A.patt.loc6_6.2 (constants.%A.patt)] // CHECK:STDOUT: %B.patt.loc6_15.1: i32 = symbolic_binding_pattern B, 1 [symbolic = %B.patt.loc6_15.2 (constants.%B.patt)] -// CHECK:STDOUT: %B.param_patt: i32 = param_pattern %B.patt.loc6_15.1, runtime_param [symbolic = %B.patt.loc6_15.2 (constants.%B.patt)] +// CHECK:STDOUT: %B.param_patt: i32 = value_param_pattern %B.patt.loc6_15.1, runtime_param [symbolic = %B.patt.loc6_15.2 (constants.%B.patt)] // CHECK:STDOUT: %h.patt: @F.%HasPair.loc6_34.2 (%HasPair.3) = binding_pattern h -// CHECK:STDOUT: %h.param_patt: @F.%HasPair.loc6_34.2 (%HasPair.3) = param_pattern %h.patt, runtime_param0 +// CHECK:STDOUT: %h.param_patt: @F.%HasPair.loc6_34.2 (%HasPair.3) = value_param_pattern %h.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_10.1: type = value_of_initializer %int.make_type_32.loc6_10 [template = i32] @@ -319,20 +319,20 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %int.make_type_32.loc6_47: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_47.1: type = value_of_initializer %int.make_type_32.loc6_47 [template = i32] // CHECK:STDOUT: %.loc6_47.2: type = converted %int.make_type_32.loc6_47, %.loc6_47.1 [template = i32] -// CHECK:STDOUT: %A.param: i32 = param runtime_param +// CHECK:STDOUT: %A.param: i32 = value_param runtime_param // CHECK:STDOUT: %A.loc6_6.1: i32 = bind_symbolic_name A, 0, %A.param [symbolic = %A.loc6_6.2 (constants.%A)] -// CHECK:STDOUT: %B.param: i32 = param runtime_param +// CHECK:STDOUT: %B.param: i32 = value_param runtime_param // CHECK:STDOUT: %B.loc6_15.1: i32 = bind_symbolic_name B, 1, %B.param [symbolic = %B.loc6_15.2 (constants.%B)] -// CHECK:STDOUT: %h.param: @F.%HasPair.loc6_34.2 (%HasPair.3) = param runtime_param0 +// CHECK:STDOUT: %h.param: @F.%HasPair.loc6_34.2 (%HasPair.3) = value_param runtime_param0 // CHECK:STDOUT: %h: @F.%HasPair.loc6_34.2 (%HasPair.3) = bind_name h, %h.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %h.patt: %HasPair.4 = binding_pattern h -// CHECK:STDOUT: %h.param_patt: %HasPair.4 = param_pattern %h.patt, runtime_param0 +// CHECK:STDOUT: %h.param_patt: %HasPair.4 = value_param_pattern %h.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %HasPair.ref: %HasPair.type = name_ref HasPair, file.%HasPair.decl [template = constants.%HasPair.1] // CHECK:STDOUT: %.loc8_18: i32 = int_literal 1 [template = constants.%.8] @@ -344,9 +344,9 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_29.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_29.2: type = converted %int.make_type_32, %.loc8_29.1 [template = i32] -// CHECK:STDOUT: %h.param: %HasPair.4 = param runtime_param0 +// CHECK:STDOUT: %h.param: %HasPair.4 = value_param runtime_param0 // CHECK:STDOUT: %h: %HasPair.4 = bind_name h, %h.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -487,38 +487,38 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc7_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] // CHECK:STDOUT: %pair.patt: @F.%.loc7_27.3 (%.4) = binding_pattern pair -// CHECK:STDOUT: %pair.param_patt: @F.%.loc7_27.3 (%.4) = param_pattern %pair.patt, runtime_param0 +// CHECK:STDOUT: %pair.param_patt: @F.%.loc7_27.3 (%.4) = value_param_pattern %pair.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc7_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc7_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc7_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc7_23: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc7_26: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] // CHECK:STDOUT: %.loc7_27.1: %.3 = tuple_literal (%T.ref.loc7_23, %T.ref.loc7_26) // CHECK:STDOUT: %.loc7_27.2: type = converted %.loc7_27.1, constants.%.4 [symbolic = %.loc7_27.3 (constants.%.4)] // CHECK:STDOUT: %T.ref.loc7_33: type = name_ref T, %T.loc7_6.1 [symbolic = %T.loc7_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc7_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_6.2 (constants.%T)] -// CHECK:STDOUT: %pair.param: @F.%.loc7_27.3 (%.4) = param runtime_param0 +// CHECK:STDOUT: %pair.param: @F.%.loc7_27.3 (%.4) = value_param runtime_param0 // CHECK:STDOUT: %pair: @F.%.loc7_27.3 (%.4) = bind_name pair, %pair.param -// CHECK:STDOUT: %return.param: @F.%T.loc7_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc7_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc7_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %pair.patt: %.6 = binding_pattern pair -// CHECK:STDOUT: %pair.param_patt: %.6 = param_pattern %pair.patt, runtime_param0 +// CHECK:STDOUT: %pair.param_patt: %.6 = value_param_pattern %pair.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %D = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %D = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %D = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %D.ref.loc9_16: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %.loc9_17.1: %.3 = tuple_literal (%C.ref, %D.ref.loc9_16) // CHECK:STDOUT: %.loc9_17.2: type = converted %.loc9_17.1, constants.%.6 [template = constants.%.6] // CHECK:STDOUT: %D.ref.loc9_23: type = name_ref D, file.%D.decl [template = constants.%D] -// CHECK:STDOUT: %pair.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %pair.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %pair: %.6 = bind_name pair, %pair.param -// CHECK:STDOUT: %return.param: %D = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %D = out_param runtime_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/type_operator.carbon b/toolchain/check/testdata/deduce/type_operator.carbon index cd8fdc869710..b28227aa4b29 100644 --- a/toolchain/check/testdata/deduce/type_operator.carbon +++ b/toolchain/check/testdata/deduce/type_operator.carbon @@ -106,34 +106,34 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %p.patt: @F.%.loc6_20.2 (%.3) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%.loc6_20.2 (%.3) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%.loc6_20.2 (%.3) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc6_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_19: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %.loc6_20.1: type = ptr_type %T [symbolic = %.loc6_20.2 (constants.%.3)] // CHECK:STDOUT: %T.ref.loc6_26: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%.loc6_20.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%.loc6_20.2 (%.3) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%.loc6_20.2 (%.3) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%T.loc6_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc6_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.6 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.6 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.6 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_9: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc8_10: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc8_16: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %p.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %p: %.6 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -245,36 +245,36 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %p.patt: @F.%.loc6_26.2 (%.4) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%.loc6_26.2 (%.4) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%.loc6_26.2 (%.4) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc6_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %.loc6_19.1: type = const_type %T [symbolic = %.loc6_19.2 (constants.%.3)] // CHECK:STDOUT: %.loc6_26.1: type = ptr_type %.3 [symbolic = %.loc6_26.2 (constants.%.4)] // CHECK:STDOUT: %T.ref.loc6_32: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%.loc6_26.2 (%.4) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%.loc6_26.2 (%.4) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%.loc6_26.2 (%.4) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%T.loc6_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc6_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.8 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.8 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.8 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc8_9: type = const_type %C [template = constants.%.7] // CHECK:STDOUT: %.loc8_16: type = ptr_type %.7 [template = constants.%.8] // CHECK:STDOUT: %C.ref.loc8_22: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %p.param: %.8 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.8 = value_param runtime_param0 // CHECK:STDOUT: %p: %.8 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -389,36 +389,36 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %p.patt: @F.%.loc6_20.2 (%.3) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%.loc6_20.2 (%.3) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%.loc6_20.2 (%.3) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc6_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_19: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %.loc6_20.1: type = ptr_type %T [symbolic = %.loc6_20.2 (constants.%.3)] // CHECK:STDOUT: %T.ref.loc6_26: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%.loc6_20.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%.loc6_20.2 (%.3) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%.loc6_20.2 (%.3) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%T.loc6_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc6_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.7 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.7 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.7 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.6 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.6 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.6 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc8_9: type = const_type %C [template = constants.%.6] // CHECK:STDOUT: %.loc8_16: type = ptr_type %.6 [template = constants.%.7] // CHECK:STDOUT: %C.ref.loc8_28: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc8_22: type = const_type %C [template = constants.%.6] -// CHECK:STDOUT: %p.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %p: %.7 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.6 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.6 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.6 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -529,36 +529,36 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_6.1, runtime_param [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %p.patt: @F.%.loc6_26.2 (%.4) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%.loc6_26.2 (%.4) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%.loc6_26.2 (%.4) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc6_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc6_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %.loc6_19.1: type = const_type %T [symbolic = %.loc6_19.2 (constants.%.3)] // CHECK:STDOUT: %.loc6_26.1: type = ptr_type %.3 [symbolic = %.loc6_26.2 (constants.%.4)] // CHECK:STDOUT: %T.ref.loc6_32: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%.loc6_26.2 (%.4) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%.loc6_26.2 (%.4) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%.loc6_26.2 (%.4) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%T.loc6_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc6_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %p.patt: %.7 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.7 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.7 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.8 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.8 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.8 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_9: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc8_10: type = ptr_type %C [template = constants.%.7] // CHECK:STDOUT: %C.ref.loc8_22: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc8_16: type = const_type %C [template = constants.%.8] -// CHECK:STDOUT: %p.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %p: %.7 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.8 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.8 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.8 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/eval/fail_symbolic.carbon b/toolchain/check/testdata/eval/fail_symbolic.carbon index 4c04318cfc65..6bc70fef8c79 100644 --- a/toolchain/check/testdata/eval/fail_symbolic.carbon +++ b/toolchain/check/testdata/eval/fail_symbolic.carbon @@ -51,12 +51,12 @@ fn G(N:! i32) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %N.patt.loc12_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc12_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc12_6.1, runtime_param [symbolic = %N.patt.loc12_6.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc12_6.1, runtime_param [symbolic = %N.patt.loc12_6.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_10.1: type = value_of_initializer %int.make_type_32.loc12 [template = i32] // CHECK:STDOUT: %.loc12_10.2: type = converted %int.make_type_32.loc12, %.loc12_10.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc12_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc12_6.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/eval/symbolic.carbon b/toolchain/check/testdata/eval/symbolic.carbon index 0541c1316fa4..20d2227ddeae 100644 --- a/toolchain/check/testdata/eval/symbolic.carbon +++ b/toolchain/check/testdata/eval/symbolic.carbon @@ -56,9 +56,9 @@ fn F(T:! type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc12_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_6.1, runtime_param [symbolic = %T.patt.loc12_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_6.1, runtime_param [symbolic = %T.patt.loc12_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon b/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon index 59cdebf99356..7dd00f3f4eb9 100644 --- a/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/expr_category/in_place_tuple_init.carbon @@ -63,7 +63,7 @@ fn H() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc11_17: init type = call constants.%Int32() [template = i32] @@ -73,12 +73,12 @@ fn H() -> i32 { // CHECK:STDOUT: %.loc11_20.4: type = value_of_initializer %int.make_type_32.loc11_17 [template = i32] // CHECK:STDOUT: %.loc11_20.5: type = converted %int.make_type_32.loc11_17, %.loc11_20.4 [template = i32] // CHECK:STDOUT: %.loc11_20.6: type = converted %.loc11_20.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc13_17: init type = call constants.%Int32() [template = i32] @@ -88,17 +88,17 @@ fn H() -> i32 { // CHECK:STDOUT: %.loc13_20.4: type = value_of_initializer %int.make_type_32.loc13_17 [template = i32] // CHECK:STDOUT: %.loc13_20.5: type = converted %int.make_type_32.loc13_17, %.loc13_20.4 [template = i32] // CHECK:STDOUT: %.loc13_20.6: type = converted %.loc13_20.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc19_11.2: type = converted %int.make_type_32, %.loc19_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index 25146cb9db02..dd3923cb937d 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -51,11 +51,11 @@ var arr: [i32; Add(1, 2)]; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -66,11 +66,11 @@ var arr: [i32; Add(1, 2)]; // CHECK:STDOUT: %int.make_type_32.loc11_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_27.1: type = value_of_initializer %int.make_type_32.loc11_27 [template = i32] // CHECK:STDOUT: %.loc11_27.2: type = converted %int.make_type_32.loc11_27, %.loc11_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/function/builtin/definition.carbon b/toolchain/check/testdata/function/builtin/definition.carbon index a23e7eb5773d..a0c5196e408c 100644 --- a/toolchain/check/testdata/function/builtin/definition.carbon +++ b/toolchain/check/testdata/function/builtin/definition.carbon @@ -43,11 +43,11 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Add.decl: %Add.type = fn_decl @Add [template = constants.%Add] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -58,11 +58,11 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc11_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_27.1: type = value_of_initializer %int.make_type_32.loc11_27 [template = i32] // CHECK:STDOUT: %.loc11_27.2: type = converted %int.make_type_32.loc11_27, %.loc11_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index 5d7b32b3e427..54e0b4a90ae7 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -76,11 +76,11 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl.loc11: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param1 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11_9 [template = i32] @@ -91,20 +91,20 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc11_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_25.1: type = value_of_initializer %int.make_type_32.loc11_25 [template = i32] // CHECK:STDOUT: %.loc11_25.2: type = converted %int.make_type_32.loc11_25, %.loc11_25.1 [template = i32] -// CHECK:STDOUT: %n.param.loc11: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc11: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc11: i32 = bind_name n, %n.param.loc11 -// CHECK:STDOUT: %m.param.loc11: i32 = param runtime_param1 +// CHECK:STDOUT: %m.param.loc11: i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc11: i32 = bind_name m, %m.param.loc11 -// CHECK:STDOUT: %return.param.loc11: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc11: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %.loc11_22: ref i32 = return_slot %return.param.loc11 // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl.loc19: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param1 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc19_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_9.1: type = value_of_initializer %int.make_type_32.loc19_9 [template = i32] @@ -115,20 +115,20 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc19_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_25.1: type = value_of_initializer %int.make_type_32.loc19_25 [template = i32] // CHECK:STDOUT: %.loc19_25.2: type = converted %int.make_type_32.loc19_25, %.loc19_25.1 [template = i32] -// CHECK:STDOUT: %n.param.loc19: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc19: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc19: i32 = bind_name n, %n.param.loc19 -// CHECK:STDOUT: %m.param.loc19: i32 = param runtime_param1 +// CHECK:STDOUT: %m.param.loc19: i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc19: i32 = bind_name m, %m.param.loc19 -// CHECK:STDOUT: %return.param.loc19: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc19: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc19 // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl.loc21: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param1 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc21_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_9.1: type = value_of_initializer %int.make_type_32.loc21_9 [template = i32] @@ -139,20 +139,20 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc21_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_25.1: type = value_of_initializer %int.make_type_32.loc21_25 [template = i32] // CHECK:STDOUT: %.loc21_25.2: type = converted %int.make_type_32.loc21_25, %.loc21_25.1 [template = i32] -// CHECK:STDOUT: %n.param.loc21: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc21: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc21: i32 = bind_name n, %n.param.loc21 -// CHECK:STDOUT: %m.param.loc21: i32 = param runtime_param1 +// CHECK:STDOUT: %m.param.loc21: i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc21: i32 = bind_name m, %m.param.loc21 -// CHECK:STDOUT: %return.param.loc21: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc21: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %.loc21_22: ref i32 = return_slot %return.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl.loc29: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param1 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc29_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc29_9.1: type = value_of_initializer %int.make_type_32.loc29_9 [template = i32] @@ -163,20 +163,20 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc29_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc29_25.1: type = value_of_initializer %int.make_type_32.loc29_25 [template = i32] // CHECK:STDOUT: %.loc29_25.2: type = converted %int.make_type_32.loc29_25, %.loc29_25.1 [template = i32] -// CHECK:STDOUT: %n.param.loc29: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc29: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc29: i32 = bind_name n, %n.param.loc29 -// CHECK:STDOUT: %m.param.loc29: i32 = param runtime_param1 +// CHECK:STDOUT: %m.param.loc29: i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc29: i32 = bind_name m, %m.param.loc29 -// CHECK:STDOUT: %return.param.loc29: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc29: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc29 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc31: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param1 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc31_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc31_9.1: type = value_of_initializer %int.make_type_32.loc31_9 [template = i32] @@ -187,20 +187,20 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc31_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc31_25.1: type = value_of_initializer %int.make_type_32.loc31_25 [template = i32] // CHECK:STDOUT: %.loc31_25.2: type = converted %int.make_type_32.loc31_25, %.loc31_25.1 [template = i32] -// CHECK:STDOUT: %n.param.loc31: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc31: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc31: i32 = bind_name n, %n.param.loc31 -// CHECK:STDOUT: %m.param.loc31: i32 = param runtime_param1 +// CHECK:STDOUT: %m.param.loc31: i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc31: i32 = bind_name m, %m.param.loc31 -// CHECK:STDOUT: %return.param.loc31: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc31: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %.loc31_22: ref i32 = return_slot %return.param.loc31 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc38: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param1 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc38_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc38_9.1: type = value_of_initializer %int.make_type_32.loc38_9 [template = i32] @@ -211,11 +211,11 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %int.make_type_32.loc38_25: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc38_25.1: type = value_of_initializer %int.make_type_32.loc38_25 [template = i32] // CHECK:STDOUT: %.loc38_25.2: type = converted %int.make_type_32.loc38_25, %.loc38_25.1 [template = i32] -// CHECK:STDOUT: %n.param.loc38: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc38: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc38: i32 = bind_name n, %n.param.loc38 -// CHECK:STDOUT: %m.param.loc38: i32 = param runtime_param1 +// CHECK:STDOUT: %m.param.loc38: i32 = value_param runtime_param1 // CHECK:STDOUT: %m.loc38: i32 = bind_name m, %m.param.loc38 -// CHECK:STDOUT: %return.param.loc38: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param.loc38: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param.loc38 // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index 94f44454a6d9..c82caf073b57 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -89,11 +89,11 @@ var arr: [i32; 1.(I.F)(2)]; // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: @F.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: @F.1.%Self (%Self) = binding_pattern other -// CHECK:STDOUT: %other.param_patt: @F.1.%Self (%Self) = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: @F.1.%Self (%Self) = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: @F.1.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.1.%Self (%Self) = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: @F.1.%Self (%Self) = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc12_14: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_14.1: type = facet_type_access %Self.ref.loc12_14 [symbolic = %Self (constants.%Self)] @@ -104,11 +104,11 @@ var arr: [i32; 1.(I.F)(2)]; // CHECK:STDOUT: %Self.ref.loc12_36: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_36.1: type = facet_type_access %Self.ref.loc12_36 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_36.2: type = converted %Self.ref.loc12_36, %.loc12_36.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.1.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @F.1.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %other.param: @F.1.%Self (%Self) = value_param runtime_param1 // CHECK:STDOUT: %other: @F.1.%Self (%Self) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: @F.1.%Self (%Self) = param runtime_param2 +// CHECK:STDOUT: %return.param: ref @F.1.%Self (%Self) = out_param runtime_param2 // CHECK:STDOUT: %return: ref @F.1.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] @@ -122,11 +122,11 @@ var arr: [i32; 1.(I.F)(2)]; // CHECK:STDOUT: impl @impl: %.loc15_6.2 as %I.ref { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %self.patt: i32 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: i32 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: i32 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: i32 = binding_pattern other -// CHECK:STDOUT: %other.param_patt: i32 = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: i32 = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc16_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_14.1: type = value_of_initializer %int.make_type_32.loc16_14 [template = i32] @@ -137,11 +137,11 @@ var arr: [i32; 1.(I.F)(2)]; // CHECK:STDOUT: %int.make_type_32.loc16_34: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_34.1: type = value_of_initializer %int.make_type_32.loc16_34 [template = i32] // CHECK:STDOUT: %.loc16_34.2: type = converted %int.make_type_32.loc16_34, %.loc16_34.1 [template = i32] -// CHECK:STDOUT: %self.param: i32 = param runtime_param0 +// CHECK:STDOUT: %self.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %self: i32 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: i32 = param runtime_param1 +// CHECK:STDOUT: %other.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %other: i32 = bind_name other, %other.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15_15: = interface_witness (%F.decl) [template = constants.%.4] diff --git a/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon index 4346f09a023c..5476d01d70e3 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon @@ -51,9 +51,9 @@ var arr: [i32; 1 + 2] = (3, 4, 3 + 4); // CHECK:STDOUT: } // CHECK:STDOUT: %Int32.decl: %Int32.type = fn_decl @Int32 [template = constants.%Int32] { // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: type = param runtime_param0 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Add.decl: type = interface_decl @Add [template = constants.%Add.type] {} {} @@ -63,11 +63,11 @@ var arr: [i32; 1 + 2] = (3, 4, 3 + 4); // CHECK:STDOUT: %Self: %Add.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %Op.decl: %Op.type = fn_decl @Op [template = constants.%Op] { // CHECK:STDOUT: %self.patt: @Op.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @Op.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @Op.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: @Op.%Self (%Self) = binding_pattern other -// CHECK:STDOUT: %other.param_patt: @Op.%Self (%Self) = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: @Op.%Self (%Self) = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: @Op.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Op.%Self (%Self) = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: @Op.%Self (%Self) = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc7_15: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc7_15.1: type = facet_type_access %Self.ref.loc7_15 [symbolic = %Self (constants.%Self)] @@ -78,11 +78,11 @@ var arr: [i32; 1 + 2] = (3, 4, 3 + 4); // CHECK:STDOUT: %Self.ref.loc7_37: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc7_37.1: type = facet_type_access %Self.ref.loc7_37 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc7_37.2: type = converted %Self.ref.loc7_37, %.loc7_37.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @Op.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @Op.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @Op.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @Op.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %other.param: @Op.%Self (%Self) = value_param runtime_param1 // CHECK:STDOUT: %other: @Op.%Self (%Self) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: @Op.%Self (%Self) = param runtime_param2 +// CHECK:STDOUT: %return.param: ref @Op.%Self (%Self) = out_param runtime_param2 // CHECK:STDOUT: %return: ref @Op.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7: %.2 = assoc_entity element0, %Op.decl [template = constants.%.3] @@ -185,20 +185,20 @@ var arr: [i32; 1 + 2] = (3, 4, 3 + 4); // CHECK:STDOUT: impl @impl: %.loc6_6.2 as %Add.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: i32 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: i32 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: i32 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: i32 = binding_pattern other -// CHECK:STDOUT: %other.param_patt: i32 = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: i32 = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc7_15: type = name_ref Self, @impl.%.loc6_6.2 [template = i32] // CHECK:STDOUT: %Self.ref.loc7_28: type = name_ref Self, @impl.%.loc6_6.2 [template = i32] // CHECK:STDOUT: %Self.ref.loc7_37: type = name_ref Self, @impl.%.loc6_6.2 [template = i32] -// CHECK:STDOUT: %self.param: i32 = param runtime_param0 +// CHECK:STDOUT: %self.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %self: i32 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: i32 = param runtime_param1 +// CHECK:STDOUT: %other.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %other: i32 = bind_name other, %other.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6_22: = interface_witness (%Op.decl) [template = constants.%.2] diff --git a/toolchain/check/testdata/function/builtin/no_prelude/import.carbon b/toolchain/check/testdata/function/builtin/no_prelude/import.carbon index eb126fd282a2..fb93b02c1944 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/import.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/import.carbon @@ -38,18 +38,18 @@ var arr: [i32; Core.TestAdd(1, 2)] = (1, 2, 3); // CHECK:STDOUT: } // CHECK:STDOUT: %Int32.decl: %Int32.type = fn_decl @Int32 [template = constants.%Int32] { // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: type = param runtime_param0 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAdd.decl: %TestAdd.type = fn_decl @TestAdd [template = constants.%TestAdd] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_15.1: type = value_of_initializer %int.make_type_32.loc5_15 [template = i32] @@ -60,11 +60,11 @@ var arr: [i32; Core.TestAdd(1, 2)] = (1, 2, 3); // CHECK:STDOUT: %int.make_type_32.loc5_31: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_31.1: type = value_of_initializer %int.make_type_32.loc5_31 [template = i32] // CHECK:STDOUT: %.loc5_31.2: type = converted %int.make_type_32.loc5_31, %.loc5_31.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/call/fail_param_count.carbon b/toolchain/check/testdata/function/call/fail_param_count.carbon index 38ddf0f9c422..4c3aa4679272 100644 --- a/toolchain/check/testdata/function/call/fail_param_count.carbon +++ b/toolchain/check/testdata/function/call/fail_param_count.carbon @@ -109,19 +109,19 @@ fn Main() { // CHECK:STDOUT: %Run0.decl: %Run0.type = fn_decl @Run0 [template = constants.%Run0] {} {} // CHECK:STDOUT: %Run1.decl: %Run1.type = fn_decl @Run1 [template = constants.%Run1] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_12.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_12.2: type = converted %int.make_type_32, %.loc12_12.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run2.decl: %Run2.type = fn_decl @Run2 [template = constants.%Run2] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_12.1: type = value_of_initializer %int.make_type_32.loc13_12 [template = i32] @@ -129,9 +129,9 @@ fn Main() { // CHECK:STDOUT: %int.make_type_32.loc13_20: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_20.1: type = value_of_initializer %int.make_type_32.loc13_20 [template = i32] // CHECK:STDOUT: %.loc13_20.2: type = converted %int.make_type_32.loc13_20, %.loc13_20.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/fail_param_type.carbon b/toolchain/check/testdata/function/call/fail_param_type.carbon index 59719a4a1069..ab63e351dfbe 100644 --- a/toolchain/check/testdata/function/call/fail_param_type.carbon +++ b/toolchain/check/testdata/function/call/fail_param_type.carbon @@ -84,12 +84,12 @@ fn F() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_9.2: type = converted %int.make_type_32, %.loc11_9.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {} {} diff --git a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon index dec126068426..ab416cc4d050 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -86,13 +86,13 @@ fn Run() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_13.1: i32 = int_literal 64 [template = constants.%.1] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc11_13.1) [template = f64] // CHECK:STDOUT: %.loc11_13.2: type = value_of_initializer %float.make_type [template = f64] // CHECK:STDOUT: %.loc11_13.3: type = converted %float.make_type, %.loc11_13.2 [template = f64] -// CHECK:STDOUT: %return.param: f64 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param0 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] {} {} diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index fce09927621c..c38b3b94a7d3 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -53,9 +53,9 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Echo.decl: %Echo.type = fn_decl @Echo [template = constants.%Echo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_12.1: type = value_of_initializer %int.make_type_32.loc11_12 [template = i32] @@ -63,9 +63,9 @@ fn Main() { // CHECK:STDOUT: %int.make_type_32.loc11_20: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_20.1: type = value_of_initializer %int.make_type_32.loc11_20 [template = i32] // CHECK:STDOUT: %.loc11_20.2: type = converted %int.make_type_32.loc11_20, %.loc11_20.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index d022ed53507a..d83974e86fbc 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -58,9 +58,9 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -68,9 +68,9 @@ fn Main() { // CHECK:STDOUT: %int.make_type_32.loc11_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11_19 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11_19, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/no_prelude/alias.carbon b/toolchain/check/testdata/function/call/no_prelude/alias.carbon index ce349432d04b..fbe156319303 100644 --- a/toolchain/check/testdata/function/call/no_prelude/alias.carbon +++ b/toolchain/check/testdata/function/call/no_prelude/alias.carbon @@ -35,11 +35,11 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc11_12.2: type = converted %.loc11_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %A.ref: %A.type = name_ref A, %A.decl [template = constants.%A] diff --git a/toolchain/check/testdata/function/call/no_prelude/empty_struct.carbon b/toolchain/check/testdata/function/call/no_prelude/empty_struct.carbon index 0fd831a55229..25f283d36af3 100644 --- a/toolchain/check/testdata/function/call/no_prelude/empty_struct.carbon +++ b/toolchain/check/testdata/function/call/no_prelude/empty_struct.carbon @@ -35,17 +35,17 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Echo.decl: %Echo.type = fn_decl @Echo [template = constants.%Echo] { // CHECK:STDOUT: %a.patt: %.1 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.1 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.1 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_13.1: %.1 = struct_literal () // CHECK:STDOUT: %.loc11_13.2: type = converted %.loc11_13.1, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc11_20.1: %.1 = struct_literal () // CHECK:STDOUT: %.loc11_20.2: type = converted %.loc11_20.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %a.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %a: %.1 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/no_prelude/empty_tuple.carbon b/toolchain/check/testdata/function/call/no_prelude/empty_tuple.carbon index e60cb24e775d..c32582080b12 100644 --- a/toolchain/check/testdata/function/call/no_prelude/empty_tuple.carbon +++ b/toolchain/check/testdata/function/call/no_prelude/empty_tuple.carbon @@ -34,17 +34,17 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %Echo.decl: %Echo.type = fn_decl @Echo [template = constants.%Echo] { // CHECK:STDOUT: %a.patt: %.1 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.1 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.1 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_13.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc11_13.2: type = converted %.loc11_13.1, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc11_20.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc11_20.2: type = converted %.loc11_20.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %a.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %a: %.1 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/no_prelude/fail_explicit_self_param.carbon b/toolchain/check/testdata/function/call/no_prelude/fail_explicit_self_param.carbon index ce79a85198f1..f46752123815 100644 --- a/toolchain/check/testdata/function/call/no_prelude/fail_explicit_self_param.carbon +++ b/toolchain/check/testdata/function/call/no_prelude/fail_explicit_self_param.carbon @@ -35,11 +35,11 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.1 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.1 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_13.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc14_13.2: type = converted %.loc14_13.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %self.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self: %.1 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] {} {} diff --git a/toolchain/check/testdata/function/call/params_one.carbon b/toolchain/check/testdata/function/call/params_one.carbon index a484fc8e91fa..19f4dd694ee1 100644 --- a/toolchain/check/testdata/function/call/params_one.carbon +++ b/toolchain/check/testdata/function/call/params_one.carbon @@ -51,12 +51,12 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/params_one_comma.carbon b/toolchain/check/testdata/function/call/params_one_comma.carbon index 0eba5be9367e..487df15148ee 100644 --- a/toolchain/check/testdata/function/call/params_one_comma.carbon +++ b/toolchain/check/testdata/function/call/params_one_comma.carbon @@ -52,12 +52,12 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/params_two.carbon b/toolchain/check/testdata/function/call/params_two.carbon index d6f4dff2616f..f931494eb24e 100644 --- a/toolchain/check/testdata/function/call/params_two.carbon +++ b/toolchain/check/testdata/function/call/params_two.carbon @@ -52,9 +52,9 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -62,9 +62,9 @@ fn Main() { // CHECK:STDOUT: %int.make_type_32.loc11_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11_19 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11_19, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/params_two_comma.carbon b/toolchain/check/testdata/function/call/params_two_comma.carbon index 288e6765434d..346746298347 100644 --- a/toolchain/check/testdata/function/call/params_two_comma.carbon +++ b/toolchain/check/testdata/function/call/params_two_comma.carbon @@ -53,9 +53,9 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -63,9 +63,9 @@ fn Main() { // CHECK:STDOUT: %int.make_type_32.loc11_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11_19 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11_19, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon b/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon index e3936c34d403..d844410e12a7 100644 --- a/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon +++ b/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon @@ -46,9 +46,9 @@ fn F(n: i32, a: [i32; n]*); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %a.patt: = binding_pattern a -// CHECK:STDOUT: %a.param_patt: = param_pattern %a.patt, runtime_param1 +// CHECK:STDOUT: %a.param_patt: = value_param_pattern %a.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc14_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_9.1: type = value_of_initializer %int.make_type_32.loc14_9 [template = i32] @@ -56,9 +56,9 @@ fn F(n: i32, a: [i32; n]*); // CHECK:STDOUT: %int.make_type_32.loc14_18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %n.ref: i32 = name_ref n, %n // CHECK:STDOUT: %.loc14_25: type = ptr_type [template = ] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %a.param: = param runtime_param1 +// CHECK:STDOUT: %a.param: = value_param runtime_param1 // CHECK:STDOUT: %a: = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon b/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon index e13d09b54208..a6323d43060c 100644 --- a/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon +++ b/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon @@ -49,9 +49,9 @@ fn F(n: i32, n: i32); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %n.patt.loc17_6: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt.loc17_7: i32 = param_pattern %n.patt.loc17_6, runtime_param0 +// CHECK:STDOUT: %n.param_patt.loc17_7: i32 = value_param_pattern %n.patt.loc17_6, runtime_param0 // CHECK:STDOUT: %n.patt.loc17_14: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt.loc17_15: i32 = param_pattern %n.patt.loc17_14, runtime_param1 +// CHECK:STDOUT: %n.param_patt.loc17_15: i32 = value_param_pattern %n.patt.loc17_14, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc17_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc17_9.1: type = value_of_initializer %int.make_type_32.loc17_9 [template = i32] @@ -59,9 +59,9 @@ fn F(n: i32, n: i32); // CHECK:STDOUT: %int.make_type_32.loc17_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc17_17.1: type = value_of_initializer %int.make_type_32.loc17_17 [template = i32] // CHECK:STDOUT: %.loc17_17.2: type = converted %int.make_type_32.loc17_17, %.loc17_17.1 [template = i32] -// CHECK:STDOUT: %n.param.loc17_7: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param.loc17_7: i32 = value_param runtime_param0 // CHECK:STDOUT: %n.loc17_6: i32 = bind_name n, %n.param.loc17_7 -// CHECK:STDOUT: %n.param.loc17_15: i32 = param runtime_param1 +// CHECK:STDOUT: %n.param.loc17_15: i32 = value_param runtime_param1 // CHECK:STDOUT: %n.loc17_14: i32 = bind_name n, %n.param.loc17_15 // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index a1e1f6ecfa21..9a85d3668e14 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -304,9 +304,9 @@ import library "extern_api"; // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_9.1: type = value_of_initializer %int.make_type_32.loc5_9 [template = i32] @@ -314,16 +314,16 @@ import library "extern_api"; // CHECK:STDOUT: %int.make_type_32.loc5_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_17.1: type = value_of_initializer %int.make_type_32.loc5_17 [template = i32] // CHECK:STDOUT: %.loc5_17.2: type = converted %int.make_type_32.loc5_17, %.loc5_17.1 [template = i32] -// CHECK:STDOUT: %b.param: i32 = param runtime_param0 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %c.patt: %.3 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %.3 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %.3 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: %.2 = tuple_literal (%int.make_type_32.loc6_10) @@ -334,9 +334,9 @@ import library "extern_api"; // CHECK:STDOUT: %.loc6_25.1: type = value_of_initializer %int.make_type_32.loc6_25 [template = i32] // CHECK:STDOUT: %.loc6_25.2: type = converted %int.make_type_32.loc6_25, %.loc6_25.1 [template = i32] // CHECK:STDOUT: %.loc6_28: type = struct_type {.c: i32} [template = constants.%.4] -// CHECK:STDOUT: %c.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} @@ -407,9 +407,9 @@ import library "extern_api"; // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_44: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_44.1: type = value_of_initializer %int.make_type_32.loc5_44 [template = i32] @@ -417,16 +417,16 @@ import library "extern_api"; // CHECK:STDOUT: %int.make_type_32.loc5_52: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_52.1: type = value_of_initializer %int.make_type_32.loc5_52 [template = i32] // CHECK:STDOUT: %.loc5_52.2: type = converted %int.make_type_32.loc5_52, %.loc5_52.1 [template = i32] -// CHECK:STDOUT: %b.param: i32 = param runtime_param0 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %c.patt: %.3 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %.3 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %.3 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_45: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_49.1: %.2 = tuple_literal (%int.make_type_32.loc6_45) @@ -437,9 +437,9 @@ import library "extern_api"; // CHECK:STDOUT: %.loc6_60.1: type = value_of_initializer %int.make_type_32.loc6_60 [template = i32] // CHECK:STDOUT: %.loc6_60.2: type = converted %int.make_type_32.loc6_60, %.loc6_60.1 [template = i32] // CHECK:STDOUT: %.loc6_63: type = struct_type {.c: i32} [template = constants.%.4] -// CHECK:STDOUT: %c.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} @@ -657,9 +657,9 @@ import library "extern_api"; // CHECK:STDOUT: %int.make_type_32.loc23_24: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc23_24.1: type = value_of_initializer %int.make_type_32.loc23_24 [template = i32] // CHECK:STDOUT: %.loc23_24.2: type = converted %int.make_type_32.loc23_24, %.loc23_24.1 [template = i32] -// CHECK:STDOUT: %b.param: i32 = param runtime_param0 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc23_21: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] {} { @@ -672,9 +672,9 @@ import library "extern_api"; // CHECK:STDOUT: %.loc32_32.1: type = value_of_initializer %int.make_type_32.loc32_32 [template = i32] // CHECK:STDOUT: %.loc32_32.2: type = converted %int.make_type_32.loc32_32, %.loc32_32.1 [template = i32] // CHECK:STDOUT: %.loc32_35: type = struct_type {.c: i32} [template = constants.%.4] -// CHECK:STDOUT: %c.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %.loc32_24: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} @@ -813,9 +813,9 @@ import library "extern_api"; // CHECK:STDOUT: %int.make_type_32.loc7_24: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_24.1: type = value_of_initializer %int.make_type_32.loc7_24 [template = i32] // CHECK:STDOUT: %.loc7_24.2: type = converted %int.make_type_32.loc7_24, %.loc7_24.1 [template = i32] -// CHECK:STDOUT: %b.param: i32 = param runtime_param0 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc7_21: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] {} { @@ -828,9 +828,9 @@ import library "extern_api"; // CHECK:STDOUT: %.loc8_32.1: type = value_of_initializer %int.make_type_32.loc8_32 [template = i32] // CHECK:STDOUT: %.loc8_32.2: type = converted %int.make_type_32.loc8_32, %.loc8_32.1 [template = i32] // CHECK:STDOUT: %.loc8_35: type = struct_type {.c: i32} [template = constants.%.4] -// CHECK:STDOUT: %c.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %.loc8_24: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} diff --git a/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon b/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon index 103917eef3e7..af61d983d0e4 100644 --- a/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon +++ b/toolchain/check/testdata/function/declaration/no_prelude/extern.carbon @@ -175,10 +175,10 @@ class C { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/function/declaration/no_prelude/fail_import_incomplete_return.carbon b/toolchain/check/testdata/function/declaration/no_prelude/fail_import_incomplete_return.carbon index 8d304588dfe9..6186d76df867 100644 --- a/toolchain/check/testdata/function/declaration/no_prelude/fail_import_incomplete_return.carbon +++ b/toolchain/check/testdata/function/declaration/no_prelude/fail_import_incomplete_return.carbon @@ -117,34 +117,34 @@ fn CallFAndGIncomplete() { // CHECK:STDOUT: %D.decl.loc5: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %ReturnCUnused.decl: %ReturnCUnused.type = fn_decl @ReturnCUnused [template = constants.%ReturnCUnused] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ReturnCUsed.decl: %ReturnCUsed.type = fn_decl @ReturnCUsed [template = constants.%ReturnCUsed] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ReturnDUnused.decl: %ReturnDUnused.type = fn_decl @ReturnDUnused [template = constants.%ReturnDUnused] { // CHECK:STDOUT: %return.patt: %D = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %D = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %D = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl.loc5 [template = constants.%D] -// CHECK:STDOUT: %return.param: %D = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %D = out_param runtime_param0 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ReturnDUsed.decl: %ReturnDUsed.type = fn_decl @ReturnDUsed [template = constants.%ReturnDUsed] { // CHECK:STDOUT: %return.patt: %D = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %D = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %D = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl.loc5 [template = constants.%D] -// CHECK:STDOUT: %return.param: %D = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %D = out_param runtime_param0 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [template = constants.%Call] {} {} diff --git a/toolchain/check/testdata/function/declaration/no_prelude/fail_redecl.carbon b/toolchain/check/testdata/function/declaration/no_prelude/fail_redecl.carbon index 4bdf930fd1f5..b440b5d413fe 100644 --- a/toolchain/check/testdata/function/declaration/no_prelude/fail_redecl.carbon +++ b/toolchain/check/testdata/function/declaration/no_prelude/fail_redecl.carbon @@ -87,30 +87,30 @@ fn E() {} // CHECK:STDOUT: %A.decl.loc19: %A.type = fn_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %B.decl.loc21: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc21_10.2: type = converted %.loc21_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param.loc21: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param.loc21: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x.loc21: %.1 = bind_name x, %x.param.loc21 // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl.loc29: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc29_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc29_10.2: type = converted %.loc29_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param.loc29: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param.loc29: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x.loc29: %.1 = bind_name x, %x.param.loc29 // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc39_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc39_10.2: type = converted %.loc39_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x: %.1 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl.loc41: %D.type = fn_decl @D [template = constants.%D] {} {} diff --git a/toolchain/check/testdata/function/declaration/param_same_name.carbon b/toolchain/check/testdata/function/declaration/param_same_name.carbon index 9a41bb181dcf..bf574645b96d 100644 --- a/toolchain/check/testdata/function/declaration/param_same_name.carbon +++ b/toolchain/check/testdata/function/declaration/param_same_name.carbon @@ -48,22 +48,22 @@ fn G(a: i32); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_9.2: type = converted %int.make_type_32, %.loc11_9.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_9.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_9.2: type = converted %int.make_type_32, %.loc13_9.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index 09080dfd764e..c04075c372a4 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -156,9 +156,9 @@ fn D() {} // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc5_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_9.1: type = value_of_initializer %int.make_type_32.loc5_9 [template = i32] @@ -166,16 +166,16 @@ fn D() {} // CHECK:STDOUT: %int.make_type_32.loc5_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc5_17.1: type = value_of_initializer %int.make_type_32.loc5_17 [template = i32] // CHECK:STDOUT: %.loc5_17.2: type = converted %int.make_type_32.loc5_17, %.loc5_17.1 [template = i32] -// CHECK:STDOUT: %b.param: i32 = param runtime_param0 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %c.patt: %.3 = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %.3 = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %.3 = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_14.1: %.2 = tuple_literal (%int.make_type_32.loc6_10) @@ -186,9 +186,9 @@ fn D() {} // CHECK:STDOUT: %.loc6_25.1: type = value_of_initializer %int.make_type_32.loc6_25 [template = i32] // CHECK:STDOUT: %.loc6_25.2: type = converted %int.make_type_32.loc6_25, %.loc6_25.1 [template = i32] // CHECK:STDOUT: %.loc6_28: type = struct_type {.c: i32} [template = constants.%.4] -// CHECK:STDOUT: %c.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %c.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %c: %.3 = bind_name c, %c.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] {} {} @@ -395,9 +395,9 @@ fn D() {} // CHECK:STDOUT: %int.make_type_32.loc23_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc23_17.1: type = value_of_initializer %int.make_type_32.loc23_17 [template = i32] // CHECK:STDOUT: %.loc23_17.2: type = converted %int.make_type_32.loc23_17, %.loc23_17.1 [template = i32] -// CHECK:STDOUT: %b.param: i32 = param runtime_param0 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %.loc23_14: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/no_prelude/fail_decl_param_mismatch.carbon b/toolchain/check/testdata/function/definition/no_prelude/fail_decl_param_mismatch.carbon index 25e61dca7611..ec7458af07c4 100644 --- a/toolchain/check/testdata/function/definition/no_prelude/fail_decl_param_mismatch.carbon +++ b/toolchain/check/testdata/function/definition/no_prelude/fail_decl_param_mismatch.carbon @@ -109,75 +109,75 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {} {} // CHECK:STDOUT: %.decl.loc19: %.type.1 = fn_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc19_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc19_10.2: type = converted %.loc19_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x: %.1 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc21_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc21_10.2: type = converted %.loc21_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x: %.1 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc29: %.type.2 = fn_decl @.2 [template = constants.%.3] {} {} // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc31_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc31_10.2: type = converted %.loc31_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x: %.1 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc36: %.type.3 = fn_decl @.3 [template = constants.%.4] { // CHECK:STDOUT: %x.patt: = binding_pattern x -// CHECK:STDOUT: %x.param_patt: = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %x.param: = param runtime_param0 +// CHECK:STDOUT: %x.param: = value_param runtime_param0 // CHECK:STDOUT: %x: = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: %I.type = fn_decl @I [template = constants.%I] {} {} // CHECK:STDOUT: %.decl.loc46: %.type.4 = fn_decl @.4 [template = constants.%.5] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc46_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc46_12.2: type = converted %.loc46_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %J.decl: %J.type = fn_decl @J [template = constants.%J] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc48_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc48_12.2: type = converted %.loc48_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc56: %.type.5 = fn_decl @.5 [template = constants.%.6] {} {} // CHECK:STDOUT: %K.decl: %K.type = fn_decl @K [template = constants.%K] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc58_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc58_12.2: type = converted %.loc58_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc65: %.type.6 = fn_decl @.6 [template = constants.%.8] { // CHECK:STDOUT: %return.patt: %.7 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.7 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.7 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc65_12.1: %.7 = struct_literal () // CHECK:STDOUT: %.loc65_12.2: type = converted %.loc65_12.1, constants.%.7 [template = constants.%.7] -// CHECK:STDOUT: %return.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.7 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.7 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon b/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon index c14724c4f8a1..43d4544d030e 100644 --- a/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon @@ -194,34 +194,34 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc7: %C = bind_name a, %a.param.loc7 // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc8: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc8: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc8: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc8: %C = bind_name a, %a.param.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl.loc10: %Bar.type = fn_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc10: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param.loc10: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc10: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc10: %C = bind_name a, %a.param.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl.loc11: %Bar.type = fn_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param.loc11: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc11: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc11: %C = bind_name a, %a.param.loc11 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -263,18 +263,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl.loc6: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc6: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc6: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc6: %C = bind_name a, %a.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc7: %C = bind_name a, %a.param.loc7 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -313,18 +313,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -363,18 +363,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl.loc6: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc6: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc6: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc6: %C = bind_name a, %a.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param0 +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param0 // CHECK:STDOUT: %a.loc7: %C = bind_name a, %a.param.loc7 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -416,18 +416,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl: %Bar.type = fn_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -476,18 +476,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %default.import.loc2_6.2 = import // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.1 [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl: %Bar.type = fn_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.2 [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -532,18 +532,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %b.param: %C = param runtime_param0 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param0 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -587,18 +587,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -645,18 +645,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_8.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_8.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_8.1, runtime_param [symbolic = %a.patt.loc7_8.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_8.1, runtime_param [symbolic = %a.patt.loc7_8.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_8.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_8.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc15_8.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_8.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc15_8.1, runtime_param [symbolic = %a.patt.loc15_8.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc15_8.1, runtime_param [symbolic = %a.patt.loc15_8.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc15_8.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc15_8.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -721,18 +721,18 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param.loc7: %C = param runtime_param0 +// CHECK:STDOUT: %return.param.loc7: ref %C = out_param runtime_param0 // CHECK:STDOUT: %.loc7: ref %C = return_slot %return.param.loc7 // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc8: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %return.param.loc8: %C = param runtime_param0 +// CHECK:STDOUT: %return.param.loc8: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param.loc8 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -771,10 +771,10 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -818,10 +818,10 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, imports.%import_ref.1 [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -859,21 +859,21 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: %.3 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.3 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.3 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc6: type = const_type %C [template = constants.%.3] -// CHECK:STDOUT: %a.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %a: %.3 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.5] { // CHECK:STDOUT: %a.patt: %.3 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.3 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.3 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc17_18: type = const_type %C [template = constants.%.3] // CHECK:STDOUT: %.loc17_11: type = const_type %.3 [template = constants.%.3] -// CHECK:STDOUT: %a.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %a: %.3 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_one.carbon b/toolchain/check/testdata/function/definition/params_one.carbon index 98a708c1d4ab..3e46d3eeee07 100644 --- a/toolchain/check/testdata/function/definition/params_one.carbon +++ b/toolchain/check/testdata/function/definition/params_one.carbon @@ -43,12 +43,12 @@ fn Foo(a: i32) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_one_comma.carbon b/toolchain/check/testdata/function/definition/params_one_comma.carbon index 0e0639df86ec..829d2c37fa0e 100644 --- a/toolchain/check/testdata/function/definition/params_one_comma.carbon +++ b/toolchain/check/testdata/function/definition/params_one_comma.carbon @@ -43,12 +43,12 @@ fn Foo(a: i32,) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_two.carbon b/toolchain/check/testdata/function/definition/params_two.carbon index a00c88e4c35a..b276cbb40cc7 100644 --- a/toolchain/check/testdata/function/definition/params_two.carbon +++ b/toolchain/check/testdata/function/definition/params_two.carbon @@ -43,9 +43,9 @@ fn Foo(a: i32, b: i32) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -53,9 +53,9 @@ fn Foo(a: i32, b: i32) {} // CHECK:STDOUT: %int.make_type_32.loc11_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11_19 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11_19, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_two_comma.carbon b/toolchain/check/testdata/function/definition/params_two_comma.carbon index d53b8111f868..ec0624124092 100644 --- a/toolchain/check/testdata/function/definition/params_two_comma.carbon +++ b/toolchain/check/testdata/function/definition/params_two_comma.carbon @@ -43,9 +43,9 @@ fn Foo(a: i32, b: i32,) {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -53,9 +53,9 @@ fn Foo(a: i32, b: i32,) {} // CHECK:STDOUT: %int.make_type_32.loc11_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11_19 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11_19, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index ec1bd713d156..1027ae7062fd 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -178,40 +178,40 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ExplicitGenericParam.decl: %ExplicitGenericParam.type = fn_decl @ExplicitGenericParam [template = constants.%ExplicitGenericParam] { // CHECK:STDOUT: %T.patt.loc4_25.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt.1)] // CHECK:STDOUT: %return.patt: @ExplicitGenericParam.%.loc4_39.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @ExplicitGenericParam.%.loc4_39.2 (%.1) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @ExplicitGenericParam.%.loc4_39.2 (%.1) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %.loc4_39.1: type = ptr_type %T [symbolic = %.loc4_39.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_25.2 (constants.%T)] -// CHECK:STDOUT: %return.param: @ExplicitGenericParam.%.loc4_39.2 (%.1) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%.loc4_39.2 (%.1) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%.loc4_39.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParam.decl: %CallExplicitGenericParam.type = fn_decl @CallExplicitGenericParam [template = constants.%CallExplicitGenericParam] { // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_37.1: type = value_of_initializer %int.make_type_32.loc6 [template = i32] // CHECK:STDOUT: %.loc6_37.2: type = converted %int.make_type_32.loc6, %.loc6_37.1 [template = i32] // CHECK:STDOUT: %.loc6_37.3: type = ptr_type i32 [template = constants.%.4] -// CHECK:STDOUT: %return.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamWithGenericArg.decl: %CallExplicitGenericParamWithGenericArg.type = fn_decl @CallExplicitGenericParamWithGenericArg [template = constants.%CallExplicitGenericParamWithGenericArg] { // CHECK:STDOUT: %T.patt.loc10_43.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_43.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc10_43.1, runtime_param [symbolic = %T.patt.loc10_43.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc10_43.1, runtime_param [symbolic = %T.patt.loc10_43.2 (constants.%T.patt.2)] // CHECK:STDOUT: %return.patt: @CallExplicitGenericParamWithGenericArg.%.loc10_63.2 (%.7) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @CallExplicitGenericParamWithGenericArg.%.loc10_63.2 (%.7) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @CallExplicitGenericParamWithGenericArg.%.loc10_63.2 (%.7) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc10: type = name_ref T, %T.loc10_43.1 [symbolic = %T.loc10_43.2 (constants.%T)] // CHECK:STDOUT: %.loc10_62.1: type = struct_type {.a: %T} [symbolic = %.loc10_62.2 (constants.%.6)] // CHECK:STDOUT: %.loc10_63.1: type = ptr_type %.6 [symbolic = %.loc10_63.2 (constants.%.7)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc10_43.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc10_43.2 (constants.%T)] -// CHECK:STDOUT: %return.param: @CallExplicitGenericParamWithGenericArg.%.loc10_63.2 (%.7) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @CallExplicitGenericParamWithGenericArg.%.loc10_63.2 (%.7) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @CallExplicitGenericParamWithGenericArg.%.loc10_63.2 (%.7) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -359,29 +359,29 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ExplicitGenericParam.decl: %ExplicitGenericParam.type = fn_decl @ExplicitGenericParam [template = constants.%ExplicitGenericParam] { // CHECK:STDOUT: %T.patt.loc4_25.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt.1)] // CHECK:STDOUT: %return.patt: @ExplicitGenericParam.%.loc4_39.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @ExplicitGenericParam.%.loc4_39.2 (%.1) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @ExplicitGenericParam.%.loc4_39.2 (%.1) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %.loc4_39.1: type = ptr_type %T [symbolic = %.loc4_39.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_25.2 (constants.%T)] -// CHECK:STDOUT: %return.param: @ExplicitGenericParam.%.loc4_39.2 (%.1) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%.loc4_39.2 (%.1) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%.loc4_39.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamConst.decl: %CallExplicitGenericParamConst.type = fn_decl @CallExplicitGenericParamConst [template = constants.%CallExplicitGenericParamConst] { // CHECK:STDOUT: %T.patt.loc6_34.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_34.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_34.1, runtime_param [symbolic = %T.patt.loc6_34.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_34.1, runtime_param [symbolic = %T.patt.loc6_34.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_34.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_34.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamNonConst.decl: %CallExplicitGenericParamNonConst.type = fn_decl @CallExplicitGenericParamNonConst [template = constants.%CallExplicitGenericParamNonConst] { // CHECK:STDOUT: %T.patt: type = binding_pattern T -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt, runtime_param0 +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param0 +// CHECK:STDOUT: %T.param: type = value_param runtime_param0 // CHECK:STDOUT: %T: type = bind_name T, %T.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -502,29 +502,29 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %ExplicitAndAlsoDeduced.decl: %ExplicitAndAlsoDeduced.type = fn_decl @ExplicitAndAlsoDeduced [template = constants.%ExplicitAndAlsoDeduced] { // CHECK:STDOUT: %T.patt.loc6_27.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_27.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_27.1, runtime_param [symbolic = %T.patt.loc6_27.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_27.1, runtime_param [symbolic = %T.patt.loc6_27.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @ExplicitAndAlsoDeduced.%.loc6_47.2 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @ExplicitAndAlsoDeduced.%.loc6_47.2 (%.3) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @ExplicitAndAlsoDeduced.%.loc6_47.2 (%.3) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_40: type = name_ref T, %T.loc6_27.1 [symbolic = %T.loc6_27.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc6_46: type = name_ref T, %T.loc6_27.1 [symbolic = %T.loc6_27.2 (constants.%T)] // CHECK:STDOUT: %.loc6_47.1: type = ptr_type %T [symbolic = %.loc6_47.2 (constants.%.3)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_27.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_27.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @ExplicitAndAlsoDeduced.%.loc6_47.2 (%.3) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @ExplicitAndAlsoDeduced.%.loc6_47.2 (%.3) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @ExplicitAndAlsoDeduced.%.loc6_47.2 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitAndAlsoDeduced.decl: %CallExplicitAndAlsoDeduced.type = fn_decl @CallExplicitAndAlsoDeduced [template = constants.%CallExplicitAndAlsoDeduced] { // CHECK:STDOUT: %return.patt: %.6 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.6 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.6 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref.loc10: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %.loc10_37: type = ptr_type %A [template = constants.%.6] -// CHECK:STDOUT: %return.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.6 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.6 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -640,27 +640,27 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplicitGenericParam.decl: %ImplicitGenericParam.type = fn_decl @ImplicitGenericParam [template = constants.%ImplicitGenericParam] { // CHECK:STDOUT: %T.patt.loc4_25.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @ImplicitGenericParam.%T.loc4_25.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @ImplicitGenericParam.%T.loc4_25.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @ImplicitGenericParam.%T.loc4_25.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @ImplicitGenericParam.%.loc4_45.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @ImplicitGenericParam.%.loc4_45.2 (%.1) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @ImplicitGenericParam.%.loc4_45.2 (%.1) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_44: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %.loc4_45.1: type = ptr_type %T [symbolic = %.loc4_45.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_25.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @ImplicitGenericParam.%T.loc4_25.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @ImplicitGenericParam.%T.loc4_25.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @ImplicitGenericParam.%T.loc4_25.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @ImplicitGenericParam.%.loc4_45.2 (%.1) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @ImplicitGenericParam.%.loc4_45.2 (%.1) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @ImplicitGenericParam.%.loc4_45.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallImplicitGenericParam.decl: %CallImplicitGenericParam.type = fn_decl @CallImplicitGenericParam [template = constants.%CallImplicitGenericParam] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc6_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_32.1: type = value_of_initializer %int.make_type_32.loc6_32 [template = i32] @@ -669,9 +669,9 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %.loc6_43.1: type = value_of_initializer %int.make_type_32.loc6_40 [template = i32] // CHECK:STDOUT: %.loc6_43.2: type = converted %int.make_type_32.loc6_40, %.loc6_43.1 [template = i32] // CHECK:STDOUT: %.loc6_43.3: type = ptr_type i32 [template = constants.%.4] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -780,9 +780,9 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %TupleParam.decl: %TupleParam.type = fn_decl @TupleParam [template = constants.%TupleParam] { // CHECK:STDOUT: %T.patt.loc4_15.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_15.1, runtime_param [symbolic = %T.patt.loc4_15.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @TupleParam.%.loc4_35.5 (%.3) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @TupleParam.%.loc4_35.5 (%.3) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @TupleParam.%.loc4_35.5 (%.3) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.1 [symbolic = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] @@ -790,9 +790,9 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %.loc4_35.2: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_35.3: type = converted %int.make_type_32, %.loc4_35.2 [template = i32] // CHECK:STDOUT: %.loc4_35.4: type = converted %.loc4_35.1, constants.%.3 [symbolic = %.loc4_35.5 (constants.%.3)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_15.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @TupleParam.%.loc4_35.5 (%.3) = param runtime_param0 +// CHECK:STDOUT: %x.param: @TupleParam.%.loc4_35.5 (%.3) = value_param runtime_param0 // CHECK:STDOUT: %x: @TupleParam.%.loc4_35.5 (%.3) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallTupleParam.decl: %CallTupleParam.type = fn_decl @CallTupleParam [template = constants.%CallTupleParam] {} {} @@ -883,18 +883,18 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %StructParam.decl: %StructParam.type = fn_decl @StructParam [template = constants.%StructParam] { // CHECK:STDOUT: %T.patt.loc4_16.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_16.1, runtime_param [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_16.1, runtime_param [symbolic = %T.patt.loc4_16.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @StructParam.%.loc4_44.2 (%.2) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @StructParam.%.loc4_44.2 (%.2) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @StructParam.%.loc4_44.2 (%.2) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_16.1 [symbolic = %T.loc4_16.2 (constants.%T)] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_41.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_41.2: type = converted %int.make_type_32, %.loc4_41.1 [template = i32] // CHECK:STDOUT: %.loc4_44.1: type = struct_type {.a: %T, .b: i32} [symbolic = %.loc4_44.2 (constants.%.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_16.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_16.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @StructParam.%.loc4_44.2 (%.2) = param runtime_param0 +// CHECK:STDOUT: %x.param: @StructParam.%.loc4_44.2 (%.2) = value_param runtime_param0 // CHECK:STDOUT: %x: @StructParam.%.loc4_44.2 (%.2) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallStructParam.decl: %CallStructParam.type = fn_decl @CallStructParam [template = constants.%CallStructParam] {} {} @@ -967,23 +967,23 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplicitNotDeducible.decl: %ImplicitNotDeducible.type = fn_decl @ImplicitNotDeducible [template = constants.%ImplicitNotDeducible] { // CHECK:STDOUT: %T.patt.loc6_25.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_25.1, runtime_param [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_25.1, runtime_param [symbolic = %T.patt.loc6_25.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc6_35.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc6_35.1, runtime_param [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc6_35.1, runtime_param [symbolic = %U.patt.loc6_35.2 (constants.%U.patt)] // CHECK:STDOUT: %x.patt: @ImplicitNotDeducible.%T.loc6_25.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @ImplicitNotDeducible.%T.loc6_25.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @ImplicitNotDeducible.%T.loc6_25.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @ImplicitNotDeducible.%U.loc6_35.2 (%U) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @ImplicitNotDeducible.%U.loc6_35.2 (%U) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @ImplicitNotDeducible.%U.loc6_35.2 (%U) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_25.1 [symbolic = %T.loc6_25.2 (constants.%T)] // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc6_35.1 [symbolic = %U.loc6_35.2 (constants.%U)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_25.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_25.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc6_35.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc6_35.2 (constants.%U)] -// CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc6_25.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc6_25.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @ImplicitNotDeducible.%T.loc6_25.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @ImplicitNotDeducible.%U.loc6_35.2 (%U) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @ImplicitNotDeducible.%U.loc6_35.2 (%U) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @ImplicitNotDeducible.%U.loc6_35.2 (%U) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallImplicitNotDeducible.decl: %CallImplicitNotDeducible.type = fn_decl @CallImplicitNotDeducible [template = constants.%CallImplicitNotDeducible] {} {} @@ -1049,24 +1049,24 @@ fn CallImplicitNotDeducible() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplicitNotDeducible.decl: %ImplicitNotDeducible.type = fn_decl @ImplicitNotDeducible [template = constants.%ImplicitNotDeducible] { // CHECK:STDOUT: %T.patt.loc4_25.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_25.1, runtime_param [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %y.patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = binding_pattern y -// CHECK:STDOUT: %y.param_patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = param_pattern %y.patt, runtime_param1 +// CHECK:STDOUT: %y.param_patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = value_param_pattern %y.patt, runtime_param1 // CHECK:STDOUT: %return.patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_44: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_50: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_25.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %y.param: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %y.param: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = value_param runtime_param1 // CHECK:STDOUT: %y: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = bind_name y, %y.param -// CHECK:STDOUT: %return.param: @ImplicitNotDeducible.%T.loc4_25.2 (%T) = param runtime_param2 +// CHECK:STDOUT: %return.param: ref @ImplicitNotDeducible.%T.loc4_25.2 (%T) = out_param runtime_param2 // CHECK:STDOUT: %return: ref @ImplicitNotDeducible.%T.loc4_25.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallImplicitNotDeducible.decl: %CallImplicitNotDeducible.type = fn_decl @CallImplicitNotDeducible [template = constants.%CallImplicitNotDeducible] {} {} diff --git a/toolchain/check/testdata/function/generic/fail_todo_param_in_type.carbon b/toolchain/check/testdata/function/generic/fail_todo_param_in_type.carbon index 74c0ca7da402..215e028b9bb6 100644 --- a/toolchain/check/testdata/function/generic/fail_todo_param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/fail_todo_param_in_type.carbon @@ -48,9 +48,9 @@ fn F(N:! i32, a: [i32; N]*); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %N.patt.loc14_6.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc14_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc14_6.1, runtime_param [symbolic = %N.patt.loc14_6.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc14_6.1, runtime_param [symbolic = %N.patt.loc14_6.2 (constants.%N.patt)] // CHECK:STDOUT: %a.patt: = binding_pattern a -// CHECK:STDOUT: %a.param_patt: = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc14_10: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_10.1: type = value_of_initializer %int.make_type_32.loc14_10 [template = i32] @@ -61,9 +61,9 @@ fn F(N:! i32, a: [i32; N]*); // CHECK:STDOUT: %.loc14_19.2: type = converted %int.make_type_32.loc14_19, %.loc14_19.1 [template = i32] // CHECK:STDOUT: %.loc14_25: type = array_type %N.ref, i32 [template = ] // CHECK:STDOUT: %.loc14_26: type = ptr_type [template = ] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc14_6.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc14_6.2 (constants.%N)] -// CHECK:STDOUT: %a.param: = param runtime_param0 +// CHECK:STDOUT: %a.param: = value_param runtime_param0 // CHECK:STDOUT: %a: = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/no_prelude/call.carbon b/toolchain/check/testdata/function/generic/no_prelude/call.carbon index 4ce9cfec8dd6..fd87280e1b78 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/call.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/call.carbon @@ -88,69 +88,69 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Function.decl: %Function.type = fn_decl @Function [template = constants.%Function] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: %x.patt: @Function.%T.loc4_13.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @Function.%T.loc4_13.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @Function.%T.loc4_13.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Function.%T.loc4_13.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Function.%T.loc4_13.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Function.%T.loc4_13.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_26: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_32: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @Function.%T.loc4_13.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @Function.%T.loc4_13.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @Function.%T.loc4_13.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @Function.%T.loc4_13.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Function.%T.loc4_13.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Function.%T.loc4_13.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGeneric.decl: %CallGeneric.type = fn_decl @CallGeneric [template = constants.%CallGeneric] { // CHECK:STDOUT: %T.patt.loc8_16.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_16.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_16.1, runtime_param [symbolic = %T.patt.loc8_16.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_16.1, runtime_param [symbolic = %T.patt.loc8_16.2 (constants.%T.patt.2)] // CHECK:STDOUT: %x.patt: @CallGeneric.%T.loc8_16.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @CallGeneric.%T.loc8_16.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_29: type = name_ref T, %T.loc8_16.1 [symbolic = %T.loc8_16.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc8_35: type = name_ref T, %T.loc8_16.1 [symbolic = %T.loc8_16.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_16.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_16.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @CallGeneric.%T.loc8_16.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @CallGeneric.%T.loc8_16.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @CallGeneric.%T.loc8_16.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @CallGeneric.%T.loc8_16.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @CallGeneric.%T.loc8_16.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @CallGeneric.%T.loc8_16.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGenericPtr.decl: %CallGenericPtr.type = fn_decl @CallGenericPtr [template = constants.%CallGenericPtr] { // CHECK:STDOUT: %T.patt.loc12_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_19.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_19.1, runtime_param [symbolic = %T.patt.loc12_19.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_19.1, runtime_param [symbolic = %T.patt.loc12_19.2 (constants.%T.patt.3)] // CHECK:STDOUT: %x.patt: @CallGenericPtr.%.loc12_33.2 (%.3) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @CallGenericPtr.%.loc12_33.2 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12_32: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %.loc12_33.1: type = ptr_type %T [symbolic = %.loc12_33.2 (constants.%.3)] // CHECK:STDOUT: %T.ref.loc12_39: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %.loc12_40: type = ptr_type %T [symbolic = %.loc12_33.2 (constants.%.3)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @CallGenericPtr.%.loc12_33.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %x.param: @CallGenericPtr.%.loc12_33.2 (%.3) = value_param runtime_param0 // CHECK:STDOUT: %x: @CallGenericPtr.%.loc12_33.2 (%.3) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @CallGenericPtr.%.loc12_33.2 (%.3) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @CallGenericPtr.%.loc12_33.2 (%.3) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @CallGenericPtr.%.loc12_33.2 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %CallSpecific.decl: %CallSpecific.type = fn_decl @CallSpecific [template = constants.%CallSpecific] { // CHECK:STDOUT: %x.patt: %C = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %C = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %C = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %x.param: %C = param runtime_param0 +// CHECK:STDOUT: %x.param: %C = value_param runtime_param0 // CHECK:STDOUT: %x: %C = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -306,69 +306,69 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Function.decl: %Function.type = fn_decl @Function [template = constants.%Function] { // CHECK:STDOUT: %T.patt.loc4_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_13.1, runtime_param [symbolic = %T.patt.loc4_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: %x.patt: @Function.%T.loc4_13.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @Function.%T.loc4_13.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @Function.%T.loc4_13.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Function.%T.loc4_13.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Function.%T.loc4_13.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Function.%T.loc4_13.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_26: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_32: type = name_ref T, %T.loc4_13.1 [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_13.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @Function.%T.loc4_13.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @Function.%T.loc4_13.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @Function.%T.loc4_13.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @Function.%T.loc4_13.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Function.%T.loc4_13.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Function.%T.loc4_13.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGeneric.decl: %CallGeneric.type = fn_decl @CallGeneric [template = constants.%CallGeneric] { // CHECK:STDOUT: %T.patt.loc8_16.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_16.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_16.1, runtime_param [symbolic = %T.patt.loc8_16.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_16.1, runtime_param [symbolic = %T.patt.loc8_16.2 (constants.%T.patt.2)] // CHECK:STDOUT: %x.patt: @CallGeneric.%T.loc8_16.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @CallGeneric.%T.loc8_16.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @CallGeneric.%T.loc8_16.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_29: type = name_ref T, %T.loc8_16.1 [symbolic = %T.loc8_16.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc8_35: type = name_ref T, %T.loc8_16.1 [symbolic = %T.loc8_16.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_16.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_16.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @CallGeneric.%T.loc8_16.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @CallGeneric.%T.loc8_16.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @CallGeneric.%T.loc8_16.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @CallGeneric.%T.loc8_16.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @CallGeneric.%T.loc8_16.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @CallGeneric.%T.loc8_16.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallGenericPtr.decl: %CallGenericPtr.type = fn_decl @CallGenericPtr [template = constants.%CallGenericPtr] { // CHECK:STDOUT: %T.patt.loc12_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_19.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_19.1, runtime_param [symbolic = %T.patt.loc12_19.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_19.1, runtime_param [symbolic = %T.patt.loc12_19.2 (constants.%T.patt.3)] // CHECK:STDOUT: %x.patt: @CallGenericPtr.%.loc12_33.2 (%.3) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @CallGenericPtr.%.loc12_33.2 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @CallGenericPtr.%.loc12_33.2 (%.3) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12_32: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %.loc12_33.1: type = ptr_type %T [symbolic = %.loc12_33.2 (constants.%.3)] // CHECK:STDOUT: %T.ref.loc12_39: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %.loc12_40: type = ptr_type %T [symbolic = %.loc12_33.2 (constants.%.3)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @CallGenericPtr.%.loc12_33.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %x.param: @CallGenericPtr.%.loc12_33.2 (%.3) = value_param runtime_param0 // CHECK:STDOUT: %x: @CallGenericPtr.%.loc12_33.2 (%.3) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @CallGenericPtr.%.loc12_33.2 (%.3) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @CallGenericPtr.%.loc12_33.2 (%.3) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @CallGenericPtr.%.loc12_33.2 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %CallSpecific.decl: %CallSpecific.type = fn_decl @CallSpecific [template = constants.%CallSpecific] { // CHECK:STDOUT: %x.patt: %C = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %C = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %C = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %x.param: %C = param runtime_param0 +// CHECK:STDOUT: %x.param: %C = value_param runtime_param0 // CHECK:STDOUT: %x: %C = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/no_prelude/fail_type_param_mismatch.carbon b/toolchain/check/testdata/function/generic/no_prelude/fail_type_param_mismatch.carbon index 8d91afa8f372..48edf98f7417 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/fail_type_param_mismatch.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/fail_type_param_mismatch.carbon @@ -35,13 +35,13 @@ fn F(T:! type, U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc11_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc11_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc11_16.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc11_16.1, runtime_param [symbolic = %U.patt.loc11_16.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc11_16.1, runtime_param [symbolic = %U.patt.loc11_16.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc11_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc11_16.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/no_prelude/forward_decl.carbon b/toolchain/check/testdata/function/generic/no_prelude/forward_decl.carbon index a34c403513cf..9833cc469b88 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/forward_decl.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/forward_decl.carbon @@ -26,9 +26,9 @@ fn F(T:! type); // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc11_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/no_prelude/indirect_generic_type.carbon b/toolchain/check/testdata/function/generic/no_prelude/indirect_generic_type.carbon index 80f212024a43..f751f79760d6 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/indirect_generic_type.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/indirect_generic_type.carbon @@ -30,22 +30,22 @@ fn F(T:! type, p: T**) -> T* { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc11_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: %p.patt: @F.%.loc11_21.2 (%.2) = binding_pattern p -// CHECK:STDOUT: %p.param_patt: @F.%.loc11_21.2 (%.2) = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: @F.%.loc11_21.2 (%.2) = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%.loc11_20.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%.loc11_20.2 (%.1) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%.loc11_20.2 (%.1) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc11_19: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %.loc11_20.1: type = ptr_type %T [symbolic = %.loc11_20.2 (constants.%.1)] // CHECK:STDOUT: %.loc11_21.1: type = ptr_type %.1 [symbolic = %.loc11_21.2 (constants.%.2)] // CHECK:STDOUT: %T.ref.loc11_27: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %.loc11_28: type = ptr_type %T [symbolic = %.loc11_20.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %p.param: @F.%.loc11_21.2 (%.2) = param runtime_param0 +// CHECK:STDOUT: %p.param: @F.%.loc11_21.2 (%.2) = value_param runtime_param0 // CHECK:STDOUT: %p: @F.%.loc11_21.2 (%.2) = bind_name p, %p.param -// CHECK:STDOUT: %return.param: @F.%.loc11_20.2 (%.1) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%.loc11_20.2 (%.1) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%.loc11_20.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/no_prelude/type_param.carbon b/toolchain/check/testdata/function/generic/no_prelude/type_param.carbon index 092d86bc21a3..456e678e85a6 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/type_param.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/type_param.carbon @@ -30,9 +30,9 @@ fn F(T:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc11_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/no_prelude/type_param_scope.carbon b/toolchain/check/testdata/function/generic/no_prelude/type_param_scope.carbon index b1efd945ce29..161993e23238 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/type_param_scope.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/type_param_scope.carbon @@ -29,19 +29,19 @@ fn F(T:! type, n: T) -> T { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc11_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_6.1, runtime_param [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: %n.patt: @F.%T.loc11_6.2 (%T) = binding_pattern n -// CHECK:STDOUT: %n.param_patt: @F.%T.loc11_6.2 (%T) = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: @F.%T.loc11_6.2 (%T) = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%T.loc11_6.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%T.loc11_6.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%T.loc11_6.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc11_19: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc11_25: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %n.param: @F.%T.loc11_6.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %n.param: @F.%T.loc11_6.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %n: @F.%T.loc11_6.2 (%T) = bind_name n, %n.param -// CHECK:STDOUT: %return.param: @F.%T.loc11_6.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%T.loc11_6.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%T.loc11_6.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/redeclare.carbon b/toolchain/check/testdata/function/generic/redeclare.carbon index fc5dd0302663..15b0cd172736 100644 --- a/toolchain/check/testdata/function/generic/redeclare.carbon +++ b/toolchain/check/testdata/function/generic/redeclare.carbon @@ -123,28 +123,28 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl.loc4: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.2] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %.loc4_20.1: type = ptr_type %T [symbolic = %.loc4_20.2 (constants.%.1)] -// CHECK:STDOUT: %T.param.loc4: type = param runtime_param +// CHECK:STDOUT: %T.param.loc4: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0, %T.param.loc4 [symbolic = %T.loc4_6.2 (constants.%T)] -// CHECK:STDOUT: %return.param.loc4: @F.%.loc4_20.2 (%.1) = param runtime_param0 +// CHECK:STDOUT: %return.param.loc4: ref @F.%.loc4_20.2 (%.1) = out_param runtime_param0 // CHECK:STDOUT: %.loc4_16: ref @F.%.loc4_20.2 (%.1) = return_slot %return.param.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc6: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc6: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.2] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6, runtime_param [symbolic = constants.%T.patt.2] // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6: type = name_ref T, %T.loc6 [symbolic = constants.%T] // CHECK:STDOUT: %.loc6_20: type = ptr_type %T [symbolic = constants.%.1] -// CHECK:STDOUT: %T.param.loc6: type = param runtime_param +// CHECK:STDOUT: %T.param.loc6: type = value_param runtime_param // CHECK:STDOUT: %T.loc6: type = bind_symbolic_name T, 0, %T.param.loc6 [symbolic = constants.%T] -// CHECK:STDOUT: %return.param.loc6: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param.loc6: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param.loc6 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -223,36 +223,36 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc4_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_6.1, runtime_param [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_6.1, runtime_param [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] // CHECK:STDOUT: %U.patt.loc4_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc4_16.1, runtime_param [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc4_16.1, runtime_param [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] // CHECK:STDOUT: %return.patt: @F.%.loc4_30.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%.loc4_30.2 (%.1) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @F.%.loc4_30.2 (%.1) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %.loc4_30.1: type = ptr_type %T [symbolic = %.loc4_30.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_6.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc4_16.2 (constants.%U)] -// CHECK:STDOUT: %return.param: @F.%.loc4_30.2 (%.1) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @F.%.loc4_30.2 (%.1) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @F.%.loc4_30.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %T.patt.loc13_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc13_6.1, runtime_param [symbolic = %T.patt.loc13_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc13_6.1, runtime_param [symbolic = %T.patt.loc13_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: %U.patt.loc13_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt.2)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc13_16.1, runtime_param [symbolic = %U.patt.loc13_16.2 (constants.%U.patt.2)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc13_16.1, runtime_param [symbolic = %U.patt.loc13_16.2 (constants.%U.patt.2)] // CHECK:STDOUT: %return.patt: @.1.%.loc13_30.2 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @.1.%.loc13_30.2 (%.3) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @.1.%.loc13_30.2 (%.3) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_16.1 [symbolic = %U.loc13_16.2 (constants.%U)] // CHECK:STDOUT: %.loc13_30.1: type = ptr_type %U [symbolic = %.loc13_30.2 (constants.%.3)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc13_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc13_6.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc13_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc13_16.2 (constants.%U)] -// CHECK:STDOUT: %return.param: @.1.%.loc13_30.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @.1.%.loc13_30.2 (%.3) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @.1.%.loc13_30.2 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -341,36 +341,36 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc4_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_6.1, runtime_param [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_6.1, runtime_param [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] // CHECK:STDOUT: %U.patt.loc4_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc4_16.1, runtime_param [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc4_16.1, runtime_param [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] // CHECK:STDOUT: %return.patt: @F.%.loc4_30.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%.loc4_30.2 (%.1) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @F.%.loc4_30.2 (%.1) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T.1)] // CHECK:STDOUT: %.loc4_30.1: type = ptr_type %T.1 [symbolic = %.loc4_30.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_6.2 (constants.%T.1)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc4_16.2 (constants.%U.1)] -// CHECK:STDOUT: %return.param: @F.%.loc4_30.2 (%.1) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @F.%.loc4_30.2 (%.1) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @F.%.loc4_30.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %U.patt.loc13_6.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.2)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc13_6.1, runtime_param [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.2)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc13_6.1, runtime_param [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.2)] // CHECK:STDOUT: %T.patt.loc13_16.1: type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc13_16.1, runtime_param [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc13_16.1, runtime_param [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.2)] // CHECK:STDOUT: %return.patt: @.1.%.loc13_30.2 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @.1.%.loc13_30.2 (%.3) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @.1.%.loc13_30.2 (%.3) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T.loc13_16.1 [symbolic = %T.loc13_16.2 (constants.%T.2)] // CHECK:STDOUT: %.loc13_30.1: type = ptr_type %T.2 [symbolic = %.loc13_30.2 (constants.%.3)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc13_6.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc13_6.2 (constants.%U.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc13_16.1: type = bind_symbolic_name T, 1, %T.param [symbolic = %T.loc13_16.2 (constants.%T.2)] -// CHECK:STDOUT: %return.param: @.1.%.loc13_30.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @.1.%.loc13_30.2 (%.3) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @.1.%.loc13_30.2 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -459,36 +459,36 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc4_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_6.1, runtime_param [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_6.1, runtime_param [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.1)] // CHECK:STDOUT: %U.patt.loc4_16.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc4_16.1, runtime_param [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc4_16.1, runtime_param [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.1)] // CHECK:STDOUT: %return.patt: @F.%.loc4_30.2 (%.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%.loc4_30.2 (%.1) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @F.%.loc4_30.2 (%.1) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T.1)] // CHECK:STDOUT: %.loc4_30.1: type = ptr_type %T.1 [symbolic = %.loc4_30.2 (constants.%.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_6.2 (constants.%T.1)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc4_16.2 (constants.%U.1)] -// CHECK:STDOUT: %return.param: @F.%.loc4_30.2 (%.1) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @F.%.loc4_30.2 (%.1) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @F.%.loc4_30.2 (%.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %U.patt.loc13_6.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.2)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc13_6.1, runtime_param [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.2)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc13_6.1, runtime_param [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.2)] // CHECK:STDOUT: %T.patt.loc13_16.1: type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc13_16.1, runtime_param [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc13_16.1, runtime_param [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.2)] // CHECK:STDOUT: %return.patt: @.1.%.loc13_30.2 (%.3) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @.1.%.loc13_30.2 (%.3) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @.1.%.loc13_30.2 (%.3) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_6.1 [symbolic = %U.loc13_6.2 (constants.%U.2)] // CHECK:STDOUT: %.loc13_30.1: type = ptr_type %U.2 [symbolic = %.loc13_30.2 (constants.%.3)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc13_6.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc13_6.2 (constants.%U.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc13_16.1: type = bind_symbolic_name T, 1, %T.param [symbolic = %T.loc13_16.2 (constants.%T.2)] -// CHECK:STDOUT: %return.param: @.1.%.loc13_30.2 (%.3) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @.1.%.loc13_30.2 (%.3) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @.1.%.loc13_30.2 (%.3) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/resolve_used.carbon b/toolchain/check/testdata/function/generic/resolve_used.carbon index 58e6ec528525..6f7b3fdf7494 100644 --- a/toolchain/check/testdata/function/generic/resolve_used.carbon +++ b/toolchain/check/testdata/function/generic/resolve_used.carbon @@ -72,12 +72,12 @@ fn CallNegative() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ErrorIfNIsZero.decl: %ErrorIfNIsZero.type = fn_decl @ErrorIfNIsZero [template = constants.%ErrorIfNIsZero] { // CHECK:STDOUT: %N.patt.loc4_19.1: i32 = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc4_19.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: i32 = param_pattern %N.patt.loc4_19.1, runtime_param [symbolic = %N.patt.loc4_19.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: i32 = value_param_pattern %N.patt.loc4_19.1, runtime_param [symbolic = %N.patt.loc4_19.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_23.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_23.2: type = converted %int.make_type_32, %.loc4_23.1 [template = i32] -// CHECK:STDOUT: %N.param: i32 = param runtime_param +// CHECK:STDOUT: %N.param: i32 = value_param runtime_param // CHECK:STDOUT: %N.loc4_19.1: i32 = bind_symbolic_name N, 0, %N.param [symbolic = %N.loc4_19.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallNegative.decl: %CallNegative.type = fn_decl @CallNegative [template = constants.%CallNegative] {} {} diff --git a/toolchain/check/testdata/function/generic/return_slot.carbon b/toolchain/check/testdata/function/generic/return_slot.carbon index 2b46b1e5fd01..a0b5567d01a2 100644 --- a/toolchain/check/testdata/function/generic/return_slot.carbon +++ b/toolchain/check/testdata/function/generic/return_slot.carbon @@ -87,9 +87,9 @@ fn G() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Wrap.decl: %Wrap.type = class_decl @Wrap [template = constants.%Wrap.1] { // CHECK:STDOUT: %T.patt.loc11_12.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_12.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_12.1, runtime_param [symbolic = %T.patt.loc11_12.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_12.1, runtime_param [symbolic = %T.patt.loc11_12.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_12.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_12.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} @@ -107,10 +107,10 @@ fn G() { // CHECK:STDOUT: class { // CHECK:STDOUT: %Make.decl: @Wrap.%Make.type (%Make.type.1) = fn_decl @Make [symbolic = @Wrap.%Make (constants.%Make.1)] { // CHECK:STDOUT: %return.patt: @Make.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Make.%T (%T) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @Make.%T (%T) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Wrap.%T.loc11_12.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %return.param: @Make.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @Make.%T (%T) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @Make.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/function/generic/undefined.carbon b/toolchain/check/testdata/function/generic/undefined.carbon index 20c27596281b..ede87f397027 100644 --- a/toolchain/check/testdata/function/generic/undefined.carbon +++ b/toolchain/check/testdata/function/generic/undefined.carbon @@ -90,29 +90,29 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Defined.decl: %Defined.type = fn_decl @Defined [template = constants.%Defined] { // CHECK:STDOUT: %T.patt.loc4_12.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_12.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_12.1, runtime_param [symbolic = %T.patt.loc4_12.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_12.1, runtime_param [symbolic = %T.patt.loc4_12.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @Defined.%T.loc4_12.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @Defined.%T.loc4_12.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @Defined.%T.loc4_12.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Defined.%T.loc4_12.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Defined.%T.loc4_12.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Defined.%T.loc4_12.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_25: type = name_ref T, %T.loc4_12.1 [symbolic = %T.loc4_12.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_31: type = name_ref T, %T.loc4_12.1 [symbolic = %T.loc4_12.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_12.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_12.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @Defined.%T.loc4_12.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @Defined.%T.loc4_12.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @Defined.%T.loc4_12.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @Defined.%T.loc4_12.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Defined.%T.loc4_12.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Defined.%T.loc4_12.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallDefined.decl: %CallDefined.type = fn_decl @CallDefined [template = constants.%CallDefined] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_21.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc8_21.2: type = converted %int.make_type_32, %.loc8_21.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -196,46 +196,46 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Defined.decl.loc4: %Defined.type = fn_decl @Defined [template = constants.%Defined] { // CHECK:STDOUT: %T.patt.loc10: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.2] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc10, runtime_param [symbolic = constants.%T.patt.2] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc10, runtime_param [symbolic = constants.%T.patt.2] // CHECK:STDOUT: %x.patt: %T = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %T = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %T = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %T = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %T = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_25: type = name_ref T, %T.loc4_12.1 [symbolic = %T.loc4_12.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_31: type = name_ref T, %T.loc4_12.1 [symbolic = %T.loc4_12.2 (constants.%T)] -// CHECK:STDOUT: %T.param.loc4: type = param runtime_param +// CHECK:STDOUT: %T.param.loc4: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_12.1: type = bind_symbolic_name T, 0, %T.param.loc4 [symbolic = %T.loc4_12.2 (constants.%T)] -// CHECK:STDOUT: %x.param.loc4: @Defined.%T.loc4_12.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param.loc4: @Defined.%T.loc4_12.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x.loc4: @Defined.%T.loc4_12.2 (%T) = bind_name x, %x.param.loc4 -// CHECK:STDOUT: %return.param.loc4: @Defined.%T.loc4_12.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param.loc4: ref @Defined.%T.loc4_12.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %.loc4: ref @Defined.%T.loc4_12.2 (%T) = return_slot %return.param.loc4 // CHECK:STDOUT: } // CHECK:STDOUT: %CallDefined.decl: %CallDefined.type = fn_decl @CallDefined [template = constants.%CallDefined] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_21.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc6_21.2: type = converted %int.make_type_32, %.loc6_21.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Defined.decl.loc10: %Defined.type = fn_decl @Defined [template = constants.%Defined] { // CHECK:STDOUT: %T.patt.loc10: type = symbolic_binding_pattern T, 0 [symbolic = constants.%T.patt.2] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc10, runtime_param [symbolic = constants.%T.patt.2] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc10, runtime_param [symbolic = constants.%T.patt.2] // CHECK:STDOUT: %x.patt: %T = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %T = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %T = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %T = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %T = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %T = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc10_25: type = name_ref T, %T.loc10 [symbolic = constants.%T] // CHECK:STDOUT: %T.ref.loc10_31: type = name_ref T, %T.loc10 [symbolic = constants.%T] -// CHECK:STDOUT: %T.param.loc10: type = param runtime_param +// CHECK:STDOUT: %T.param.loc10: type = value_param runtime_param // CHECK:STDOUT: %T.loc10: type = bind_symbolic_name T, 0, %T.param.loc10 [symbolic = constants.%T] -// CHECK:STDOUT: %x.param.loc10: %T = param runtime_param0 +// CHECK:STDOUT: %x.param.loc10: %T = value_param runtime_param0 // CHECK:STDOUT: %x.loc10: %T = bind_name x, %x.param.loc10 -// CHECK:STDOUT: %return.param.loc10: %T = param runtime_param1 +// CHECK:STDOUT: %return.param.loc10: ref %T = out_param runtime_param1 // CHECK:STDOUT: %return: ref %T = return_slot %return.param.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -318,29 +318,29 @@ fn CallUndefined() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Undefined.decl: %Undefined.type = fn_decl @Undefined [template = constants.%Undefined] { // CHECK:STDOUT: %T.patt.loc4_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_14.1, runtime_param [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_14.1, runtime_param [symbolic = %T.patt.loc4_14.2 (constants.%T.patt)] // CHECK:STDOUT: %x.patt: @Undefined.%T.loc4_14.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @Undefined.%T.loc4_14.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @Undefined.%T.loc4_14.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @Undefined.%T.loc4_14.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Undefined.%T.loc4_14.2 (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @Undefined.%T.loc4_14.2 (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_27: type = name_ref T, %T.loc4_14.1 [symbolic = %T.loc4_14.2 (constants.%T)] // CHECK:STDOUT: %T.ref.loc4_33: type = name_ref T, %T.loc4_14.1 [symbolic = %T.loc4_14.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_14.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @Undefined.%T.loc4_14.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @Undefined.%T.loc4_14.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @Undefined.%T.loc4_14.2 (%T) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @Undefined.%T.loc4_14.2 (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @Undefined.%T.loc4_14.2 (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @Undefined.%T.loc4_14.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %CallUndefined.decl: %CallUndefined.type = fn_decl @CallUndefined [template = constants.%CallUndefined] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc6_23.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc6_23.2: type = converted %int.make_type_32, %.loc6_23.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/global/class_with_fun.carbon b/toolchain/check/testdata/global/class_with_fun.carbon index bd1a4b093aa5..52e1de6123bc 100644 --- a/toolchain/check/testdata/global/class_with_fun.carbon +++ b/toolchain/check/testdata/global/class_with_fun.carbon @@ -52,10 +52,10 @@ var a: A = {}; // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %ret_a.decl: %ret_a.type = fn_decl @ret_a [template = constants.%ret_a] { // CHECK:STDOUT: %return.patt: %A = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %A = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %A = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] -// CHECK:STDOUT: %return.param: %A = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %A = out_param runtime_param0 // CHECK:STDOUT: %return: ref %A = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %A.ref: type = name_ref A, %A.decl [template = constants.%A] diff --git a/toolchain/check/testdata/global/simple_with_fun.carbon b/toolchain/check/testdata/global/simple_with_fun.carbon index 538e991bdc14..04e66c7e98b0 100644 --- a/toolchain/check/testdata/global/simple_with_fun.carbon +++ b/toolchain/check/testdata/global/simple_with_fun.carbon @@ -49,12 +49,12 @@ var a: i32 = test_a(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %test_a.decl: %test_a.type = fn_decl @test_a [template = constants.%test_a] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_16.2: type = converted %int.make_type_32, %.loc11_16.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/if/else.carbon b/toolchain/check/testdata/if/else.carbon index 07f0b48a7ceb..fcd788385b1b 100644 --- a/toolchain/check/testdata/if/else.carbon +++ b/toolchain/check/testdata/if/else.carbon @@ -66,12 +66,12 @@ fn If(b: bool) { // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] {} {} // CHECK:STDOUT: %If.decl: %If.type = fn_decl @If [template = constants.%If] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc15_10.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc15_10.2: type = converted %bool.make_type, %.loc15_10.1 [template = bool] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if/fail_reachable_fallthrough.carbon b/toolchain/check/testdata/if/fail_reachable_fallthrough.carbon index 5f5aa9ada142..a3fae2436044 100644 --- a/toolchain/check/testdata/if/fail_reachable_fallthrough.carbon +++ b/toolchain/check/testdata/if/fail_reachable_fallthrough.carbon @@ -84,9 +84,9 @@ fn If3(b: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %If1.decl: %If1.type = fn_decl @If1 [template = constants.%If1] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %bool.make_type [template = bool] @@ -94,16 +94,16 @@ fn If3(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_20.2: type = converted %int.make_type_32, %.loc11_20.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %If2.decl: %If2.type = fn_decl @If2 [template = constants.%If2] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc22_11.1: type = value_of_initializer %bool.make_type [template = bool] @@ -111,16 +111,16 @@ fn If3(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc22_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc22_20.2: type = converted %int.make_type_32, %.loc22_20.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %If3.decl: %If3.type = fn_decl @If3 [template = constants.%If3] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc33_11.1: type = value_of_initializer %bool.make_type [template = bool] @@ -128,9 +128,9 @@ fn If3(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc33_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc33_20.2: type = converted %int.make_type_32, %.loc33_20.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if/fail_scope.carbon b/toolchain/check/testdata/if/fail_scope.carbon index 98fe00d7b478..c0914dfeb9d7 100644 --- a/toolchain/check/testdata/if/fail_scope.carbon +++ b/toolchain/check/testdata/if/fail_scope.carbon @@ -57,9 +57,9 @@ fn VarScope(b: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %VarScope.decl: %VarScope.type = fn_decl @VarScope [template = constants.%VarScope] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_16.1: type = value_of_initializer %bool.make_type [template = bool] @@ -67,9 +67,9 @@ fn VarScope(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_25.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_25.2: type = converted %int.make_type_32.loc11, %.loc11_25.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if/no_else.carbon b/toolchain/check/testdata/if/no_else.carbon index 7a62e3701cbb..be1ce4a08621 100644 --- a/toolchain/check/testdata/if/no_else.carbon +++ b/toolchain/check/testdata/if/no_else.carbon @@ -59,12 +59,12 @@ fn If(b: bool) { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {} {} // CHECK:STDOUT: %If.decl: %If.type = fn_decl @If [template = constants.%If] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_10.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc14_10.2: type = converted %bool.make_type, %.loc14_10.1 [template = bool] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if/unreachable_fallthrough.carbon b/toolchain/check/testdata/if/unreachable_fallthrough.carbon index 823c73966c03..6bc941228aa8 100644 --- a/toolchain/check/testdata/if/unreachable_fallthrough.carbon +++ b/toolchain/check/testdata/if/unreachable_fallthrough.carbon @@ -56,9 +56,9 @@ fn If(b: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %If.decl: %If.type = fn_decl @If [template = constants.%If] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_10.1: type = value_of_initializer %bool.make_type [template = bool] @@ -66,9 +66,9 @@ fn If(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index 04c0b187d945..4774f071bb0d 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -56,13 +56,13 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param1 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param1 // CHECK:STDOUT: %m.patt: i32 = binding_pattern m -// CHECK:STDOUT: %m.param_patt: i32 = param_pattern %m.patt, runtime_param2 +// CHECK:STDOUT: %m.param_patt: i32 = value_param_pattern %m.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %bool.make_type [template = bool] @@ -76,13 +76,13 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc11_34: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_34.1: type = value_of_initializer %int.make_type_32.loc11_34 [template = i32] // CHECK:STDOUT: %.loc11_34.2: type = converted %int.make_type_32.loc11_34, %.loc11_34.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %n.param: i32 = param runtime_param1 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param -// CHECK:STDOUT: %m.param: i32 = param runtime_param2 +// CHECK:STDOUT: %m.param: i32 = value_param runtime_param2 // CHECK:STDOUT: %m: i32 = bind_name m, %m.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index 0a60f824173d..281ce5518c45 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -84,66 +84,66 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_11.2: type = converted %int.make_type_32, %.loc12_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_11.2: type = converted %int.make_type_32, %.loc14_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc18_11.2: type = converted %int.make_type_32, %.loc18_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Constant.decl: %Constant.type = fn_decl @Constant [template = constants.%Constant] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc22_18.1: type = value_of_initializer %int.make_type_32.loc22 [template = i32] // CHECK:STDOUT: %.loc22_18.2: type = converted %int.make_type_32.loc22, %.loc22_18.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %PartiallyConstant.decl: %PartiallyConstant.type = fn_decl @PartiallyConstant [template = constants.%PartiallyConstant] { // CHECK:STDOUT: %t.patt: type = binding_pattern t -// CHECK:STDOUT: %t.param_patt: type = param_pattern %t.patt, runtime_param0 +// CHECK:STDOUT: %t.param_patt: type = value_param_pattern %t.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc28: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc28_34.1: type = value_of_initializer %int.make_type_32.loc28 [template = i32] // CHECK:STDOUT: %.loc28_34.2: type = converted %int.make_type_32.loc28, %.loc28_34.1 [template = i32] -// CHECK:STDOUT: %t.param: type = param runtime_param0 +// CHECK:STDOUT: %t.param: type = value_param runtime_param0 // CHECK:STDOUT: %t: type = bind_name t, %t.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if_expr/control_flow.carbon b/toolchain/check/testdata/if_expr/control_flow.carbon index 1e5e3b4fdcc1..e1e265365725 100644 --- a/toolchain/check/testdata/if_expr/control_flow.carbon +++ b/toolchain/check/testdata/if_expr/control_flow.carbon @@ -60,29 +60,29 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc12_11.2: type = converted %int.make_type_32, %.loc12_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_9.1: type = value_of_initializer %bool.make_type [template = bool] @@ -90,9 +90,9 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_18.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_18.2: type = converted %int.make_type_32, %.loc14_18.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon index e6bd86eb8f8a..74528338243a 100644 --- a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon +++ b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon @@ -77,12 +77,12 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ConditionIsNonConstant.decl: %ConditionIsNonConstant.type = fn_decl @ConditionIsNonConstant [template = constants.%ConditionIsNonConstant] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc4_30.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc4_30.2: type = converted %bool.make_type, %.loc4_30.1 [template = bool] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -153,9 +153,9 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ChosenBranchIsNonConstant.decl: %ChosenBranchIsNonConstant.type = fn_decl @ChosenBranchIsNonConstant [template = constants.%ChosenBranchIsNonConstant] { // CHECK:STDOUT: %t.patt: type = binding_pattern t -// CHECK:STDOUT: %t.param_patt: type = param_pattern %t.patt, runtime_param0 +// CHECK:STDOUT: %t.param_patt: type = value_param_pattern %t.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %t.param: type = param runtime_param0 +// CHECK:STDOUT: %t.param: type = value_param runtime_param0 // CHECK:STDOUT: %t: type = bind_name t, %t.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if_expr/nested.carbon b/toolchain/check/testdata/if_expr/nested.carbon index c7bf019aea6c..1bcb43742aa1 100644 --- a/toolchain/check/testdata/if_expr/nested.carbon +++ b/toolchain/check/testdata/if_expr/nested.carbon @@ -53,13 +53,13 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: bool = binding_pattern a -// CHECK:STDOUT: %a.param_patt: bool = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: bool = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %c.patt: bool = binding_pattern c -// CHECK:STDOUT: %c.param_patt: bool = param_pattern %c.patt, runtime_param2 +// CHECK:STDOUT: %c.param_patt: bool = value_param_pattern %c.patt, runtime_param2 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param3 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param3 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc11_9: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %bool.make_type.loc11_9 [template = bool] @@ -73,13 +73,13 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_36.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_36.2: type = converted %int.make_type_32, %.loc11_36.1 [template = i32] -// CHECK:STDOUT: %a.param: bool = param runtime_param0 +// CHECK:STDOUT: %a.param: bool = value_param runtime_param0 // CHECK:STDOUT: %a: bool = bind_name a, %a.param -// CHECK:STDOUT: %b.param: bool = param runtime_param1 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param1 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %c.param: bool = param runtime_param2 +// CHECK:STDOUT: %c.param: bool = value_param runtime_param2 // CHECK:STDOUT: %c: bool = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param3 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param3 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index 81afba0c0bed..216a8af8cca7 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -60,7 +60,7 @@ fn F(cond: bool) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %s.patt: %.2 = binding_pattern s -// CHECK:STDOUT: %s.param_patt: %.2 = param_pattern %s.patt, runtime_param0 +// CHECK:STDOUT: %s.param_patt: %.2 = value_param_pattern %s.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32.loc11_14 [template = i32] @@ -69,17 +69,17 @@ fn F(cond: bool) { // CHECK:STDOUT: %.loc11_23.1: type = value_of_initializer %int.make_type_32.loc11_23 [template = i32] // CHECK:STDOUT: %.loc11_23.2: type = converted %int.make_type_32.loc11_23, %.loc11_23.1 [template = i32] // CHECK:STDOUT: %.loc11_26: type = struct_type {.a: i32, .b: i32} [template = constants.%.2] -// CHECK:STDOUT: %s.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %s.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %s: %.2 = bind_name s, %s.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %cond.patt: bool = binding_pattern cond -// CHECK:STDOUT: %cond.param_patt: bool = param_pattern %cond.patt, runtime_param0 +// CHECK:STDOUT: %cond.param_patt: bool = value_param_pattern %cond.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc13_12.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc13_12.2: type = converted %bool.make_type, %.loc13_12.1 [template = bool] -// CHECK:STDOUT: %cond.param: bool = param runtime_param0 +// CHECK:STDOUT: %cond.param: bool = value_param runtime_param0 // CHECK:STDOUT: %cond: bool = bind_name cond, %cond.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/compound.carbon b/toolchain/check/testdata/impl/compound.carbon index d4b1c91ebce6..6bd79fd70e4a 100644 --- a/toolchain/check/testdata/impl/compound.carbon +++ b/toolchain/check/testdata/impl/compound.carbon @@ -100,44 +100,44 @@ fn InstanceCallIndirect(p: i32*) { // CHECK:STDOUT: } // CHECK:STDOUT: %NonInstanceCall.decl: %NonInstanceCall.type = fn_decl @NonInstanceCall [template = constants.%NonInstanceCall] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_23.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc21_23.2: type = converted %int.make_type_32, %.loc21_23.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: %InstanceCall.decl: %InstanceCall.type = fn_decl @InstanceCall [template = constants.%InstanceCall] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc25_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc25_20.2: type = converted %int.make_type_32, %.loc25_20.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: %NonInstanceCallIndirect.decl: %NonInstanceCallIndirect.type = fn_decl @NonInstanceCallIndirect [template = constants.%NonInstanceCallIndirect] { // CHECK:STDOUT: %p.patt: %.7 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.7 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.7 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc29_34.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc29_34.2: type = converted %int.make_type_32, %.loc29_34.1 [template = i32] // CHECK:STDOUT: %.loc29_34.3: type = ptr_type i32 [template = constants.%.7] -// CHECK:STDOUT: %p.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %p: %.7 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: %InstanceCallIndirect.decl: %InstanceCallIndirect.type = fn_decl @InstanceCallIndirect [template = constants.%InstanceCallIndirect] { // CHECK:STDOUT: %p.patt: %.7 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.7 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.7 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc33_31.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc33_31.2: type = converted %int.make_type_32, %.loc33_31.1 [template = i32] // CHECK:STDOUT: %.loc33_31.3: type = ptr_type i32 [template = constants.%.7] -// CHECK:STDOUT: %p.param: %.7 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.7 = value_param runtime_param0 // CHECK:STDOUT: %p: %.7 = bind_name p, %p.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -148,12 +148,12 @@ fn InstanceCallIndirect(p: i32*) { // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] // CHECK:STDOUT: %G.decl: %G.type.1 = fn_decl @G.1 [template = constants.%G.1] { // CHECK:STDOUT: %self.patt: @G.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @G.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @G.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: %Simple.type = name_ref Self, @Simple.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc13_14.1: type = facet_type_access %Self.ref [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc13_14.2: type = converted %Self.ref, %.loc13_14.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @G.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @G.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @G.1.%Self (%Self) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: %.4 = assoc_entity element1, %G.decl [template = constants.%.5] @@ -169,12 +169,12 @@ fn InstanceCallIndirect(p: i32*) { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] {} {} // CHECK:STDOUT: %G.decl: %G.type.2 = fn_decl @G.2 [template = constants.%G.2] { // CHECK:STDOUT: %self.patt: i32 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: i32 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: i32 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc18_14.2: type = converted %int.make_type_32, %.loc18_14.1 [template = i32] -// CHECK:STDOUT: %self.param: i32 = param runtime_param0 +// CHECK:STDOUT: %self.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %self: i32 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16_20: = interface_witness (%F.decl, %G.decl) [template = constants.%.6] diff --git a/toolchain/check/testdata/impl/extend_impl.carbon b/toolchain/check/testdata/impl/extend_impl.carbon index d98560585369..5b602424dadf 100644 --- a/toolchain/check/testdata/impl/extend_impl.carbon +++ b/toolchain/check/testdata/impl/extend_impl.carbon @@ -69,10 +69,10 @@ fn G(c: C) { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc21: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_call_invalid.carbon b/toolchain/check/testdata/impl/fail_call_invalid.carbon index 7aed3294966d..461f6b2c60d2 100644 --- a/toolchain/check/testdata/impl/fail_call_invalid.carbon +++ b/toolchain/check/testdata/impl/fail_call_invalid.carbon @@ -72,12 +72,12 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %InstanceCall.decl: %InstanceCall.type = fn_decl @InstanceCall [template = constants.%InstanceCall] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc22_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc22_20.2: type = converted %int.make_type_32, %.loc22_20.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -86,12 +86,12 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %Self: %Simple.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %G.decl: %G.type.1 = fn_decl @G.1 [template = constants.%G.1] { // CHECK:STDOUT: %self.patt: @G.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @G.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @G.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: %Simple.type = name_ref Self, @Simple.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_14.1: type = facet_type_access %Self.ref [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_14.2: type = converted %Self.ref, %.loc12_14.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @G.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @G.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @G.1.%Self (%Self) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %G.decl [template = constants.%.3] @@ -105,10 +105,10 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: impl @impl: %.loc15_6.2 as %Simple.ref { // CHECK:STDOUT: %G.decl: %G.type.2 = fn_decl @G.2 [template = constants.%G.2] { // CHECK:STDOUT: %self.patt: = binding_pattern self -// CHECK:STDOUT: %self.param_patt: = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Undeclared.ref: = name_ref Undeclared, [template = ] -// CHECK:STDOUT: %self.param: = param runtime_param0 +// CHECK:STDOUT: %self.param: = value_param runtime_param0 // CHECK:STDOUT: %self: = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15_20: = interface_witness () [template = ] diff --git a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon index a99e77e06b04..0e9e85ec9cd4 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon @@ -66,9 +66,9 @@ class C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %GenericInterface.decl: %GenericInterface.type.1 = interface_decl @GenericInterface [template = constants.%GenericInterface] { // CHECK:STDOUT: %T.patt.loc11_28.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_28.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_28.1, runtime_param [symbolic = %T.patt.loc11_28.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_28.1, runtime_param [symbolic = %T.patt.loc11_28.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_28.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_28.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} @@ -90,10 +90,10 @@ class C { // CHECK:STDOUT: %Self.1: @GenericInterface.%GenericInterface.type (%GenericInterface.type.2) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: %F.decl: @GenericInterface.%F.type (%F.type.1) = fn_decl @F.1 [symbolic = @GenericInterface.%F (constants.%F.1)] { // CHECK:STDOUT: %x.patt: @F.1.%T (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @F.1.%T (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @F.1.%T (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @GenericInterface.%T.loc11_28.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %x.param: @F.1.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @F.1.%T (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @F.1.%T (%T) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12_13.1: @GenericInterface.%.loc12_13.2 (%.2) = assoc_entity element0, %F.decl [symbolic = %.loc12_13.3 (constants.%.3)] @@ -118,10 +118,10 @@ class C { // CHECK:STDOUT: impl: %Self.ref as %GenericInterface.type.loc19_52.1 { // CHECK:STDOUT: %F.decl: @impl.%F.type (%F.type.2) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.2)] { // CHECK:STDOUT: %x.patt: @F.2.%T (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @F.2.%T (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @F.2.%T (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @impl.%T.loc19_23.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %x.param: @F.2.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @F.2.%T (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @F.2.%T (%T) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19_56.1: = interface_witness (%F.decl) [symbolic = %.loc19_56.2 (constants.%.4)] @@ -135,13 +135,13 @@ class C { // CHECK:STDOUT: class @C { // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc19_23.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_23.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc19_23.1, runtime_param [symbolic = %T.patt.loc19_23.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc19_23.1, runtime_param [symbolic = %T.patt.loc19_23.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] // CHECK:STDOUT: %GenericInterface.ref: %GenericInterface.type.1 = name_ref GenericInterface, file.%GenericInterface.decl [template = constants.%GenericInterface] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc19_23.1 [symbolic = %T.loc19_23.2 (constants.%T)] // CHECK:STDOUT: %GenericInterface.type.loc19_52.1: type = interface_type @GenericInterface, @GenericInterface(constants.%T) [symbolic = %GenericInterface.type.loc19_52.2 (constants.%GenericInterface.type.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc19_23.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc19_23.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = complete_type_witness %.5 [template = constants.%.6] diff --git a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon index d6c35df8e5d6..560bdddeca01 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -378,11 +378,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self: %J.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.2] // CHECK:STDOUT: %F.decl: %F.type.5 = fn_decl @F.5 [template = constants.%F.6] { // CHECK:STDOUT: %self.patt: bool = binding_pattern self -// CHECK:STDOUT: %self.param_patt: bool = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: bool = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc93_26: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc93_26.1: type = value_of_initializer %bool.make_type.loc93_26 [template = bool] @@ -393,11 +393,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc93_44: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc93_44.1: type = value_of_initializer %bool.make_type.loc93_44 [template = bool] // CHECK:STDOUT: %.loc93_44.2: type = converted %bool.make_type.loc93_44, %.loc93_44.1 [template = bool] -// CHECK:STDOUT: %self.param: bool = param runtime_param0 +// CHECK:STDOUT: %self.param: bool = value_param runtime_param0 // CHECK:STDOUT: %self: bool = bind_name self, %self.param -// CHECK:STDOUT: %b.param: bool = param runtime_param1 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param1 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc93: %.6 = assoc_entity element0, %F.decl [template = constants.%.7] @@ -412,9 +412,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.3] // CHECK:STDOUT: %F.decl: %F.type.13 = fn_decl @F.13 [template = constants.%F.14] { // CHECK:STDOUT: %x.patt: @F.13.%.loc188_38.1 (%.11) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @F.13.%.loc188_38.1 (%.11) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @F.13.%.loc188_38.1 (%.11) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.13.%.loc188_52.1 (%.13) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.13.%.loc188_52.1 (%.13) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.13.%.loc188_52.1 (%.13) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc188_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.3)] // CHECK:STDOUT: %.loc188_16.2: type = facet_type_access %Self.ref.loc188_12 [symbolic = %Self (constants.%Self.3)] @@ -434,9 +434,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %.loc188_45.1: type = facet_type_access %Self.ref.loc188_45 [symbolic = %Self (constants.%Self.3)] // CHECK:STDOUT: %.loc188_45.2: type = converted %Self.ref.loc188_45, %.loc188_45.1 [symbolic = %Self (constants.%Self.3)] // CHECK:STDOUT: %.loc188_52.2: type = array_type %.loc188_51, %Self.3 [symbolic = %.loc188_52.1 (constants.%.13)] -// CHECK:STDOUT: %x.param: @F.13.%.loc188_38.1 (%.11) = param runtime_param0 +// CHECK:STDOUT: %x.param: @F.13.%.loc188_38.1 (%.11) = value_param runtime_param0 // CHECK:STDOUT: %x: @F.13.%.loc188_38.1 (%.11) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @F.13.%.loc188_52.1 (%.13) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.13.%.loc188_52.1 (%.13) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.13.%.loc188_52.1 (%.13) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc188: %.14 = assoc_entity element0, %F.decl [template = constants.%.15] @@ -476,12 +476,12 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.4: %Self.ref as %I.ref { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.3] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc62_13.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc62_13.2: type = converted %bool.make_type, %.loc62_13.1 [template = bool] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc54: = interface_witness () [template = ] @@ -494,10 +494,10 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.5: %Self.ref as %I.ref { // CHECK:STDOUT: %F.decl: %F.type.3 = fn_decl @F.3 [template = constants.%F.4] { // CHECK:STDOUT: %self.patt: %FExtraImplicitParam = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %FExtraImplicitParam = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %FExtraImplicitParam = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FExtraImplicitParam [template = constants.%FExtraImplicitParam] -// CHECK:STDOUT: %self.param: %FExtraImplicitParam = param runtime_param0 +// CHECK:STDOUT: %self.param: %FExtraImplicitParam = value_param runtime_param0 // CHECK:STDOUT: %self: %FExtraImplicitParam = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc67: = interface_witness () [template = ] @@ -510,12 +510,12 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.6: %Self.ref as %I.ref { // CHECK:STDOUT: %F.decl: %F.type.4 = fn_decl @F.4 [template = constants.%F.5] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc89_15.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc89_15.2: type = converted %bool.make_type, %.loc89_15.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc81: = interface_witness () [template = ] @@ -528,9 +528,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.7: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.6 = fn_decl @F.6 [template = constants.%F.7] { // CHECK:STDOUT: %self.patt: bool = binding_pattern self -// CHECK:STDOUT: %self.param_patt: bool = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: bool = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc104_16: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc104_16.1: type = value_of_initializer %bool.make_type.loc104_16 [template = bool] @@ -538,9 +538,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc104_27: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc104_27.1: type = value_of_initializer %bool.make_type.loc104_27 [template = bool] // CHECK:STDOUT: %.loc104_27.2: type = converted %bool.make_type.loc104_27, %.loc104_27.1 [template = bool] -// CHECK:STDOUT: %self.param: bool = param runtime_param0 +// CHECK:STDOUT: %self.param: bool = value_param runtime_param0 // CHECK:STDOUT: %self: bool = bind_name self, %self.param -// CHECK:STDOUT: %return.param: bool = param runtime_param1 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc96: = interface_witness () [template = ] @@ -553,9 +553,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.8: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.7 = fn_decl @F.7 [template = constants.%F.8] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc117_13: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc117_13.1: type = value_of_initializer %bool.make_type.loc117_13 [template = bool] @@ -563,9 +563,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc117_22: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc117_22.1: type = value_of_initializer %bool.make_type.loc117_22 [template = bool] // CHECK:STDOUT: %.loc117_22.2: type = converted %bool.make_type.loc117_22, %.loc117_22.1 [template = bool] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param1 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc109: = interface_witness () [template = ] @@ -578,9 +578,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.9: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.8 = fn_decl @F.8 [template = constants.%F.9] { // CHECK:STDOUT: %self.patt: bool = binding_pattern self -// CHECK:STDOUT: %self.param_patt: bool = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: bool = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc130_16: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc130_16.1: type = value_of_initializer %bool.make_type.loc130_16 [template = bool] @@ -588,9 +588,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc130_25: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc130_25.1: type = value_of_initializer %bool.make_type.loc130_25 [template = bool] // CHECK:STDOUT: %.loc130_25.2: type = converted %bool.make_type.loc130_25, %.loc130_25.1 [template = bool] -// CHECK:STDOUT: %self.param: bool = param runtime_param0 +// CHECK:STDOUT: %self.param: bool = value_param runtime_param0 // CHECK:STDOUT: %self: bool = bind_name self, %self.param -// CHECK:STDOUT: %b.param: bool = param runtime_param1 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param1 // CHECK:STDOUT: %b: bool = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc122: = interface_witness () [template = ] @@ -603,11 +603,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.10: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.9 = fn_decl @F.9 [template = constants.%F.10] { // CHECK:STDOUT: %self.patt: bool = binding_pattern self -// CHECK:STDOUT: %self.param_patt: bool = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: bool = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %FDifferentParamType = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %FDifferentParamType = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %FDifferentParamType = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc143_16: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc143_16.1: type = value_of_initializer %bool.make_type.loc143_16 [template = bool] @@ -616,11 +616,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc143_34: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc143_34.1: type = value_of_initializer %bool.make_type.loc143_34 [template = bool] // CHECK:STDOUT: %.loc143_34.2: type = converted %bool.make_type.loc143_34, %.loc143_34.1 [template = bool] -// CHECK:STDOUT: %self.param: bool = param runtime_param0 +// CHECK:STDOUT: %self.param: bool = value_param runtime_param0 // CHECK:STDOUT: %self: bool = bind_name self, %self.param -// CHECK:STDOUT: %b.param: %FDifferentParamType = param runtime_param1 +// CHECK:STDOUT: %b.param: %FDifferentParamType = value_param runtime_param1 // CHECK:STDOUT: %b: %FDifferentParamType = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc135: = interface_witness () [template = ] @@ -633,11 +633,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.11: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.10 = fn_decl @F.10 [template = constants.%F.11] { // CHECK:STDOUT: %self.patt: %FDifferentImplicitParamType = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %FDifferentImplicitParamType = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %FDifferentImplicitParamType = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentImplicitParamType [template = constants.%FDifferentImplicitParamType] // CHECK:STDOUT: %bool.make_type.loc156_25: init type = call constants.%Bool() [template = bool] @@ -646,11 +646,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc156_34: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc156_34.1: type = value_of_initializer %bool.make_type.loc156_34 [template = bool] // CHECK:STDOUT: %.loc156_34.2: type = converted %bool.make_type.loc156_34, %.loc156_34.1 [template = bool] -// CHECK:STDOUT: %self.param: %FDifferentImplicitParamType = param runtime_param0 +// CHECK:STDOUT: %self.param: %FDifferentImplicitParamType = value_param runtime_param0 // CHECK:STDOUT: %self: %FDifferentImplicitParamType = bind_name self, %self.param -// CHECK:STDOUT: %b.param: bool = param runtime_param1 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param1 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc148: = interface_witness () [template = ] @@ -663,11 +663,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.12: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.11 = fn_decl @F.11 [template = constants.%F.12] { // CHECK:STDOUT: %self.patt: bool = binding_pattern self -// CHECK:STDOUT: %self.param_patt: bool = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: bool = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %FDifferentReturnType = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %FDifferentReturnType = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %FDifferentReturnType = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc169_16: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc169_16.1: type = value_of_initializer %bool.make_type.loc169_16 [template = bool] @@ -676,11 +676,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %.loc169_25.1: type = value_of_initializer %bool.make_type.loc169_25 [template = bool] // CHECK:STDOUT: %.loc169_25.2: type = converted %bool.make_type.loc169_25, %.loc169_25.1 [template = bool] // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentReturnType [template = constants.%FDifferentReturnType] -// CHECK:STDOUT: %self.param: bool = param runtime_param0 +// CHECK:STDOUT: %self.param: bool = value_param runtime_param0 // CHECK:STDOUT: %self: bool = bind_name self, %self.param -// CHECK:STDOUT: %b.param: bool = param runtime_param1 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param1 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %FDifferentReturnType = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %FDifferentReturnType = out_param runtime_param2 // CHECK:STDOUT: %return: ref %FDifferentReturnType = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc161: = interface_witness () [template = ] @@ -693,11 +693,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.13: %Self.ref as %J.ref { // CHECK:STDOUT: %F.decl: %F.type.12 = fn_decl @F.12 [template = constants.%F.13] { // CHECK:STDOUT: %self.patt: bool = binding_pattern self -// CHECK:STDOUT: %self.param_patt: bool = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: bool = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %not_b.patt: bool = binding_pattern not_b -// CHECK:STDOUT: %not_b.param_patt: bool = param_pattern %not_b.patt, runtime_param1 +// CHECK:STDOUT: %not_b.param_patt: bool = value_param_pattern %not_b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc183_16: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc183_16.1: type = value_of_initializer %bool.make_type.loc183_16 [template = bool] @@ -708,11 +708,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %bool.make_type.loc183_38: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc183_38.1: type = value_of_initializer %bool.make_type.loc183_38 [template = bool] // CHECK:STDOUT: %.loc183_38.2: type = converted %bool.make_type.loc183_38, %.loc183_38.1 [template = bool] -// CHECK:STDOUT: %self.param: bool = param runtime_param0 +// CHECK:STDOUT: %self.param: bool = value_param runtime_param0 // CHECK:STDOUT: %self: bool = bind_name self, %self.param -// CHECK:STDOUT: %not_b.param: bool = param runtime_param1 +// CHECK:STDOUT: %not_b.param: bool = value_param runtime_param1 // CHECK:STDOUT: %not_b: bool = bind_name not_b, %not_b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc175: = interface_witness () [template = ] @@ -725,9 +725,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.14: %Self.ref as %SelfNested.ref { // CHECK:STDOUT: %F.decl: %F.type.14 = fn_decl @F.14 [template = constants.%F.15] { // CHECK:STDOUT: %x.patt: %.18 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.18 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.18 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.19 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.19 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.19 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %SelfNestedBadParam.ref.loc200_14: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [template = constants.%SelfNestedBadParam] // CHECK:STDOUT: %.loc200_32: type = ptr_type %SelfNestedBadParam [template = constants.%.16] @@ -743,9 +743,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNestedBadParam.ref.loc200_60: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [template = constants.%SelfNestedBadParam] // CHECK:STDOUT: %.loc200_80: i32 = int_literal 4 [template = constants.%.12] // CHECK:STDOUT: %.loc200_81: type = array_type %.loc200_80, %SelfNestedBadParam [template = constants.%.19] -// CHECK:STDOUT: %x.param: %.18 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.18 = value_param runtime_param0 // CHECK:STDOUT: %x: %.18 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %.19 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.19 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.19 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc192: = interface_witness () [template = ] @@ -758,9 +758,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: impl @impl.15: %Self.ref as %SelfNested.ref { // CHECK:STDOUT: %F.decl: %F.type.15 = fn_decl @F.15 [template = constants.%F.16] { // CHECK:STDOUT: %x.patt: %.24 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.24 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.24 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.19 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.19 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.19 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %SelfNestedBadReturnType.ref.loc212_14: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [template = constants.%SelfNestedBadReturnType] // CHECK:STDOUT: %.loc212_37: type = ptr_type %SelfNestedBadReturnType [template = constants.%.22] @@ -774,9 +774,9 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNestedBadParam.ref: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [template = constants.%SelfNestedBadParam] // CHECK:STDOUT: %.loc212_105: i32 = int_literal 4 [template = constants.%.12] // CHECK:STDOUT: %.loc212_106: type = array_type %.loc212_105, %SelfNestedBadParam [template = constants.%.19] -// CHECK:STDOUT: %x.param: %.24 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.24 = value_param runtime_param0 // CHECK:STDOUT: %x: %.24 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %.19 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.19 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.19 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc205: = interface_witness () [template = ] diff --git a/toolchain/check/testdata/impl/impl_forall.carbon b/toolchain/check/testdata/impl/impl_forall.carbon index e50b368761e0..41edeae70e5f 100644 --- a/toolchain/check/testdata/impl/impl_forall.carbon +++ b/toolchain/check/testdata/impl/impl_forall.carbon @@ -55,11 +55,11 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: %Simple.decl: type = interface_decl @Simple [template = constants.%Simple.type] {} {} // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc15_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc15_14.1, runtime_param [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc15_14.1, runtime_param [symbolic = %T.patt.loc15_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_14.1 [symbolic = %T.loc15_14.2 (constants.%T)] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [template = constants.%Simple.type] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc15_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc15_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/alias.carbon b/toolchain/check/testdata/impl/lookup/alias.carbon index b1a014e416d3..e35bf09891cd 100644 --- a/toolchain/check/testdata/impl/lookup/alias.carbon +++ b/toolchain/check/testdata/impl/lookup/alias.carbon @@ -75,10 +75,10 @@ fn G(c: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon b/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon index 5caa47939ab0..8ff5dc0287fb 100644 --- a/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_alias_impl_not_found.carbon @@ -71,10 +71,10 @@ fn F(c: C) { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc19: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon index c8b945ed8905..0c21538ec610 100644 --- a/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon +++ b/toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon @@ -78,12 +78,12 @@ impl C as I { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc19_11.2: type = converted %int.make_type_32, %.loc19_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.2 [template] {} { diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index da5663da7633..30746ccc4a38 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -168,20 +168,20 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [template = constants.%HasF.type] {} {} // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [template = constants.%HasF.type] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %.5 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.5 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.5 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_10.1: %.5 = struct_literal () // CHECK:STDOUT: %.loc12_10.2: type = converted %.loc12_10.1, constants.%.5 [template = constants.%.5] -// CHECK:STDOUT: %x.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %x: %.5 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -323,26 +323,26 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [template = constants.%HasF.type] {} {} // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [template = constants.%HasF.type] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %.5 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.5 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.5 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.5 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.5 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_10.1: %.5 = struct_literal () // CHECK:STDOUT: %.loc12_10.2: type = converted %.loc12_10.1, constants.%.5 [template = constants.%.5] // CHECK:STDOUT: %.loc12_17.1: %.5 = struct_literal () // CHECK:STDOUT: %.loc12_17.2: type = converted %.loc12_17.1, constants.%.5 [template = constants.%.5] -// CHECK:STDOUT: %x.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %x: %.5 = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %.5 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.5 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.5 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -351,9 +351,9 @@ fn G(x: A) { // CHECK:STDOUT: %Self: %HasF.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: @F.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.1.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.1.%Self (%Self) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.1.%Self (%Self) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc5_14: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc5_14.1: type = facet_type_access %Self.ref.loc5_14 [symbolic = %Self (constants.%Self)] @@ -361,9 +361,9 @@ fn G(x: A) { // CHECK:STDOUT: %Self.ref.loc5_25: %HasF.type = name_ref Self, @HasF.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc5_25.1: type = facet_type_access %Self.ref.loc5_25 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc5_25.2: type = converted %Self.ref.loc5_25, %.loc5_25.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.1.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @F.1.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.1.%Self (%Self) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.1.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc5: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] @@ -386,15 +386,15 @@ fn G(x: A) { // CHECK:STDOUT: impl: %T.ref as %HasF.ref { // CHECK:STDOUT: %F.decl: @impl.%F.type (%F.type.2) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.2)] { // CHECK:STDOUT: %self.patt: @F.2.%T (%T) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.2.%T (%T) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.2.%T (%T) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.2.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.2.%T (%T) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.2.%T (%T) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%T.ref [symbolic = %T (constants.%T)] // CHECK:STDOUT: %T.ref: type = name_ref T, @impl.%T.loc8_14.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %self.param: @F.2.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.2.%T (%T) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.2.%T (%T) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @F.2.%T (%T) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.2.%T (%T) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.2.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc8_34.1: = interface_witness (%F.decl) [symbolic = %.loc8_34.2 (constants.%.4)] @@ -537,31 +537,31 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [template = constants.%HasF.type] {} {} // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %T.patt.loc8_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_9.1, runtime_param [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_9.1, runtime_param [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc10_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_14.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc10_14.1, runtime_param [symbolic = %T.patt.loc10_14.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc10_14.1, runtime_param [symbolic = %T.patt.loc10_14.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc10_14.1 [symbolic = %T.loc10_14.2 (constants.%T)] // CHECK:STDOUT: %C.loc10_25.1: type = class_type @C, @C(constants.%T) [symbolic = %C.loc10_25.2 (constants.%C.2)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [template = constants.%HasF.type] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc10_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc10_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %C.3 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %C.3 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %C.3 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc14_12: %.4 = struct_literal () // CHECK:STDOUT: %.loc14_10: type = converted %.loc14_12, constants.%.4 [template = constants.%.4] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%.4) [template = constants.%C.3] -// CHECK:STDOUT: %x.param: %C.3 = param runtime_param0 +// CHECK:STDOUT: %x.param: %C.3 = value_param runtime_param0 // CHECK:STDOUT: %x: %C.3 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -745,30 +745,30 @@ fn G(x: A) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: %HasF.type.1 = interface_decl @HasF [template = constants.%HasF] { // CHECK:STDOUT: %T.patt.loc4_16.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_16.1, runtime_param [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_16.1, runtime_param [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_16.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_16.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_25.1: %.4 = struct_literal () // CHECK:STDOUT: %.loc8_25.2: type = converted %.loc8_25.1, constants.%.4 [template = constants.%.4] // CHECK:STDOUT: %HasF.ref: %HasF.type.1 = name_ref HasF, file.%HasF.decl [template = constants.%HasF] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_34.1: type = interface_type @HasF, @HasF(constants.%T) [symbolic = %HasF.type.loc8_34.2 (constants.%HasF.type.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %.4 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.4 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.4 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_10.1: %.4 = struct_literal () // CHECK:STDOUT: %.loc12_10.2: type = converted %.loc12_10.1, constants.%.4 [template = constants.%.4] -// CHECK:STDOUT: %x.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %x: %.4 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -965,24 +965,24 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.decl: type = interface_decl @HasF [template = constants.%HasF.type] {} {} // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc9_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc9_14.1, runtime_param [symbolic = %T.patt.loc9_14.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc9_14.1, runtime_param [symbolic = %T.patt.loc9_14.2 (constants.%T.patt)] // CHECK:STDOUT: %U.patt.loc9_24.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc9_24.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc9_24.1, runtime_param [symbolic = %U.patt.loc9_24.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc9_24.1, runtime_param [symbolic = %U.patt.loc9_24.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc9_14.1 [symbolic = %T.loc9_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [template = constants.%HasF.type] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc9_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc9_14.2 (constants.%T)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc9_24.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc9_24.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %.5 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.5 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.5 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_10.1: %.5 = struct_literal () // CHECK:STDOUT: %.loc13_10.2: type = converted %.loc13_10.1, constants.%.5 [template = constants.%.5] -// CHECK:STDOUT: %x.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %x: %.5 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1122,30 +1122,30 @@ fn G(x: A) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %HasF.decl: %HasF.type.1 = interface_decl @HasF [template = constants.%HasF] { // CHECK:STDOUT: %T.patt.loc4_16.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_16.1, runtime_param [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_16.1, runtime_param [symbolic = %T.patt.loc4_16.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_16.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_16.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_24: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.ref: %HasF.type.1 = name_ref HasF, file.%HasF.decl [template = constants.%HasF] // CHECK:STDOUT: %T.ref.loc8_34: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_33.1: type = interface_type @HasF, @HasF(constants.%T) [symbolic = %HasF.type.loc8_33.2 (constants.%HasF.type.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %x.patt: %A = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %A = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %A = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] -// CHECK:STDOUT: %x.param: %A = param runtime_param0 +// CHECK:STDOUT: %x.param: %A = value_param runtime_param0 // CHECK:STDOUT: %x: %A = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/import.carbon b/toolchain/check/testdata/impl/lookup/import.carbon index 5b980a067ff8..4c83b1a3e6e9 100644 --- a/toolchain/check/testdata/impl/lookup/import.carbon +++ b/toolchain/check/testdata/impl/lookup/import.carbon @@ -176,11 +176,11 @@ fn G(c: Impl.C) { // CHECK:STDOUT: %Impl.import = import Impl // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Impl.ref.loc4: = name_ref Impl, imports.%Impl [template = imports.%Impl] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.8 [template = constants.%C] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/instance_method.carbon b/toolchain/check/testdata/impl/lookup/instance_method.carbon index 33fd3e21eb3a..90818a0c2141 100644 --- a/toolchain/check/testdata/impl/lookup/instance_method.carbon +++ b/toolchain/check/testdata/impl/lookup/instance_method.carbon @@ -75,17 +75,17 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %C.decl.loc17: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type.3 = fn_decl @F.3 [template = constants.%F.3] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl.loc11 [template = constants.%C] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc23_15.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc23_15.2: type = converted %int.make_type_32, %.loc23_15.1 [template = i32] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -94,9 +94,9 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: @F.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc14_14.1: type = facet_type_access %Self.ref [symbolic = %Self (constants.%Self)] @@ -104,9 +104,9 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_25.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc14_25.2: type = converted %int.make_type_32, %.loc14_25.1 [template = i32] -// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.1.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] @@ -120,17 +120,17 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: impl @impl: %Self.ref as %I.ref { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc19_27.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc19_27.2: type = converted %int.make_type_32, %.loc19_27.1 [template = i32] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc18: = interface_witness (%F.decl) [template = constants.%.4] diff --git a/toolchain/check/testdata/impl/lookup/no_prelude/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/no_prelude/impl_forall.carbon index 2b4d0be18a7d..b57d01c625aa 100644 --- a/toolchain/check/testdata/impl/lookup/no_prelude/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/no_prelude/impl_forall.carbon @@ -115,21 +115,21 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [template = constants.%A.1] { // CHECK:STDOUT: %T.patt.loc2_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc2_9.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc2_9.1, runtime_param [symbolic = %T.patt.loc2_9.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc2_9.1, runtime_param [symbolic = %T.patt.loc2_9.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc2_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc2_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: %I.type.1 = interface_decl @I [template = constants.%I] { // CHECK:STDOUT: %U.patt.loc6_13.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc6_13.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc6_13.1, runtime_param [symbolic = %U.patt.loc6_13.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc6_13.1, runtime_param [symbolic = %U.patt.loc6_13.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc6_13.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc6_13.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %V.patt.loc10_14.1: type = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc10_14.2 (constants.%V.patt)] -// CHECK:STDOUT: %V.param_patt: type = param_pattern %V.patt.loc10_14.1, runtime_param [symbolic = %V.patt.loc10_14.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.param_patt: type = value_param_pattern %V.patt.loc10_14.1, runtime_param [symbolic = %V.patt.loc10_14.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [template = constants.%A.1] // CHECK:STDOUT: %V.ref.loc10_26: type = name_ref V, %V.loc10_14.1 [symbolic = %V.loc10_14.2 (constants.%V)] @@ -137,33 +137,33 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %I.ref: %I.type.1 = name_ref I, file.%I.decl [template = constants.%I] // CHECK:STDOUT: %V.ref.loc10_34: type = name_ref V, %V.loc10_14.1 [symbolic = %V.loc10_14.2 (constants.%V)] // CHECK:STDOUT: %I.type.loc10_33.1: type = interface_type @I, @I(constants.%V) [symbolic = %I.type.loc10_33.2 (constants.%I.type.3)] -// CHECK:STDOUT: %V.param: type = param runtime_param +// CHECK:STDOUT: %V.param: type = value_param runtime_param // CHECK:STDOUT: %V.loc10_14.1: type = bind_symbolic_name V, 0, %V.param [symbolic = %V.loc10_14.2 (constants.%V)] // CHECK:STDOUT: } // CHECK:STDOUT: %TestGeneric.decl: %TestGeneric.type = fn_decl @TestGeneric [template = constants.%TestGeneric] { // CHECK:STDOUT: %W.patt.loc16_16.1: type = symbolic_binding_pattern W, 0 [symbolic = %W.patt.loc16_16.2 (constants.%W.patt)] -// CHECK:STDOUT: %W.param_patt: type = param_pattern %W.patt.loc16_16.1, runtime_param [symbolic = %W.patt.loc16_16.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.param_patt: type = value_param_pattern %W.patt.loc16_16.1, runtime_param [symbolic = %W.patt.loc16_16.2 (constants.%W.patt)] // CHECK:STDOUT: %a.patt: @TestGeneric.%A.loc16_30.2 (%A.4) = binding_pattern a -// CHECK:STDOUT: %a.param_patt: @TestGeneric.%A.loc16_30.2 (%A.4) = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: @TestGeneric.%A.loc16_30.2 (%A.4) = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @TestGeneric.%W.loc16_16.2 (%W) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @TestGeneric.%W.loc16_16.2 (%W) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @TestGeneric.%W.loc16_16.2 (%W) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [template = constants.%A.1] // CHECK:STDOUT: %W.ref.loc16_31: type = name_ref W, %W.loc16_16.1 [symbolic = %W.loc16_16.2 (constants.%W)] // CHECK:STDOUT: %A.loc16_30.1: type = class_type @A, @A(constants.%W) [symbolic = %A.loc16_30.2 (constants.%A.4)] // CHECK:STDOUT: %W.ref.loc16_38: type = name_ref W, %W.loc16_16.1 [symbolic = %W.loc16_16.2 (constants.%W)] -// CHECK:STDOUT: %W.param: type = param runtime_param +// CHECK:STDOUT: %W.param: type = value_param runtime_param // CHECK:STDOUT: %W.loc16_16.1: type = bind_symbolic_name W, 0, %W.param [symbolic = %W.loc16_16.2 (constants.%W)] -// CHECK:STDOUT: %a.param: @TestGeneric.%A.loc16_30.2 (%A.4) = param runtime_param0 +// CHECK:STDOUT: %a.param: @TestGeneric.%A.loc16_30.2 (%A.4) = value_param runtime_param0 // CHECK:STDOUT: %a: @TestGeneric.%A.loc16_30.2 (%A.4) = bind_name a, %a.param -// CHECK:STDOUT: %return.param: @TestGeneric.%W.loc16_16.2 (%W) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @TestGeneric.%W.loc16_16.2 (%W) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @TestGeneric.%W.loc16_16.2 (%W) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestSpecific.decl: %TestSpecific.type = fn_decl @TestSpecific [template = constants.%TestSpecific] { // CHECK:STDOUT: %a.patt: %A.5 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A.5 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A.5 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.21 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.21 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.21 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: %A.type = name_ref A, file.%A.decl [template = constants.%A.1] // CHECK:STDOUT: %.loc20_23: %.21 = struct_literal () @@ -171,9 +171,9 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %A: type = class_type @A, @A(constants.%.21) [template = constants.%A.5] // CHECK:STDOUT: %.loc20_31.1: %.21 = struct_literal () // CHECK:STDOUT: %.loc20_31.2: type = converted %.loc20_31.1, constants.%.21 [template = constants.%.21] -// CHECK:STDOUT: %a.param: %A.5 = param runtime_param0 +// CHECK:STDOUT: %a.param: %A.5 = value_param runtime_param0 // CHECK:STDOUT: %a: %A.5 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %.21 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.21 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.21 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -194,18 +194,18 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: %Self.1: @I.%I.type (%I.type.2) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.1) = fn_decl @F.1 [symbolic = @I.%F (constants.%F.1)] { // CHECK:STDOUT: %self.patt: @F.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.1.%U (%U) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.1.%U (%U) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.1.%U (%U) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_14.1: @F.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%U) [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.ref: @F.1.%I.type (%I.type.2) = name_ref Self, %.loc7_14.1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc7_14.2: type = facet_type_access %Self.ref [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc7_14.3: type = converted %Self.ref, %.loc7_14.2 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %U.ref: type = name_ref U, @I.%U.loc6_13.1 [symbolic = %U (constants.%U)] -// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.1.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @F.1.%U (%U) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.1.%U (%U) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.1.%U (%U) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7_26.1: @I.%.loc7_26.2 (%.5) = assoc_entity element0, %F.decl [symbolic = %.loc7_26.3 (constants.%.6)] @@ -231,15 +231,15 @@ fn TestSpecific(a: A({})) -> {} { // CHECK:STDOUT: impl: %A.loc10_25.1 as %I.type.loc10_33.1 { // CHECK:STDOUT: %F.decl: @impl.%F.type (%F.type.2) = fn_decl @F.2 [symbolic = @impl.%F (constants.%F.2)] { // CHECK:STDOUT: %self.patt: @F.2.%A (%A.3) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.2.%A (%A.3) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.2.%A (%A.3) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.2.%V (%V) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.2.%V (%V) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.2.%V (%V) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%A.loc10_25.1 [symbolic = %A (constants.%A.3)] // CHECK:STDOUT: %V.ref: type = name_ref V, @impl.%V.loc10_14.1 [symbolic = %V (constants.%V)] -// CHECK:STDOUT: %self.param: @F.2.%A (%A.3) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.2.%A (%A.3) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.2.%A (%A.3) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @F.2.%V (%V) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.2.%V (%V) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.2.%V (%V) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10_37.1: = interface_witness (%F.decl) [symbolic = %.loc10_37.2 (constants.%.9)] diff --git a/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon b/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon index 9391c01c0b69..d42724ebb8bb 100644 --- a/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon +++ b/toolchain/check/testdata/impl/lookup/no_prelude/import.carbon @@ -149,11 +149,11 @@ fn G(c: Impl.C) { // CHECK:STDOUT: %Impl.import = import Impl // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %c.patt: %C = binding_pattern c -// CHECK:STDOUT: %c.param_patt: %C = param_pattern %c.patt, runtime_param0 +// CHECK:STDOUT: %c.param_patt: %C = value_param_pattern %c.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Impl.ref.loc4: = name_ref Impl, imports.%Impl [template = imports.%Impl] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.8 [template = constants.%C] -// CHECK:STDOUT: %c.param: %C = param runtime_param0 +// CHECK:STDOUT: %c.param: %C = value_param runtime_param0 // CHECK:STDOUT: %c: %C = bind_name c, %c.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/no_prelude/generic_redeclaration.carbon b/toolchain/check/testdata/impl/no_prelude/generic_redeclaration.carbon index 397048879fac..f2b336eedcdf 100644 --- a/toolchain/check/testdata/impl/no_prelude/generic_redeclaration.carbon +++ b/toolchain/check/testdata/impl/no_prelude/generic_redeclaration.carbon @@ -107,98 +107,98 @@ impl (C, C).0 as I {} // CHECK:STDOUT: %L.decl: type = interface_decl @L [template = constants.%L.type] {} {} // CHECK:STDOUT: impl_decl @impl.1 [template] { // CHECK:STDOUT: %T.patt.loc11_14.1: %I.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_14.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: %I.type = param_pattern %T.patt.loc11_14.1, runtime_param [symbolic = %T.patt.loc11_14.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: %I.type = value_param_pattern %T.patt.loc11_14.1, runtime_param [symbolic = %T.patt.loc11_14.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %T.ref: %I.type = name_ref T, %T.loc11_14.1 [symbolic = %T.loc11_14.2 (constants.%T.1)] // CHECK:STDOUT: %.loc11_21.1: type = facet_type_access %T.ref [symbolic = %T.loc11_14.2 (constants.%T.1)] // CHECK:STDOUT: %.loc11_21.2: type = converted %T.ref, %.loc11_21.1 [symbolic = %T.loc11_14.2 (constants.%T.1)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %I.type = param runtime_param +// CHECK:STDOUT: %T.param: %I.type = value_param runtime_param // CHECK:STDOUT: %T.loc11_14.1: %I.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_14.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.2 [template] { // CHECK:STDOUT: %T.patt.loc12_14.1: %J.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_14.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: %J.type = param_pattern %T.patt.loc12_14.1, runtime_param [symbolic = %T.patt.loc12_14.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: %J.type = value_param_pattern %T.patt.loc12_14.1, runtime_param [symbolic = %T.patt.loc12_14.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type] // CHECK:STDOUT: %T.ref: %J.type = name_ref T, %T.loc12_14.1 [symbolic = %T.loc12_14.2 (constants.%T.2)] // CHECK:STDOUT: %.loc12_21.1: type = facet_type_access %T.ref [symbolic = %T.loc12_14.2 (constants.%T.2)] // CHECK:STDOUT: %.loc12_21.2: type = converted %T.ref, %.loc12_21.1 [symbolic = %T.loc12_14.2 (constants.%T.2)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %J.type = param runtime_param +// CHECK:STDOUT: %T.param: %J.type = value_param runtime_param // CHECK:STDOUT: %T.loc12_14.1: %J.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc12_14.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.3 [template] { // CHECK:STDOUT: %T.patt.loc13_14.1: %K.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_14.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: %K.type = param_pattern %T.patt.loc13_14.1, runtime_param [symbolic = %T.patt.loc13_14.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: %K.type = value_param_pattern %T.patt.loc13_14.1, runtime_param [symbolic = %T.patt.loc13_14.2 (constants.%T.patt.3)] // CHECK:STDOUT: } { // CHECK:STDOUT: %K.ref: type = name_ref K, file.%K.decl [template = constants.%K.type] // CHECK:STDOUT: %T.ref: %K.type = name_ref T, %T.loc13_14.1 [symbolic = %T.loc13_14.2 (constants.%T.3)] // CHECK:STDOUT: %.loc13_21.1: type = facet_type_access %T.ref [symbolic = %T.loc13_14.2 (constants.%T.3)] // CHECK:STDOUT: %.loc13_21.2: type = converted %T.ref, %.loc13_21.1 [symbolic = %T.loc13_14.2 (constants.%T.3)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %K.type = param runtime_param +// CHECK:STDOUT: %T.param: %K.type = value_param runtime_param // CHECK:STDOUT: %T.loc13_14.1: %K.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc13_14.2 (constants.%T.3)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.4 [template] { // CHECK:STDOUT: %T.patt.loc14_14.1: %L.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc14_14.2 (constants.%T.patt.4)] -// CHECK:STDOUT: %T.param_patt: %L.type = param_pattern %T.patt.loc14_14.1, runtime_param [symbolic = %T.patt.loc14_14.2 (constants.%T.patt.4)] +// CHECK:STDOUT: %T.param_patt: %L.type = value_param_pattern %T.patt.loc14_14.1, runtime_param [symbolic = %T.patt.loc14_14.2 (constants.%T.patt.4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %L.ref: type = name_ref L, file.%L.decl [template = constants.%L.type] // CHECK:STDOUT: %T.ref: %L.type = name_ref T, %T.loc14_14.1 [symbolic = %T.loc14_14.2 (constants.%T.4)] // CHECK:STDOUT: %.loc14_21.1: type = facet_type_access %T.ref [symbolic = %T.loc14_14.2 (constants.%T.4)] // CHECK:STDOUT: %.loc14_21.2: type = converted %T.ref, %.loc14_21.1 [symbolic = %T.loc14_14.2 (constants.%T.4)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %L.type = param runtime_param +// CHECK:STDOUT: %T.param: %L.type = value_param runtime_param // CHECK:STDOUT: %T.loc14_14.1: %L.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc14_14.2 (constants.%T.4)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.5 [template] { // CHECK:STDOUT: %T.patt.loc18_14.1: %I.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc18_14.2 (constants.%T.patt.5)] -// CHECK:STDOUT: %T.param_patt: %I.type = param_pattern %T.patt.loc18_14.1, runtime_param [symbolic = %T.patt.loc18_14.2 (constants.%T.patt.5)] +// CHECK:STDOUT: %T.param_patt: %I.type = value_param_pattern %T.patt.loc18_14.1, runtime_param [symbolic = %T.patt.loc18_14.2 (constants.%T.patt.5)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %T.ref: %I.type = name_ref T, %T.loc18_14.1 [symbolic = %T.loc18_14.2 (constants.%T.1)] // CHECK:STDOUT: %.loc18_21.1: type = facet_type_access %T.ref [symbolic = %T.loc18_14.2 (constants.%T.1)] // CHECK:STDOUT: %.loc18_21.2: type = converted %T.ref, %.loc18_21.1 [symbolic = %T.loc18_14.2 (constants.%T.1)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %I.type = param runtime_param +// CHECK:STDOUT: %T.param: %I.type = value_param runtime_param // CHECK:STDOUT: %T.loc18_14.1: %I.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc18_14.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.6 [template] { // CHECK:STDOUT: %T.patt.loc19_14.1: %J.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_14.2 (constants.%T.patt.6)] -// CHECK:STDOUT: %T.param_patt: %J.type = param_pattern %T.patt.loc19_14.1, runtime_param [symbolic = %T.patt.loc19_14.2 (constants.%T.patt.6)] +// CHECK:STDOUT: %T.param_patt: %J.type = value_param_pattern %T.patt.loc19_14.1, runtime_param [symbolic = %T.patt.loc19_14.2 (constants.%T.patt.6)] // CHECK:STDOUT: } { // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type] // CHECK:STDOUT: %T.ref: %J.type = name_ref T, %T.loc19_14.1 [symbolic = %T.loc19_14.2 (constants.%T.2)] // CHECK:STDOUT: %.loc19_21.1: type = facet_type_access %T.ref [symbolic = %T.loc19_14.2 (constants.%T.2)] // CHECK:STDOUT: %.loc19_21.2: type = converted %T.ref, %.loc19_21.1 [symbolic = %T.loc19_14.2 (constants.%T.2)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %J.type = param runtime_param +// CHECK:STDOUT: %T.param: %J.type = value_param runtime_param // CHECK:STDOUT: %T.loc19_14.1: %J.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc19_14.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.7 [template] { // CHECK:STDOUT: %T.patt.loc20_14.1: %K.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc20_14.2 (constants.%T.patt.7)] -// CHECK:STDOUT: %T.param_patt: %K.type = param_pattern %T.patt.loc20_14.1, runtime_param [symbolic = %T.patt.loc20_14.2 (constants.%T.patt.7)] +// CHECK:STDOUT: %T.param_patt: %K.type = value_param_pattern %T.patt.loc20_14.1, runtime_param [symbolic = %T.patt.loc20_14.2 (constants.%T.patt.7)] // CHECK:STDOUT: } { // CHECK:STDOUT: %K.ref: type = name_ref K, file.%K.decl [template = constants.%K.type] // CHECK:STDOUT: %T.ref: %K.type = name_ref T, %T.loc20_14.1 [symbolic = %T.loc20_14.2 (constants.%T.3)] // CHECK:STDOUT: %.loc20_21.1: type = facet_type_access %T.ref [symbolic = %T.loc20_14.2 (constants.%T.3)] // CHECK:STDOUT: %.loc20_21.2: type = converted %T.ref, %.loc20_21.1 [symbolic = %T.loc20_14.2 (constants.%T.3)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %K.type = param runtime_param +// CHECK:STDOUT: %T.param: %K.type = value_param runtime_param // CHECK:STDOUT: %T.loc20_14.1: %K.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc20_14.2 (constants.%T.3)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.8 [template] { // CHECK:STDOUT: %T.patt.loc21_14.1: %L.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_14.2 (constants.%T.patt.8)] -// CHECK:STDOUT: %T.param_patt: %L.type = param_pattern %T.patt.loc21_14.1, runtime_param [symbolic = %T.patt.loc21_14.2 (constants.%T.patt.8)] +// CHECK:STDOUT: %T.param_patt: %L.type = value_param_pattern %T.patt.loc21_14.1, runtime_param [symbolic = %T.patt.loc21_14.2 (constants.%T.patt.8)] // CHECK:STDOUT: } { // CHECK:STDOUT: %L.ref: type = name_ref L, file.%L.decl [template = constants.%L.type] // CHECK:STDOUT: %T.ref: %L.type = name_ref T, %T.loc21_14.1 [symbolic = %T.loc21_14.2 (constants.%T.4)] // CHECK:STDOUT: %.loc21_21.1: type = facet_type_access %T.ref [symbolic = %T.loc21_14.2 (constants.%T.4)] // CHECK:STDOUT: %.loc21_21.2: type = converted %T.ref, %.loc21_21.1 [symbolic = %T.loc21_14.2 (constants.%T.4)] // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %L.type = param runtime_param +// CHECK:STDOUT: %T.param: %L.type = value_param runtime_param // CHECK:STDOUT: %T.loc21_14.1: %L.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc21_14.2 (constants.%T.4)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -390,26 +390,26 @@ impl (C, C).0 as I {} // CHECK:STDOUT: %J.decl: type = interface_decl @J [template = constants.%J.type] {} {} // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc7_14.1: %I.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: %I.type = param_pattern %T.patt.loc7_14.1, runtime_param [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: %I.type = value_param_pattern %T.patt.loc7_14.1, runtime_param [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref.loc7: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %T.ref.loc7: %I.type = name_ref T, %T.loc7_14.1 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: %.loc7_21.1: type = facet_type_access %T.ref.loc7 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: %.loc7_21.2: type = converted %T.ref.loc7, %.loc7_21.1 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: %J.ref.loc7: type = name_ref J, file.%J.decl [template = constants.%J.type] -// CHECK:STDOUT: %T.param.loc7: %I.type = param runtime_param +// CHECK:STDOUT: %T.param.loc7: %I.type = value_param runtime_param // CHECK:STDOUT: %T.loc7_14.1: %I.type = bind_symbolic_name T, 0, %T.param.loc7 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl [template] { // CHECK:STDOUT: %T.patt.loc7_14.1: %I.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: %I.type = param_pattern %T.patt.loc7_14.1, runtime_param [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: %I.type = value_param_pattern %T.patt.loc7_14.1, runtime_param [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref.loc14: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %T.ref.loc14: %I.type = name_ref T, %T.loc14 [symbolic = constants.%T] // CHECK:STDOUT: %.loc14_21.1: type = facet_type_access %T.ref.loc14 [symbolic = constants.%T] // CHECK:STDOUT: %.loc14_21.2: type = converted %T.ref.loc14, %.loc14_21.1 [symbolic = constants.%T] // CHECK:STDOUT: %J.ref.loc14: type = name_ref J, file.%J.decl [template = constants.%J.type] -// CHECK:STDOUT: %T.param.loc14: %I.type = param runtime_param +// CHECK:STDOUT: %T.param.loc14: %I.type = value_param runtime_param // CHECK:STDOUT: %T.loc14: %I.type = bind_symbolic_name T, 0, %T.param.loc14 [symbolic = constants.%T] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/no_prelude/import_generic.carbon b/toolchain/check/testdata/impl/no_prelude/import_generic.carbon index de8d9416853d..b00fbcc1a823 100644 --- a/toolchain/check/testdata/impl/no_prelude/import_generic.carbon +++ b/toolchain/check/testdata/impl/no_prelude/import_generic.carbon @@ -65,32 +65,32 @@ impl forall [T:! type] C as I(T*) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %I.decl: %I.type.1 = interface_decl @I [template = constants.%I] { // CHECK:STDOUT: %T.patt.loc5_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc5_13.1, runtime_param [symbolic = %T.patt.loc5_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc5_13.1, runtime_param [symbolic = %T.patt.loc5_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc5_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc5_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.1 [template] { // CHECK:STDOUT: %T.patt.loc7_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc7_14.1, runtime_param [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc7_14.1, runtime_param [symbolic = %T.patt.loc7_14.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.1 = name_ref I, file.%I.decl [template = constants.%I] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_14.1 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc7_30.1: type = interface_type @I, @I(constants.%T) [symbolic = %I.type.loc7_30.2 (constants.%I.type.2)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc7_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @impl.2 [template] { // CHECK:STDOUT: %T.patt.loc8_14.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_14.1, runtime_param [symbolic = %T.patt.loc8_14.2 (constants.%T.patt.3)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.1 = name_ref I, file.%I.decl [template = constants.%I] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %.loc8_32.1: type = ptr_type %T [symbolic = %.loc8_32.2 (constants.%.4)] // CHECK:STDOUT: %I.type.loc8_30.1: type = interface_type @I, @I(constants.%.4) [symbolic = %I.type.loc8_30.2 (constants.%I.type.3)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_14.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -229,7 +229,7 @@ impl forall [T:! type] C as I(T*) {} // CHECK:STDOUT: %I.ref: %I.type.1 = name_ref I, imports.%import_ref.2 [template = constants.%I] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4 [symbolic = constants.%T] // CHECK:STDOUT: %I.type.loc4: type = interface_type @I, @I(constants.%T) [symbolic = constants.%I.type.2] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -369,7 +369,7 @@ impl forall [T:! type] C as I(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11 [symbolic = constants.%T] // CHECK:STDOUT: %.loc11: type = ptr_type %T [symbolic = constants.%.4] // CHECK:STDOUT: %I.type.loc11: type = interface_type @I, @I(constants.%.4) [symbolic = constants.%I.type.3] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/no_prelude/import_self.carbon b/toolchain/check/testdata/impl/no_prelude/import_self.carbon index f3080520e674..5f4f49cd1454 100644 --- a/toolchain/check/testdata/impl/no_prelude/import_self.carbon +++ b/toolchain/check/testdata/impl/no_prelude/import_self.carbon @@ -53,11 +53,11 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: %Self: %Add.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %Op.decl: %Op.type = fn_decl @Op [template = constants.%Op] { // CHECK:STDOUT: %self.patt: @Op.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @Op.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @Op.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: @Op.%Self (%Self) = binding_pattern other -// CHECK:STDOUT: %other.param_patt: @Op.%Self (%Self) = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: @Op.%Self (%Self) = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: @Op.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Op.%Self (%Self) = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: @Op.%Self (%Self) = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc5_15: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc5_15.1: type = facet_type_access %Self.ref.loc5_15 [symbolic = %Self (constants.%Self)] @@ -68,11 +68,11 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: %Self.ref.loc5_37: %Add.type = name_ref Self, @Add.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc5_37.1: type = facet_type_access %Self.ref.loc5_37 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc5_37.2: type = converted %Self.ref.loc5_37, %.loc5_37.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @Op.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @Op.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @Op.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %other.param: @Op.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %other.param: @Op.%Self (%Self) = value_param runtime_param1 // CHECK:STDOUT: %other: @Op.%Self (%Self) = bind_name other, %other.param -// CHECK:STDOUT: %return.param: @Op.%Self (%Self) = param runtime_param2 +// CHECK:STDOUT: %return.param: ref @Op.%Self (%Self) = out_param runtime_param2 // CHECK:STDOUT: %return: ref @Op.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc5: %.2 = assoc_entity element0, %Op.decl [template = constants.%.3] @@ -132,11 +132,11 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: %y.patt: %.1 = binding_pattern y -// CHECK:STDOUT: %y.param_patt: %.1 = param_pattern %y.patt, runtime_param1 +// CHECK:STDOUT: %y.param_patt: %.1 = value_param_pattern %y.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc10_10.2: type = converted %.loc10_10.1, constants.%.1 [template = constants.%.1] @@ -144,11 +144,11 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: %.loc10_17.2: type = converted %.loc10_17.1, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc10_24.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc10_24.2: type = converted %.loc10_24.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x: %.1 = bind_name x, %x.param -// CHECK:STDOUT: %y.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %y.param: %.1 = value_param runtime_param1 // CHECK:STDOUT: %y: %.1 = bind_name y, %y.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param2 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -163,20 +163,20 @@ fn F(x: (), y: ()) -> () { // CHECK:STDOUT: impl @impl: %.loc6_7.2 as %Add.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %.1 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.1 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.1 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %.1 = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %.1 = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %.1 = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc7_15: type = name_ref Self, @impl.%.loc6_7.2 [template = constants.%.1] // CHECK:STDOUT: %Self.ref.loc7_28: type = name_ref Self, @impl.%.loc6_7.2 [template = constants.%.1] // CHECK:STDOUT: %Self.ref.loc7_37: type = name_ref Self, @impl.%.loc6_7.2 [template = constants.%.1] -// CHECK:STDOUT: %self.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %self: %.1 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %.1 = param runtime_param1 +// CHECK:STDOUT: %other.param: %.1 = value_param runtime_param1 // CHECK:STDOUT: %other: %.1 = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %.1 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param2 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6_16: = interface_witness (%Op.decl) [template = constants.%.2] diff --git a/toolchain/check/testdata/impl/no_prelude/interface_args.carbon b/toolchain/check/testdata/impl/no_prelude/interface_args.carbon index f412c458eaf4..873753c5598d 100644 --- a/toolchain/check/testdata/impl/no_prelude/interface_args.carbon +++ b/toolchain/check/testdata/impl/no_prelude/interface_args.carbon @@ -120,9 +120,9 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Action.decl: %Action.type.1 = interface_decl @Action [template = constants.%Action] { // CHECK:STDOUT: %T.patt.loc4_18.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_18.1, runtime_param [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_18.1, runtime_param [symbolic = %T.patt.loc4_18.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_18.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_18.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} @@ -136,10 +136,10 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: %A = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] -// CHECK:STDOUT: %a.param: %A = param runtime_param0 +// CHECK:STDOUT: %a.param: %A = value_param runtime_param0 // CHECK:STDOUT: %a: %A = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -314,10 +314,10 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: %default.import.loc2_6.2 = import // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: %A = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.2 [template = constants.%A] -// CHECK:STDOUT: %a.param: %A = param runtime_param0 +// CHECK:STDOUT: %a.param: %A = value_param runtime_param0 // CHECK:STDOUT: %a: %A = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -473,10 +473,10 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: %default.import.loc2_6.2 = import // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: %A = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.2 [template = constants.%A] -// CHECK:STDOUT: %a.param: %A = param runtime_param0 +// CHECK:STDOUT: %a.param: %A = value_param runtime_param0 // CHECK:STDOUT: %a: %A = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -612,9 +612,9 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %Factory.decl: %Factory.type.1 = interface_decl @Factory [template = constants.%Factory] { // CHECK:STDOUT: %T.patt.loc4_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_19.1, runtime_param [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_19.1, runtime_param [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_19.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} @@ -643,10 +643,10 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: %Self.1: @Factory.%Factory.type (%Factory.type.2) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: %Make.decl: @Factory.%Make.type (%Make.type.1) = fn_decl @Make.1 [symbolic = @Factory.%Make (constants.%Make.1)] { // CHECK:STDOUT: %return.patt: @Make.1.%T (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Make.1.%T (%T) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @Make.1.%T (%T) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Factory.%T.loc4_19.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %return.param: @Make.1.%T (%T) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @Make.1.%T (%T) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @Make.1.%T (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc5_17.1: @Factory.%.loc5_17.2 (%.2) = assoc_entity element0, %Make.decl [symbolic = %.loc5_17.3 (constants.%.3)] @@ -661,10 +661,10 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: impl @impl: %A.ref as %Factory.type { // CHECK:STDOUT: %Make.decl: %Make.type.2 = fn_decl @Make.2 [template = constants.%Make.2] { // CHECK:STDOUT: %return.patt: %B = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %B = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %B = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B] -// CHECK:STDOUT: %return.param: %B = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %B = out_param runtime_param0 // CHECK:STDOUT: %return: ref %B = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = interface_witness (%Make.decl) [template = constants.%.8] @@ -789,15 +789,15 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: %default.import.loc2_6.2 = import // CHECK:STDOUT: %MakeB.decl: %MakeB.type = fn_decl @MakeB [template = constants.%MakeB] { // CHECK:STDOUT: %a.patt: %A = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %B = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %B = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %B = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.2 [template = constants.%A] // CHECK:STDOUT: %B.ref.loc4: type = name_ref B, imports.%import_ref.3 [template = constants.%B] -// CHECK:STDOUT: %a.param: %A = param runtime_param0 +// CHECK:STDOUT: %a.param: %A = value_param runtime_param0 // CHECK:STDOUT: %a: %A = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %B = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %B = out_param runtime_param1 // CHECK:STDOUT: %return: ref %B = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -954,15 +954,15 @@ fn MakeC(a: A) -> C { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %MakeC.decl: %MakeC.type = fn_decl @MakeC [template = constants.%MakeC] { // CHECK:STDOUT: %a.patt: %A = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %A = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %A = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.2 [template = constants.%A] // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %A = param runtime_param0 +// CHECK:STDOUT: %a.param: %A = value_param runtime_param0 // CHECK:STDOUT: %a: %A = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon b/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon index bda01b65a392..2a66fc4e9696 100644 --- a/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon +++ b/toolchain/check/testdata/impl/no_prelude/self_in_class.carbon @@ -58,12 +58,12 @@ class A { // CHECK:STDOUT: %Self: %DefaultConstructible.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %Make.decl: %Make.type.1 = fn_decl @Make.1 [template = constants.%Make.1] { // CHECK:STDOUT: %return.patt: @Make.1.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Make.1.%Self (%Self) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @Make.1.%Self (%Self) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: %DefaultConstructible.type = name_ref Self, @DefaultConstructible.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_16.1: type = facet_type_access %Self.ref [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_16.2: type = converted %Self.ref, %.loc12_16.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %return.param: @Make.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @Make.1.%Self (%Self) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @Make.1.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %Make.decl [template = constants.%.3] @@ -77,10 +77,10 @@ class A { // CHECK:STDOUT: impl @impl: %C.ref as %DefaultConstructible.ref { // CHECK:STDOUT: %Make.decl: %Make.type.2 = fn_decl @Make.2 [template = constants.%Make.2] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.%C.ref [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc18: = interface_witness (%Make.decl) [template = constants.%.6] diff --git a/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon b/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon index c593c351b5bd..de8fcf31a4ba 100644 --- a/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon @@ -116,11 +116,11 @@ impl D as SelfNested { // CHECK:STDOUT: %Self: %UseSelf.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.1] // CHECK:STDOUT: %F.decl: %F.type.1 = fn_decl @F.1 [template = constants.%F.1] { // CHECK:STDOUT: %self.patt: @F.1.%Self (%Self.1) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self.1) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.1.%Self (%Self.1) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %x.patt: @F.1.%Self (%Self.1) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @F.1.%Self (%Self.1) = param_pattern %x.patt, runtime_param1 +// CHECK:STDOUT: %x.param_patt: @F.1.%Self (%Self.1) = value_param_pattern %x.patt, runtime_param1 // CHECK:STDOUT: %return.patt: @F.1.%Self (%Self.1) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.1.%Self (%Self.1) = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: @F.1.%Self (%Self.1) = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc12_14: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.1)] // CHECK:STDOUT: %.loc12_14.1: type = facet_type_access %Self.ref.loc12_14 [symbolic = %Self (constants.%Self.1)] @@ -131,11 +131,11 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.ref.loc12_32: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self.1)] // CHECK:STDOUT: %.loc12_32.1: type = facet_type_access %Self.ref.loc12_32 [symbolic = %Self (constants.%Self.1)] // CHECK:STDOUT: %.loc12_32.2: type = converted %Self.ref.loc12_32, %.loc12_32.1 [symbolic = %Self (constants.%Self.1)] -// CHECK:STDOUT: %self.param: @F.1.%Self (%Self.1) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.1.%Self (%Self.1) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.1.%Self (%Self.1) = bind_name self, %self.param -// CHECK:STDOUT: %x.param: @F.1.%Self (%Self.1) = param runtime_param1 +// CHECK:STDOUT: %x.param: @F.1.%Self (%Self.1) = value_param runtime_param1 // CHECK:STDOUT: %x: @F.1.%Self (%Self.1) = bind_name x, %x.param -// CHECK:STDOUT: %return.param: @F.1.%Self (%Self.1) = param runtime_param2 +// CHECK:STDOUT: %return.param: ref @F.1.%Self (%Self.1) = out_param runtime_param2 // CHECK:STDOUT: %return: ref @F.1.%Self (%Self.1) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] @@ -150,7 +150,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.2] // CHECK:STDOUT: %F.decl: %F.type.4 = fn_decl @F.4 [template = constants.%F.4] { // CHECK:STDOUT: %x.patt: @F.4.%.loc28_37.1 (%.12) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @F.4.%.loc28_37.1 (%.12) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @F.4.%.loc28_37.1 (%.12) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc28_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2)] // CHECK:STDOUT: %.loc28_16.2: type = facet_type_access %Self.ref.loc28_12 [symbolic = %Self (constants.%Self.2)] @@ -164,7 +164,7 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc28_36.2: type = struct_type {.x: %Self.2, .y: %.1} [symbolic = %.loc28_36.1 (constants.%.10)] // CHECK:STDOUT: %.loc28_37.2: %.11 = tuple_literal (%.loc28_16.4, %.loc28_36.2) // CHECK:STDOUT: %.loc28_37.3: type = converted %.loc28_37.2, constants.%.12 [symbolic = %.loc28_37.1 (constants.%.12)] -// CHECK:STDOUT: %x.param: @F.4.%.loc28_37.1 (%.12) = param runtime_param0 +// CHECK:STDOUT: %x.param: @F.4.%.loc28_37.1 (%.12) = value_param runtime_param0 // CHECK:STDOUT: %x: @F.4.%.loc28_37.1 (%.12) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc28: %.13 = assoc_entity element0, %F.decl [template = constants.%.14] @@ -178,20 +178,20 @@ impl D as SelfNested { // CHECK:STDOUT: impl @impl.1: %C.ref as %UseSelf.ref { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %x.patt: %C = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %C = param_pattern %x.patt, runtime_param1 +// CHECK:STDOUT: %x.param_patt: %C = value_param_pattern %x.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc20_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc20_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc20_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %x.param: %C = param runtime_param1 +// CHECK:STDOUT: %x.param: %C = value_param runtime_param1 // CHECK:STDOUT: %x: %C = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = interface_witness (%F.decl) [template = constants.%.6] @@ -204,20 +204,20 @@ impl D as SelfNested { // CHECK:STDOUT: impl @impl.2: %D.ref as %UseSelf.ref { // CHECK:STDOUT: %F.decl: %F.type.3 = fn_decl @F.3 [template = constants.%F.3] { // CHECK:STDOUT: %self.patt: %D = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %D = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %D = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %x.patt: %D = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %D = param_pattern %x.patt, runtime_param1 +// CHECK:STDOUT: %x.param_patt: %D = value_param_pattern %x.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %D = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %D = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %D = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc24_14: type = name_ref Self, @impl.2.%D.ref [template = constants.%D] // CHECK:STDOUT: %Self.ref.loc24_23: type = name_ref Self, @impl.2.%D.ref [template = constants.%D] // CHECK:STDOUT: %Self.ref.loc24_32: type = name_ref Self, @impl.2.%D.ref [template = constants.%D] -// CHECK:STDOUT: %self.param: %D = param runtime_param0 +// CHECK:STDOUT: %self.param: %D = value_param runtime_param0 // CHECK:STDOUT: %self: %D = bind_name self, %self.param -// CHECK:STDOUT: %x.param: %D = param runtime_param1 +// CHECK:STDOUT: %x.param: %D = value_param runtime_param1 // CHECK:STDOUT: %x: %D = bind_name x, %x.param -// CHECK:STDOUT: %return.param: %D = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %D = out_param runtime_param2 // CHECK:STDOUT: %return: ref %D = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc23: = interface_witness (%F.decl) [template = constants.%.8] @@ -230,7 +230,7 @@ impl D as SelfNested { // CHECK:STDOUT: impl @impl.3: %C.ref as %SelfNested.ref { // CHECK:STDOUT: %F.decl: %F.type.5 = fn_decl @F.5 [template = constants.%F.5] { // CHECK:STDOUT: %x.patt: %.17 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.17 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.17 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc32_12: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc32_13: type = ptr_type %C [template = constants.%.15] @@ -240,7 +240,7 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc32_30: type = struct_type {.x: %C, .y: %.1} [template = constants.%.16] // CHECK:STDOUT: %.loc32_31.1: %.11 = tuple_literal (%.loc32_13, %.loc32_30) // CHECK:STDOUT: %.loc32_31.2: type = converted %.loc32_31.1, constants.%.17 [template = constants.%.17] -// CHECK:STDOUT: %x.param: %.17 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.17 = value_param runtime_param0 // CHECK:STDOUT: %x: %.17 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc31: = interface_witness (%F.decl) [template = constants.%.18] @@ -253,7 +253,7 @@ impl D as SelfNested { // CHECK:STDOUT: impl @impl.4: %D.ref as %SelfNested.ref { // CHECK:STDOUT: %F.decl: %F.type.6 = fn_decl @F.6 [template = constants.%F.6] { // CHECK:STDOUT: %x.patt: %.21 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.21 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.21 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc36_12: type = name_ref Self, @impl.4.%D.ref [template = constants.%D] // CHECK:STDOUT: %.loc36_16: type = ptr_type %D [template = constants.%.19] @@ -263,7 +263,7 @@ impl D as SelfNested { // CHECK:STDOUT: %.loc36_36: type = struct_type {.x: %D, .y: %.1} [template = constants.%.20] // CHECK:STDOUT: %.loc36_37.1: %.11 = tuple_literal (%.loc36_16, %.loc36_36) // CHECK:STDOUT: %.loc36_37.2: type = converted %.loc36_37.1, constants.%.21 [template = constants.%.21] -// CHECK:STDOUT: %x.param: %.21 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.21 = value_param runtime_param0 // CHECK:STDOUT: %x: %.21 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc35: = interface_witness (%F.decl) [template = constants.%.22] diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index 24d016c474eb..6e45e72d1c92 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -77,38 +77,38 @@ fn ValueBinding(b: [i32; 3]) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_17: i32 = int_literal 3 [template = constants.%.2] // CHECK:STDOUT: %.loc11_12.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_12.2: type = converted %int.make_type_32, %.loc11_12.1 [template = i32] // CHECK:STDOUT: %.loc11_18: type = array_type %.loc11_17, i32 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %b.patt: %.3 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %.3 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %.3 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_15: i32 = int_literal 3 [template = constants.%.2] // CHECK:STDOUT: %.loc13_10.1: type = value_of_initializer %int.make_type_32.loc13 [template = i32] // CHECK:STDOUT: %.loc13_10.2: type = converted %int.make_type_32.loc13, %.loc13_10.1 [template = i32] // CHECK:STDOUT: %.loc13_16: type = array_type %.loc13_15, i32 [template = constants.%.3] -// CHECK:STDOUT: %b.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %b.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %b: %.3 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %ValueBinding.decl: %ValueBinding.type = fn_decl @ValueBinding [template = constants.%ValueBinding] { // CHECK:STDOUT: %b.patt: %.3 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %.3 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %.3 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc21: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_26: i32 = int_literal 3 [template = constants.%.2] // CHECK:STDOUT: %.loc21_21.1: type = value_of_initializer %int.make_type_32.loc21 [template = i32] // CHECK:STDOUT: %.loc21_21.2: type = converted %int.make_type_32.loc21, %.loc21_21.1 [template = i32] // CHECK:STDOUT: %.loc21_27: type = array_type %.loc21_26, i32 [template = constants.%.3] -// CHECK:STDOUT: %b.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %b.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %b: %.3 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index c9f140808ab5..fc2cf82fb0a8 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -78,26 +78,26 @@ fn G(b: [i32; 3]) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_17: i32 = int_literal 3 [template = constants.%.2] // CHECK:STDOUT: %.loc11_12.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_12.2: type = converted %int.make_type_32, %.loc11_12.1 [template = i32] // CHECK:STDOUT: %.loc11_18: type = array_type %.loc11_17, i32 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %b.patt: %.3 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %.3 = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %.3 = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_15: i32 = int_literal 3 [template = constants.%.2] // CHECK:STDOUT: %.loc13_10.1: type = value_of_initializer %int.make_type_32.loc13 [template = i32] // CHECK:STDOUT: %.loc13_10.2: type = converted %int.make_type_32.loc13, %.loc13_10.1 [template = i32] // CHECK:STDOUT: %.loc13_16: type = array_type %.loc13_15, i32 [template = constants.%.3] -// CHECK:STDOUT: %b.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %b.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %b: %.3 = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon b/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon index 107bcadc8508..993d81fb1014 100644 --- a/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon +++ b/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon @@ -69,11 +69,11 @@ interface Interface { // CHECK:STDOUT: %.loc16: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc21_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_19.1: type = value_of_initializer %int.make_type_32.loc21_19 [template = i32] @@ -84,11 +84,11 @@ interface Interface { // CHECK:STDOUT: %int.make_type_32.loc21_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_35.1: type = value_of_initializer %int.make_type_32.loc21_35 [template = i32] // CHECK:STDOUT: %.loc21_35.2: type = converted %int.make_type_32.loc21_35, %.loc21_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc21: %.4 = assoc_entity element1, %G.decl [template = constants.%.5] diff --git a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon index 4d32d085fc83..a9fbc475cbb8 100644 --- a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon +++ b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon @@ -110,11 +110,11 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %.decl.loc23: %.type.1 = fn_decl @.1 [template = constants.%.6] {} {} // CHECK:STDOUT: %.decl.loc31: %.type.2 = fn_decl @.2 [template = constants.%.7] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc31_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc31_19.1: type = value_of_initializer %int.make_type_32.loc31_19 [template = i32] @@ -125,11 +125,11 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %int.make_type_32.loc31_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc31_35.1: type = value_of_initializer %int.make_type_32.loc31_35 [template = i32] // CHECK:STDOUT: %.loc31_35.2: type = converted %int.make_type_32.loc31_35, %.loc31_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -140,11 +140,11 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %.loc7: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc13_19: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_19.1: type = value_of_initializer %int.make_type_32.loc13_19 [template = i32] @@ -155,11 +155,11 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %int.make_type_32.loc13_35: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_35.1: type = value_of_initializer %int.make_type_32.loc13_35 [template = i32] // CHECK:STDOUT: %.loc13_35.2: type = converted %int.make_type_32.loc13_35, %.loc13_35.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: %.4 = assoc_entity element1, %G.decl [template = constants.%.5] @@ -245,25 +245,25 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: %Interface.decl: type = interface_decl @Interface [template = constants.%Interface.type] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [symbolic = constants.%F] { // CHECK:STDOUT: %self.patt: %C.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %U.patt.loc20: type = symbolic_binding_pattern U, 1 [symbolic = constants.%U.patt.2] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc20, runtime_param [symbolic = constants.%U.patt.2] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc20, runtime_param [symbolic = constants.%U.patt.2] // CHECK:STDOUT: %u.patt: %U = binding_pattern u -// CHECK:STDOUT: %u.param_patt: %U = param_pattern %u.patt, runtime_param1 +// CHECK:STDOUT: %u.param_patt: %U = value_param_pattern %u.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %U = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %U = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %U = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc20_24: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = constants.%C.2] // CHECK:STDOUT: %Self.ref.loc20: type = name_ref Self, %.loc20_24 [symbolic = constants.%C.2] // CHECK:STDOUT: %U.ref.loc20_43: type = name_ref U, %U.loc20 [symbolic = constants.%U] // CHECK:STDOUT: %U.ref.loc20_49: type = name_ref U, %U.loc20 [symbolic = constants.%U] -// CHECK:STDOUT: %self.param.loc20: %C.2 = param runtime_param0 +// CHECK:STDOUT: %self.param.loc20: %C.2 = value_param runtime_param0 // CHECK:STDOUT: %self.loc20: %C.2 = bind_name self, %self.param.loc20 -// CHECK:STDOUT: %U.param.loc20: type = param runtime_param +// CHECK:STDOUT: %U.param.loc20: type = value_param runtime_param // CHECK:STDOUT: %U.loc20: type = bind_symbolic_name U, 1, %U.param.loc20 [symbolic = constants.%U] -// CHECK:STDOUT: %u.param.loc20: %U = param runtime_param1 +// CHECK:STDOUT: %u.param.loc20: %U = value_param runtime_param1 // CHECK:STDOUT: %u.loc20: %U = bind_name u, %u.param.loc20 -// CHECK:STDOUT: %return.param.loc20: %U = param runtime_param2 +// CHECK:STDOUT: %return.param.loc20: ref %U = out_param runtime_param2 // CHECK:STDOUT: %return: ref %U = return_slot %return.param.loc20 // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -287,25 +287,25 @@ fn Interface.C.F[self: Self](U:! type, u: U) -> U { return u; } // CHECK:STDOUT: class { // CHECK:STDOUT: %F.decl: @C.%F.type (%F.type) = fn_decl @F [symbolic = @C.%F (constants.%F)] { // CHECK:STDOUT: %self.patt: %C.2 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C.2 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C.2 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %U.patt.loc20: type = symbolic_binding_pattern U, 1 [symbolic = constants.%U.patt.2] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc20, runtime_param [symbolic = constants.%U.patt.2] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc20, runtime_param [symbolic = constants.%U.patt.2] // CHECK:STDOUT: %u.patt: %U = binding_pattern u -// CHECK:STDOUT: %u.param_patt: %U = param_pattern %u.patt, runtime_param1 +// CHECK:STDOUT: %u.param_patt: %U = value_param_pattern %u.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %U = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %U = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %U = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc14_16: type = specific_constant constants.%C.2, @C(constants.%Self) [symbolic = %C (constants.%C.2)] // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14_16 [symbolic = %C (constants.%C.2)] // CHECK:STDOUT: %U.ref.loc14_35: type = name_ref U, %U.loc14_22.2 [symbolic = %U.loc14_22.1 (constants.%U)] // CHECK:STDOUT: %U.ref.loc14_41: type = name_ref U, %U.loc14_22.2 [symbolic = %U.loc14_22.1 (constants.%U)] -// CHECK:STDOUT: %self.param.loc14: @F.%C (%C.2) = param runtime_param0 +// CHECK:STDOUT: %self.param.loc14: @F.%C (%C.2) = value_param runtime_param0 // CHECK:STDOUT: %self.loc14: @F.%C (%C.2) = bind_name self, %self.param.loc14 -// CHECK:STDOUT: %U.param.loc14: type = param runtime_param +// CHECK:STDOUT: %U.param.loc14: type = value_param runtime_param // CHECK:STDOUT: %U.loc14_22.2: type = bind_symbolic_name U, 1, %U.param.loc14 [symbolic = %U.loc14_22.1 (constants.%U)] -// CHECK:STDOUT: %u.param.loc14: @F.%U.loc14_22.1 (%U) = param runtime_param1 +// CHECK:STDOUT: %u.param.loc14: @F.%U.loc14_22.1 (%U) = value_param runtime_param1 // CHECK:STDOUT: %u.loc14: @F.%U.loc14_22.1 (%U) = bind_name u, %u.param.loc14 -// CHECK:STDOUT: %return.param.loc14: @F.%U.loc14_22.1 (%U) = param runtime_param2 +// CHECK:STDOUT: %return.param.loc14: ref @F.%U.loc14_22.1 (%U) = out_param runtime_param2 // CHECK:STDOUT: %.loc14_38: ref @F.%U.loc14_22.1 (%U) = return_slot %return.param.loc14 // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/interface/no_prelude/as_type.carbon b/toolchain/check/testdata/interface/no_prelude/as_type.carbon index 9909ff791fef..a0302b13e18a 100644 --- a/toolchain/check/testdata/interface/no_prelude/as_type.carbon +++ b/toolchain/check/testdata/interface/no_prelude/as_type.carbon @@ -30,10 +30,10 @@ fn F(e: Empty) {} // CHECK:STDOUT: %Empty.decl: type = interface_decl @Empty [template = constants.%Empty.type] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %e.patt: %Empty.type = binding_pattern e -// CHECK:STDOUT: %e.param_patt: %Empty.type = param_pattern %e.patt, runtime_param0 +// CHECK:STDOUT: %e.param_patt: %Empty.type = value_param_pattern %e.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [template = constants.%Empty.type] -// CHECK:STDOUT: %e.param: %Empty.type = param runtime_param0 +// CHECK:STDOUT: %e.param: %Empty.type = value_param runtime_param0 // CHECK:STDOUT: %e: %Empty.type = bind_name e, %e.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/as_type_of_type.carbon b/toolchain/check/testdata/interface/no_prelude/as_type_of_type.carbon index 022d135a93cd..9f5c4a3a6ea8 100644 --- a/toolchain/check/testdata/interface/no_prelude/as_type_of_type.carbon +++ b/toolchain/check/testdata/interface/no_prelude/as_type_of_type.carbon @@ -34,10 +34,10 @@ fn F(T:! Empty) { // CHECK:STDOUT: %Empty.decl: type = interface_decl @Empty [template = constants.%Empty.type] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc13_6.1: %Empty.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: %Empty.type = param_pattern %T.patt.loc13_6.1, runtime_param [symbolic = %T.patt.loc13_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: %Empty.type = value_param_pattern %T.patt.loc13_6.1, runtime_param [symbolic = %T.patt.loc13_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [template = constants.%Empty.type] -// CHECK:STDOUT: %T.param: %Empty.type = param runtime_param +// CHECK:STDOUT: %T.param: %Empty.type = value_param runtime_param // CHECK:STDOUT: %T.loc13_6.1: %Empty.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc13_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/assoc_const_in_generic.carbon b/toolchain/check/testdata/interface/no_prelude/assoc_const_in_generic.carbon index 26276c0a96cc..43a991014d3e 100644 --- a/toolchain/check/testdata/interface/no_prelude/assoc_const_in_generic.carbon +++ b/toolchain/check/testdata/interface/no_prelude/assoc_const_in_generic.carbon @@ -60,16 +60,16 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: %I.type.1 = interface_decl @I [template = constants.%I] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %T.patt.loc15_6.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc15_6.1, runtime_param [symbolic = %T.patt.loc15_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc15_6.1, runtime_param [symbolic = %T.patt.loc15_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc15_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc15_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] {} {} @@ -91,14 +91,14 @@ fn H() { // CHECK:STDOUT: %Self.1: @I.%I.type (%I.type.2) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: %F.decl: @I.%F.type (%F.type.1) = fn_decl @F [symbolic = @I.%F (constants.%F)] { // CHECK:STDOUT: %U.patt.loc12_8.2: type = symbolic_binding_pattern U, 2 [symbolic = %U.patt.loc12_8.1 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc12_8.2, runtime_param [symbolic = %U.patt.loc12_8.1 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc12_8.2, runtime_param [symbolic = %U.patt.loc12_8.1 (constants.%U.patt)] // CHECK:STDOUT: %return.patt: @F.%U.loc12_8.1 (%U) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%U.loc12_8.1 (%U) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @F.%U.loc12_8.1 (%U) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc12_8.2 [symbolic = %U.loc12_8.1 (constants.%U)] -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc12_8.2: type = bind_symbolic_name U, 2, %U.param [symbolic = %U.loc12_8.1 (constants.%U)] -// CHECK:STDOUT: %return.param: @F.%U.loc12_8.1 (%U) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @F.%U.loc12_8.1 (%U) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @F.%U.loc12_8.1 (%U) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12_22.1: @I.%.loc12_22.2 (%.2) = assoc_entity element0, %F.decl [symbolic = %.loc12_22.3 (constants.%.3)] diff --git a/toolchain/check/testdata/interface/no_prelude/export_name.carbon b/toolchain/check/testdata/interface/no_prelude/export_name.carbon index e81fbd064c17..be19f8322bff 100644 --- a/toolchain/check/testdata/interface/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/interface/no_prelude/export_name.carbon @@ -109,10 +109,10 @@ fn UseEmpty(i: I) {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %UseEmpty.decl: %UseEmpty.type = fn_decl @UseEmpty [template = constants.%UseEmpty] { // CHECK:STDOUT: %i.patt: %I.type = binding_pattern i -// CHECK:STDOUT: %i.param_patt: %I.type = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: %I.type = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.1 [template = constants.%I.type] -// CHECK:STDOUT: %i.param: %I.type = param runtime_param0 +// CHECK:STDOUT: %i.param: %I.type = value_param runtime_param0 // CHECK:STDOUT: %i: %I.type = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/fail_duplicate.carbon b/toolchain/check/testdata/interface/no_prelude/fail_duplicate.carbon index 2081dd9a929d..6e7f5520de40 100644 --- a/toolchain/check/testdata/interface/no_prelude/fail_duplicate.carbon +++ b/toolchain/check/testdata/interface/no_prelude/fail_duplicate.carbon @@ -151,12 +151,12 @@ interface Class { } // CHECK:STDOUT: %Self: %.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self.2] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: @F.%Self (%Self.2) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.%Self (%Self.2) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.%Self (%Self.2) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: %.type = name_ref Self, @.1.%Self [symbolic = %Self (constants.%Self.2)] // CHECK:STDOUT: %.loc14_14.1: type = facet_type_access %Self.ref [symbolic = %Self (constants.%Self.2)] // CHECK:STDOUT: %.loc14_14.2: type = converted %Self.ref, %.loc14_14.1 [symbolic = %Self (constants.%Self.2)] -// CHECK:STDOUT: %self.param: @F.%Self (%Self.2) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.%Self (%Self.2) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.%Self (%Self.2) = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] diff --git a/toolchain/check/testdata/interface/no_prelude/fail_generic_redeclaration.carbon b/toolchain/check/testdata/interface/no_prelude/fail_generic_redeclaration.carbon index f61820a05353..c84d8eef693f 100644 --- a/toolchain/check/testdata/interface/no_prelude/fail_generic_redeclaration.carbon +++ b/toolchain/check/testdata/interface/no_prelude/fail_generic_redeclaration.carbon @@ -73,33 +73,33 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: %NotGeneric.decl: type = interface_decl @NotGeneric [template = constants.%NotGeneric.type] {} {} // CHECK:STDOUT: %.decl.loc19: %.type.1 = interface_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %T.patt.loc19_22.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc19_22.1, runtime_param [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc19_22.1, runtime_param [symbolic = %T.patt.loc19_22.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc19_22.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc19_22.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl: %Generic.type = interface_decl @Generic [template = constants.%Generic] { // CHECK:STDOUT: %T.patt.loc21_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_19.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc21_19.1, runtime_param [symbolic = %T.patt.loc21_19.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc21_19.1, runtime_param [symbolic = %T.patt.loc21_19.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc21_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc21_19.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc29: type = interface_decl @.2 [template = constants.%.type.3] {} {} // CHECK:STDOUT: %DifferentParams.decl: %DifferentParams.type = interface_decl @DifferentParams [template = constants.%DifferentParams] { // CHECK:STDOUT: %T.patt.loc31_27.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc31_27.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc31_27.1, runtime_param [symbolic = %T.patt.loc31_27.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc31_27.1, runtime_param [symbolic = %T.patt.loc31_27.2 (constants.%T.patt.3)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc31_27.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc31_27.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc38: %.type.4 = interface_decl @.3 [template = constants.%.3] { // CHECK:STDOUT: %T.patt.loc38_27.1: %.1 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc38_27.2 (constants.%T.patt.4)] -// CHECK:STDOUT: %T.param_patt: %.1 = param_pattern %T.patt.loc38_27.1, runtime_param [symbolic = %T.patt.loc38_27.2 (constants.%T.patt.4)] +// CHECK:STDOUT: %T.param_patt: %.1 = value_param_pattern %T.patt.loc38_27.1, runtime_param [symbolic = %T.patt.loc38_27.2 (constants.%T.patt.4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc38_32.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc38_32.2: type = converted %.loc38_32.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %T.param: %.1 = param runtime_param +// CHECK:STDOUT: %T.param: %.1 = value_param runtime_param // CHECK:STDOUT: %T.loc38_27.1: %.1 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc38_27.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/fail_lookup_undefined.carbon b/toolchain/check/testdata/interface/no_prelude/fail_lookup_undefined.carbon index 293e3dee0dfe..b2db68d046c3 100644 --- a/toolchain/check/testdata/interface/no_prelude/fail_lookup_undefined.carbon +++ b/toolchain/check/testdata/interface/no_prelude/fail_lookup_undefined.carbon @@ -86,11 +86,11 @@ interface BeingDefined { // CHECK:STDOUT: %Self: %BeingDefined.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %BeingDefined.ref: type = name_ref BeingDefined, file.%BeingDefined.decl [template = constants.%BeingDefined.type] // CHECK:STDOUT: %T.ref: = name_ref T, [template = ] -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc45: %.3 = assoc_entity element0, %H.decl [template = constants.%.4] diff --git a/toolchain/check/testdata/interface/no_prelude/fail_todo_facet_lookup.carbon b/toolchain/check/testdata/interface/no_prelude/fail_todo_facet_lookup.carbon index d11c45b4265a..62a9941070d9 100644 --- a/toolchain/check/testdata/interface/no_prelude/fail_todo_facet_lookup.carbon +++ b/toolchain/check/testdata/interface/no_prelude/fail_todo_facet_lookup.carbon @@ -53,25 +53,25 @@ fn CallFacet(T:! Interface, x: T) { // CHECK:STDOUT: %Interface.decl: type = interface_decl @Interface [template = constants.%Interface.type] {} {} // CHECK:STDOUT: %CallStatic.decl: %CallStatic.type = fn_decl @CallStatic [template = constants.%CallStatic] { // CHECK:STDOUT: %T.patt.loc13_15.1: %Interface.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_15.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: %Interface.type = param_pattern %T.patt.loc13_15.1, runtime_param [symbolic = %T.patt.loc13_15.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: %Interface.type = value_param_pattern %T.patt.loc13_15.1, runtime_param [symbolic = %T.patt.loc13_15.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] -// CHECK:STDOUT: %T.param: %Interface.type = param runtime_param +// CHECK:STDOUT: %T.param: %Interface.type = value_param runtime_param // CHECK:STDOUT: %T.loc13_15.1: %Interface.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc13_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallFacet.decl: %CallFacet.type = fn_decl @CallFacet [template = constants.%CallFacet] { // CHECK:STDOUT: %T.patt.loc21_14.1: %Interface.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc21_14.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: %Interface.type = param_pattern %T.patt.loc21_14.1, runtime_param [symbolic = %T.patt.loc21_14.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: %Interface.type = value_param_pattern %T.patt.loc21_14.1, runtime_param [symbolic = %T.patt.loc21_14.2 (constants.%T.patt.2)] // CHECK:STDOUT: %x.patt: @CallFacet.%T.loc21_14.2 (%T) = binding_pattern x -// CHECK:STDOUT: %x.param_patt: @CallFacet.%T.loc21_14.2 (%T) = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: @CallFacet.%T.loc21_14.2 (%T) = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Interface.ref: type = name_ref Interface, file.%Interface.decl [template = constants.%Interface.type] // CHECK:STDOUT: %T.ref: %Interface.type = name_ref T, %T.loc21_14.1 [symbolic = %T.loc21_14.2 (constants.%T)] // CHECK:STDOUT: %.loc21_32.1: type = facet_type_access %T.ref [symbolic = %T.loc21_14.2 (constants.%T)] // CHECK:STDOUT: %.loc21_32.2: type = converted %T.ref, %.loc21_32.1 [symbolic = %T.loc21_14.2 (constants.%T)] -// CHECK:STDOUT: %T.param: %Interface.type = param runtime_param +// CHECK:STDOUT: %T.param: %Interface.type = value_param runtime_param // CHECK:STDOUT: %T.loc21_14.1: %Interface.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc21_14.2 (constants.%T)] -// CHECK:STDOUT: %x.param: @CallFacet.%T.loc21_14.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %x.param: @CallFacet.%T.loc21_14.2 (%T) = value_param runtime_param0 // CHECK:STDOUT: %x: @CallFacet.%T.loc21_14.2 (%T) = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/fail_todo_generic_default_fn.carbon b/toolchain/check/testdata/interface/no_prelude/fail_todo_generic_default_fn.carbon index a966ed935e77..3a92af0f9fa9 100644 --- a/toolchain/check/testdata/interface/no_prelude/fail_todo_generic_default_fn.carbon +++ b/toolchain/check/testdata/interface/no_prelude/fail_todo_generic_default_fn.carbon @@ -46,18 +46,18 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: %I.type.1 = interface_decl @I [template = constants.%I] { // CHECK:STDOUT: %T.patt.loc11_13.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc11_13.1, runtime_param [symbolic = %T.patt.loc11_13.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc11_13.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc11_13.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [symbolic = constants.%.4] { // CHECK:STDOUT: %self.patt: @.1.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @.1.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @.1.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @.1.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @.1.%Self (%Self) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @.1.%Self (%Self) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc22_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc22_6.2 (constants.%T)] // CHECK:STDOUT: %.loc22_24.1: @.1.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.ref.loc22_24: @.1.%I.type (%I.type.2) = name_ref Self, %.loc22_24.1 [symbolic = %Self (constants.%Self)] @@ -67,9 +67,9 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: %Self.ref.loc22_35: @.1.%I.type (%I.type.2) = name_ref Self, %.loc22_35.1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc22_35.2: type = facet_type_access %Self.ref.loc22_35 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc22_35.3: type = converted %Self.ref.loc22_35, %.loc22_35.2 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @.1.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @.1.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @.1.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @.1.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @.1.%Self (%Self) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @.1.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -90,9 +90,9 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: %Self.1: @I.%I.type (%I.type.2) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self)] // CHECK:STDOUT: %F.decl: @I.%F.type (%F.type) = fn_decl @F [symbolic = @I.%F (constants.%F)] { // CHECK:STDOUT: %self.patt: @F.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%Self (%Self) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%Self (%Self) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_14.1: @F.%I.type (%I.type.2) = specific_constant @I.%Self.1, @I(constants.%T) [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.ref.loc13_14: @F.%I.type (%I.type.2) = name_ref Self, %.loc13_14.1 [symbolic = %Self (constants.%Self)] @@ -102,9 +102,9 @@ fn I(T:! type).F[self: Self]() -> Self { return self; } // CHECK:STDOUT: %Self.ref.loc13_25: @F.%I.type (%I.type.2) = name_ref Self, %.loc13_25.1 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc13_25.2: type = facet_type_access %Self.ref.loc13_25 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc13_25.3: type = converted %Self.ref.loc13_25, %.loc13_25.2 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @F.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @F.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%Self (%Self) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13_29.1: @I.%.loc13_29.2 (%.2) = assoc_entity element0, %F.decl [symbolic = %.loc13_29.3 (constants.%.3)] diff --git a/toolchain/check/testdata/interface/no_prelude/generic.carbon b/toolchain/check/testdata/interface/no_prelude/generic.carbon index 0c2dd60f6da6..4cfd45a93eff 100644 --- a/toolchain/check/testdata/interface/no_prelude/generic.carbon +++ b/toolchain/check/testdata/interface/no_prelude/generic.carbon @@ -120,50 +120,50 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: } // CHECK:STDOUT: %Simple.decl: %Simple.type.1 = interface_decl @Simple [template = constants.%Simple] { // CHECK:STDOUT: %T.patt.loc4_18.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_18.1, runtime_param [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_18.1, runtime_param [symbolic = %T.patt.loc4_18.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_18.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_18.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {} {} // CHECK:STDOUT: %WithAssocFn.decl: %WithAssocFn.type.1 = interface_decl @WithAssocFn [template = constants.%WithAssocFn] { // CHECK:STDOUT: %T.patt.loc8_23.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_23.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_23.1, runtime_param [symbolic = %T.patt.loc8_23.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_23.1, runtime_param [symbolic = %T.patt.loc8_23.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_23.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_23.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %WithImplicitArgs.decl: %WithImplicitArgs.type = interface_decl @WithImplicitArgs [template = constants.%WithImplicitArgs] { // CHECK:STDOUT: %T.patt.loc22_28.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc22_28.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc22_28.1, runtime_param [symbolic = %T.patt.loc22_28.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc22_28.1, runtime_param [symbolic = %T.patt.loc22_28.2 (constants.%T.patt.3)] // CHECK:STDOUT: %N.patt.loc22_38.1: @WithImplicitArgs.%T.loc22_28.2 (%T.1) = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc22_38.2 (constants.%N.patt)] -// CHECK:STDOUT: %N.param_patt: @WithImplicitArgs.%T.loc22_28.2 (%T.1) = param_pattern %N.patt.loc22_38.1, runtime_param [symbolic = %N.patt.loc22_38.2 (constants.%N.patt)] +// CHECK:STDOUT: %N.param_patt: @WithImplicitArgs.%T.loc22_28.2 (%T.1) = value_param_pattern %N.patt.loc22_38.1, runtime_param [symbolic = %N.patt.loc22_38.2 (constants.%N.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc22_28.1 [symbolic = %T.loc22_28.2 (constants.%T.1)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc22_28.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc22_28.2 (constants.%T.1)] -// CHECK:STDOUT: %N.param: @WithImplicitArgs.%T.loc22_28.2 (%T.1) = param runtime_param +// CHECK:STDOUT: %N.param: @WithImplicitArgs.%T.loc22_28.2 (%T.1) = value_param runtime_param // CHECK:STDOUT: %N.loc22_38.1: @WithImplicitArgs.%T.loc22_28.2 (%T.1) = bind_symbolic_name N, 1, %N.param [symbolic = %N.loc22_38.2 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: %Receive.decl: %Receive.type = fn_decl @Receive [template = constants.%Receive] { // CHECK:STDOUT: %T.patt.loc24_12.1: %Simple.type.3 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc24_12.2 (constants.%T.patt.4)] -// CHECK:STDOUT: %T.param_patt: %Simple.type.3 = param_pattern %T.patt.loc24_12.1, runtime_param [symbolic = %T.patt.loc24_12.2 (constants.%T.patt.4)] +// CHECK:STDOUT: %T.param_patt: %Simple.type.3 = value_param_pattern %T.patt.loc24_12.1, runtime_param [symbolic = %T.patt.loc24_12.2 (constants.%T.patt.4)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Simple.ref: %Simple.type.1 = name_ref Simple, file.%Simple.decl [template = constants.%Simple] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %Simple.type: type = interface_type @Simple, @Simple(constants.%C) [template = constants.%Simple.type.3] -// CHECK:STDOUT: %T.param: %Simple.type.3 = param runtime_param +// CHECK:STDOUT: %T.param: %Simple.type.3 = value_param runtime_param // CHECK:STDOUT: %T.loc24_12.1: %Simple.type.3 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc24_12.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: %Pass.decl: %Pass.type = fn_decl @Pass [template = constants.%Pass] { // CHECK:STDOUT: %T.patt.loc25_9.1: %Simple.type.3 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc25_9.2 (constants.%T.patt.5)] -// CHECK:STDOUT: %T.param_patt: %Simple.type.3 = param_pattern %T.patt.loc25_9.1, runtime_param [symbolic = %T.patt.loc25_9.2 (constants.%T.patt.5)] +// CHECK:STDOUT: %T.param_patt: %Simple.type.3 = value_param_pattern %T.patt.loc25_9.1, runtime_param [symbolic = %T.patt.loc25_9.2 (constants.%T.patt.5)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Simple.ref: %Simple.type.1 = name_ref Simple, file.%Simple.decl [template = constants.%Simple] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %Simple.type: type = interface_type @Simple, @Simple(constants.%C) [template = constants.%Simple.type.3] -// CHECK:STDOUT: %T.param: %Simple.type.3 = param runtime_param +// CHECK:STDOUT: %T.param: %Simple.type.3 = value_param runtime_param // CHECK:STDOUT: %T.loc25_9.1: %Simple.type.3 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc25_9.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -201,10 +201,10 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: %Self.1: @WithAssocFn.%WithAssocFn.type (%WithAssocFn.type.2) = bind_symbolic_name Self, 1 [symbolic = %Self.2 (constants.%Self.2)] // CHECK:STDOUT: %F.decl: @WithAssocFn.%F.type (%F.type.1) = fn_decl @F.1 [symbolic = @WithAssocFn.%F (constants.%F.1)] { // CHECK:STDOUT: %return.patt: %X = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %X = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %X = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %return.param: %X = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %X = out_param runtime_param0 // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10_14.1: @WithAssocFn.%.loc10_14.2 (%.4) = assoc_entity element0, %F.decl [symbolic = %.loc10_14.3 (constants.%.5)] @@ -235,10 +235,10 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: impl @impl.2: %Self.ref as %WithAssocFn.type { // CHECK:STDOUT: %F.decl: %F.type.2 = fn_decl @F.2 [template = constants.%F.2] { // CHECK:STDOUT: %return.patt: %X = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %X = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %X = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %return.param: %X = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %X = out_param runtime_param0 // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = interface_witness (%F.decl) [template = constants.%.9] @@ -422,31 +422,31 @@ fn G(T:! Generic(B)) { // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl: %Generic.type.1 = interface_decl @Generic [template = constants.%Generic] { // CHECK:STDOUT: %T.patt.loc4_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_19.1, runtime_param [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_19.1, runtime_param [symbolic = %T.patt.loc4_19.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_19.2 (constants.%T.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [template = constants.%A] {} {} // CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc9_6.1: %Generic.type.3 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc9_6.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: %Generic.type.3 = param_pattern %T.patt.loc9_6.1, runtime_param [symbolic = %T.patt.loc9_6.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: %Generic.type.3 = value_param_pattern %T.patt.loc9_6.1, runtime_param [symbolic = %T.patt.loc9_6.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Generic.ref: %Generic.type.1 = name_ref Generic, file.%Generic.decl [template = constants.%Generic] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [template = constants.%A] // CHECK:STDOUT: %Generic.type: type = interface_type @Generic, @Generic(constants.%A) [template = constants.%Generic.type.3] -// CHECK:STDOUT: %T.param: %Generic.type.3 = param runtime_param +// CHECK:STDOUT: %T.param: %Generic.type.3 = value_param runtime_param // CHECK:STDOUT: %T.loc9_6.1: %Generic.type.3 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc9_6.2 (constants.%T.2)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %T.patt.loc10_6.1: %Generic.type.4 = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_6.2 (constants.%T.patt.3)] -// CHECK:STDOUT: %T.param_patt: %Generic.type.4 = param_pattern %T.patt.loc10_6.1, runtime_param [symbolic = %T.patt.loc10_6.2 (constants.%T.patt.3)] +// CHECK:STDOUT: %T.param_patt: %Generic.type.4 = value_param_pattern %T.patt.loc10_6.1, runtime_param [symbolic = %T.patt.loc10_6.2 (constants.%T.patt.3)] // CHECK:STDOUT: } { // CHECK:STDOUT: %Generic.ref: %Generic.type.1 = name_ref Generic, file.%Generic.decl [template = constants.%Generic] // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [template = constants.%B] // CHECK:STDOUT: %Generic.type: type = interface_type @Generic, @Generic(constants.%B) [template = constants.%Generic.type.4] -// CHECK:STDOUT: %T.param: %Generic.type.4 = param runtime_param +// CHECK:STDOUT: %T.param: %Generic.type.4 = value_param runtime_param // CHECK:STDOUT: %T.loc10_6.1: %Generic.type.4 = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc10_6.2 (constants.%T.3)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/generic_binding_after_assoc_const.carbon b/toolchain/check/testdata/interface/no_prelude/generic_binding_after_assoc_const.carbon index 5b42a9395fd7..c76ec3f59f21 100644 --- a/toolchain/check/testdata/interface/no_prelude/generic_binding_after_assoc_const.carbon +++ b/toolchain/check/testdata/interface/no_prelude/generic_binding_after_assoc_const.carbon @@ -48,9 +48,9 @@ interface I { // CHECK:STDOUT: %Self: %I.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc12_8.2: type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc12_8.1 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc12_8.2, runtime_param [symbolic = %T.patt.loc12_8.1 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc12_8.2, runtime_param [symbolic = %T.patt.loc12_8.1 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc12_8.2: type = bind_symbolic_name T, 1, %T.param [symbolic = %T.loc12_8.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] @@ -58,9 +58,9 @@ interface I { // CHECK:STDOUT: %.loc13: %.4 = assoc_entity element1, %U [template = constants.%.5] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %T.patt.loc16_8.2: type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc16_8.1 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc16_8.2, runtime_param [symbolic = %T.patt.loc16_8.1 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc16_8.2, runtime_param [symbolic = %T.patt.loc16_8.1 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc16_8.2: type = bind_symbolic_name T, 1, %T.param [symbolic = %T.loc16_8.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: %.6 = assoc_entity element2, %G.decl [template = constants.%.7] diff --git a/toolchain/check/testdata/interface/no_prelude/generic_import.carbon b/toolchain/check/testdata/interface/no_prelude/generic_import.carbon index 4df6b6834d33..272a5fe96400 100644 --- a/toolchain/check/testdata/interface/no_prelude/generic_import.carbon +++ b/toolchain/check/testdata/interface/no_prelude/generic_import.carbon @@ -49,9 +49,9 @@ impl C as AddWith(C) { // CHECK:STDOUT: } // CHECK:STDOUT: %AddWith.decl: %AddWith.type.1 = interface_decl @AddWith [template = constants.%AddWith] { // CHECK:STDOUT: %T.patt.loc4_19.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_19.1, runtime_param [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_19.1, runtime_param [symbolic = %T.patt.loc4_19.2 (constants.%T.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_19.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_19.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/generic_vs_params.carbon b/toolchain/check/testdata/interface/no_prelude/generic_vs_params.carbon index 18d8fbf2772e..9619ef6b472c 100644 --- a/toolchain/check/testdata/interface/no_prelude/generic_vs_params.carbon +++ b/toolchain/check/testdata/interface/no_prelude/generic_vs_params.carbon @@ -100,16 +100,16 @@ interface A(T: type) {} // CHECK:STDOUT: %NotGenericButParams.decl: %NotGenericButParams.type.1 = interface_decl @NotGenericButParams [template = constants.%NotGenericButParams] {} {} // CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.1 = interface_decl @GenericAndParams.1 [template = constants.%GenericAndParams.1] { // CHECK:STDOUT: %T.patt.loc6_28.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_28.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc6_28.1, runtime_param [symbolic = %T.patt.loc6_28.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc6_28.1, runtime_param [symbolic = %T.patt.loc6_28.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc6_28.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc6_28.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %T.patt.loc8_9.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc8_9.1, runtime_param [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc8_9.1, runtime_param [symbolic = %T.patt.loc8_9.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc8_9.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_9.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {} {} @@ -260,9 +260,9 @@ interface A(T: type) {} // CHECK:STDOUT: %GenericNoParams.decl: type = interface_decl @GenericNoParams [template = constants.%GenericNoParams.type.1] {} {} // CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.3) = interface_decl @GenericAndParams.2 [symbolic = @C.%GenericAndParams (constants.%GenericAndParams.2)] { // CHECK:STDOUT: %U.patt.loc10_30.1: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc10_30.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc10_30.1, runtime_param [symbolic = %U.patt.loc10_30.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc10_30.1, runtime_param [symbolic = %U.patt.loc10_30.2 (constants.%U.patt)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc10_30.1: type = bind_symbolic_name U, 1, %U.param [symbolic = %U.loc10_30.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/interface/no_prelude/import.carbon b/toolchain/check/testdata/interface/no_prelude/import.carbon index 0bbca5f3e28f..ae2866b6e36b 100644 --- a/toolchain/check/testdata/interface/no_prelude/import.carbon +++ b/toolchain/check/testdata/interface/no_prelude/import.carbon @@ -213,26 +213,26 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %UseEmpty.decl: %UseEmpty.type = fn_decl @UseEmpty [template = constants.%UseEmpty] { // CHECK:STDOUT: %e.patt: %Empty.type = binding_pattern e -// CHECK:STDOUT: %e.param_patt: %Empty.type = param_pattern %e.patt, runtime_param0 +// CHECK:STDOUT: %e.param_patt: %Empty.type = value_param_pattern %e.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, imports.%import_ref.1 [template = constants.%Empty.type] -// CHECK:STDOUT: %e.param: %Empty.type = param runtime_param0 +// CHECK:STDOUT: %e.param: %Empty.type = value_param runtime_param0 // CHECK:STDOUT: %e: %Empty.type = bind_name e, %e.param // CHECK:STDOUT: } // CHECK:STDOUT: %UseBasic.decl: %UseBasic.type = fn_decl @UseBasic [template = constants.%UseBasic] { // CHECK:STDOUT: %e.patt: %Basic.type = binding_pattern e -// CHECK:STDOUT: %e.param_patt: %Basic.type = param_pattern %e.patt, runtime_param0 +// CHECK:STDOUT: %e.param_patt: %Basic.type = value_param_pattern %e.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Basic.ref: type = name_ref Basic, imports.%import_ref.2 [template = constants.%Basic.type] -// CHECK:STDOUT: %e.param: %Basic.type = param runtime_param0 +// CHECK:STDOUT: %e.param: %Basic.type = value_param runtime_param0 // CHECK:STDOUT: %e: %Basic.type = bind_name e, %e.param // CHECK:STDOUT: } // CHECK:STDOUT: %UseForwardDeclared.decl: %UseForwardDeclared.type = fn_decl @UseForwardDeclared [template = constants.%UseForwardDeclared] { // CHECK:STDOUT: %f.patt: %ForwardDeclared.type = binding_pattern f -// CHECK:STDOUT: %f.param_patt: %ForwardDeclared.type = param_pattern %f.patt, runtime_param0 +// CHECK:STDOUT: %f.param_patt: %ForwardDeclared.type = value_param_pattern %f.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %ForwardDeclared.ref: type = name_ref ForwardDeclared, imports.%import_ref.3 [template = constants.%ForwardDeclared.type] -// CHECK:STDOUT: %f.param: %ForwardDeclared.type = param runtime_param0 +// CHECK:STDOUT: %f.param: %ForwardDeclared.type = value_param runtime_param0 // CHECK:STDOUT: %f: %ForwardDeclared.type = bind_name f, %f.param // CHECK:STDOUT: } // CHECK:STDOUT: %Basic.ref.loc10: type = name_ref Basic, imports.%import_ref.2 [template = constants.%Basic.type] diff --git a/toolchain/check/testdata/interface/no_prelude/import_access.carbon b/toolchain/check/testdata/interface/no_prelude/import_access.carbon index 6e56364ea658..9853bc301921 100644 --- a/toolchain/check/testdata/interface/no_prelude/import_access.carbon +++ b/toolchain/check/testdata/interface/no_prelude/import_access.carbon @@ -215,10 +215,10 @@ private interface Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: %Def.type = binding_pattern i -// CHECK:STDOUT: %i.param_patt: %Def.type = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: %Def.type = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Def.ref: type = name_ref Def, imports.%import_ref.1 [template = constants.%Def.type] -// CHECK:STDOUT: %i.param: %Def.type = param runtime_param0 +// CHECK:STDOUT: %i.param: %Def.type = value_param runtime_param0 // CHECK:STDOUT: %i: %Def.type = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -249,10 +249,10 @@ private interface Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Def.ref: = name_ref Def, [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -284,11 +284,11 @@ private interface Redecl {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Test.ref: = name_ref Test, imports.%Test [template = imports.%Test] // CHECK:STDOUT: %Def.ref: = name_ref Def, [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -322,10 +322,10 @@ private interface Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: %ForwardWithDef.type = binding_pattern i -// CHECK:STDOUT: %i.param_patt: %ForwardWithDef.type = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: %ForwardWithDef.type = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %ForwardWithDef.ref: type = name_ref ForwardWithDef, imports.%import_ref.1 [template = constants.%ForwardWithDef.type] -// CHECK:STDOUT: %i.param: %ForwardWithDef.type = param runtime_param0 +// CHECK:STDOUT: %i.param: %ForwardWithDef.type = value_param runtime_param0 // CHECK:STDOUT: %i: %ForwardWithDef.type = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -356,10 +356,10 @@ private interface Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %ForwardWithDef.ref: = name_ref ForwardWithDef, [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -391,11 +391,11 @@ private interface Redecl {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Test.ref: = name_ref Test, imports.%Test [template = imports.%Test] // CHECK:STDOUT: %ForwardWithDef.ref: = name_ref ForwardWithDef, [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -424,11 +424,11 @@ private interface Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Forward.ref: = name_ref Forward, [template = ] // CHECK:STDOUT: %.loc8: type = ptr_type [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: %Forward.decl: type = interface_decl @Forward [template = constants.%Forward.type] {} {} @@ -462,11 +462,11 @@ private interface Redecl {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Forward.ref: = name_ref Forward, [template = ] // CHECK:STDOUT: %.loc10: type = ptr_type [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -498,11 +498,11 @@ private interface Redecl {} // CHECK:STDOUT: %Test.import = import Test // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %i.patt: = binding_pattern i -// CHECK:STDOUT: %i.param_patt: = param_pattern %i.patt, runtime_param0 +// CHECK:STDOUT: %i.param_patt: = value_param_pattern %i.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Forward.ref: = name_ref Forward, [template = ] // CHECK:STDOUT: %.loc9: type = ptr_type [template = ] -// CHECK:STDOUT: %i.param: = param runtime_param0 +// CHECK:STDOUT: %i.param: = value_param runtime_param0 // CHECK:STDOUT: %i: = bind_name i, %i.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/self.carbon b/toolchain/check/testdata/interface/no_prelude/self.carbon index e8bec2f72b29..0365ae2d7f65 100644 --- a/toolchain/check/testdata/interface/no_prelude/self.carbon +++ b/toolchain/check/testdata/interface/no_prelude/self.carbon @@ -35,9 +35,9 @@ interface UseSelf { // CHECK:STDOUT: %Self: %UseSelf.type = bind_symbolic_name Self, 0 [symbolic = constants.%Self] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %self.patt: @F.%Self (%Self) = binding_pattern self -// CHECK:STDOUT: %self.param_patt: @F.%Self (%Self) = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: @F.%Self (%Self) = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: @F.%Self (%Self) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @F.%Self (%Self) = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: @F.%Self (%Self) = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref.loc12_14: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_14.1: type = facet_type_access %Self.ref.loc12_14 [symbolic = %Self (constants.%Self)] @@ -45,9 +45,9 @@ interface UseSelf { // CHECK:STDOUT: %Self.ref.loc12_25: %UseSelf.type = name_ref Self, @UseSelf.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_25.1: type = facet_type_access %Self.ref.loc12_25 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %.loc12_25.2: type = converted %Self.ref.loc12_25, %.loc12_25.1 [symbolic = %Self (constants.%Self)] -// CHECK:STDOUT: %self.param: @F.%Self (%Self) = param runtime_param0 +// CHECK:STDOUT: %self.param: @F.%Self (%Self) = value_param runtime_param0 // CHECK:STDOUT: %self: @F.%Self (%Self) = bind_name self, %self.param -// CHECK:STDOUT: %return.param: @F.%Self (%Self) = param runtime_param1 +// CHECK:STDOUT: %return.param: ref @F.%Self (%Self) = out_param runtime_param1 // CHECK:STDOUT: %return: ref @F.%Self (%Self) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc12: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] diff --git a/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon b/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon index c3e36ce110e6..3c5ee1d1e918 100644 --- a/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon @@ -219,34 +219,34 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.1 = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0, %a.param.loc7 [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc8: %Foo.type.1 = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc8: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc8: %C = value_param runtime_param // CHECK:STDOUT: %a.loc8: %C = bind_symbolic_name a, 0, %a.param.loc8 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl.loc10: %Bar.type.1 = interface_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt.loc10_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc10_15.2 (constants.%a.patt.3)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc10_15.1, runtime_param [symbolic = %a.patt.loc10_15.2 (constants.%a.patt.3)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc10_15.1, runtime_param [symbolic = %a.patt.loc10_15.2 (constants.%a.patt.3)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc10: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param.loc10: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc10: %C = value_param runtime_param // CHECK:STDOUT: %a.loc10_15.1: %C = bind_symbolic_name a, 0, %a.param.loc10 [symbolic = %a.loc10_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl.loc11: %Bar.type.1 = interface_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt.loc10_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc10_15.2 (constants.%a.patt.3)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc10_15.1, runtime_param [symbolic = %a.patt.loc10_15.2 (constants.%a.patt.3)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc10_15.1, runtime_param [symbolic = %a.patt.loc10_15.2 (constants.%a.patt.3)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc11: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param.loc11: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc11: %C = value_param runtime_param // CHECK:STDOUT: %a.loc11: %C = bind_symbolic_name a, 0, %a.param.loc11 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -336,18 +336,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.1 = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_21.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_21.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_21.1, runtime_param [symbolic = %a.patt.loc6_21.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_21.1, runtime_param [symbolic = %a.patt.loc6_21.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc6: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc6: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_21.1: %C = bind_symbolic_name a, 0, %a.param.loc6 [symbolic = %a.loc6_21.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.1 = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_21.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_21.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_21.1, runtime_param [symbolic = %a.patt.loc6_21.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_21.1, runtime_param [symbolic = %a.patt.loc6_21.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7: %C = bind_symbolic_name a, 0, %a.param.loc7 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -412,18 +412,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type.1 = interface_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc14_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc14_15.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc14_15.1, runtime_param [symbolic = %a.patt.loc14_15.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc14_15.1, runtime_param [symbolic = %a.patt.loc14_15.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc14_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc14_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -498,18 +498,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl.loc6: %Foo.type.1 = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc6: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc6: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc6: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_15.1: %C = bind_symbolic_name a, 0, %a.param.loc6 [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.decl.loc7: %Foo.type.1 = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param.loc7: %C = param runtime_param +// CHECK:STDOUT: %a.param.loc7: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7: %C = bind_symbolic_name a, 0, %a.param.loc7 [symbolic = constants.%a] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -576,18 +576,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %Bar.decl: %Bar.type = interface_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %a.patt.loc8_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc8_15.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc8_15.1, runtime_param [symbolic = %a.patt.loc8_15.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc8_15.1, runtime_param [symbolic = %a.patt.loc8_15.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc8_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc8_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -667,18 +667,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %default.import.loc2_6.2 = import // CHECK:STDOUT: %.decl.loc12: %.type.1 = interface_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc12_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc12_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc12_15.1, runtime_param [symbolic = %a.patt.loc12_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc12_15.1, runtime_param [symbolic = %a.patt.loc12_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%import_ref.1 [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc12_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc12_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl.loc21: %.type.3 = interface_decl @.2 [template = constants.%.5] { // CHECK:STDOUT: %a.patt.loc21_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc21_15.2 (constants.%a.patt.3)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc21_15.1, runtime_param [symbolic = %a.patt.loc21_15.2 (constants.%a.patt.3)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc21_15.1, runtime_param [symbolic = %a.patt.loc21_15.2 (constants.%a.patt.3)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%import_ref.2 [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc21_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc21_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -796,18 +796,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_15.2 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type.1 = interface_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %b.patt.loc15_15.1: %C = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc15_15.2 (constants.%b.patt)] -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt.loc15_15.1, runtime_param [symbolic = %b.patt.loc15_15.2 (constants.%b.patt)] +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt.loc15_15.1, runtime_param [symbolic = %b.patt.loc15_15.2 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %b.param: %C = param runtime_param +// CHECK:STDOUT: %b.param: %C = value_param runtime_param // CHECK:STDOUT: %b.loc15_15.1: %C = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc15_15.2 (constants.%b)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -887,18 +887,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type.1 = interface_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc15_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_15.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc15_15.1, runtime_param [symbolic = %a.patt.loc15_15.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc15_15.1, runtime_param [symbolic = %a.patt.loc15_15.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc15_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc15_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -978,18 +978,18 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, %C.decl [template = constants.%C] // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc7_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc7_15.1, runtime_param [symbolic = %a.patt.loc7_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc7_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc7_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type.1 = interface_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc15_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc15_15.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc15_15.1, runtime_param [symbolic = %a.patt.loc15_15.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc15_15.1, runtime_param [symbolic = %a.patt.loc15_15.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc15_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc15_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1061,10 +1061,10 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_15.2 (constants.%a.patt)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc6_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1124,10 +1124,10 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %D: type = bind_alias D, imports.%import_ref.1 [template = constants.%C] // CHECK:STDOUT: %.decl: %.type.1 = interface_decl @.1 [template = constants.%.4] { // CHECK:STDOUT: %a.patt.loc17_15.1: %C = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc17_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt.loc17_15.1, runtime_param [symbolic = %a.patt.loc17_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt.loc17_15.1, runtime_param [symbolic = %a.patt.loc17_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param +// CHECK:STDOUT: %a.param: %C = value_param runtime_param // CHECK:STDOUT: %a.loc17_15.1: %C = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc17_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1203,21 +1203,21 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = interface_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %a.patt.loc6_15.1: %.3 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] -// CHECK:STDOUT: %a.param_patt: %.3 = param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] +// CHECK:STDOUT: %a.param_patt: %.3 = value_param_pattern %a.patt.loc6_15.1, runtime_param [symbolic = %a.patt.loc6_15.2 (constants.%a.patt.1)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc6: type = const_type %C [template = constants.%.3] -// CHECK:STDOUT: %a.param: %.3 = param runtime_param +// CHECK:STDOUT: %a.param: %.3 = value_param runtime_param // CHECK:STDOUT: %a.loc6_15.1: %.3 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: %.decl: %.type.1 = interface_decl @.1 [template = constants.%.5] { // CHECK:STDOUT: %a.patt.loc17_15.1: %.3 = symbolic_binding_pattern a, 0 [symbolic = %a.patt.loc17_15.2 (constants.%a.patt.2)] -// CHECK:STDOUT: %a.param_patt: %.3 = param_pattern %a.patt.loc17_15.1, runtime_param [symbolic = %a.patt.loc17_15.2 (constants.%a.patt.2)] +// CHECK:STDOUT: %a.param_patt: %.3 = value_param_pattern %a.patt.loc17_15.1, runtime_param [symbolic = %a.patt.loc17_15.2 (constants.%a.patt.2)] // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc17_26: type = const_type %C [template = constants.%.3] // CHECK:STDOUT: %.loc17_19: type = const_type %.3 [template = constants.%.3] -// CHECK:STDOUT: %a.param: %.3 = param runtime_param +// CHECK:STDOUT: %a.param: %.3 = value_param runtime_param // CHECK:STDOUT: %a.loc17_15.1: %.3 = bind_symbolic_name a, 0, %a.param [symbolic = %a.loc17_15.2 (constants.%a)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/todo_define_not_default.carbon b/toolchain/check/testdata/interface/todo_define_not_default.carbon index ced25c14aaad..579477a5d827 100644 --- a/toolchain/check/testdata/interface/todo_define_not_default.carbon +++ b/toolchain/check/testdata/interface/todo_define_not_default.carbon @@ -74,11 +74,11 @@ interface I { // CHECK:STDOUT: %.loc13: %.2 = assoc_entity element0, %F.decl [template = constants.%.3] // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: i32 = binding_pattern b -// CHECK:STDOUT: %b.param_patt: i32 = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: i32 = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc14_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_11.1: type = value_of_initializer %int.make_type_32.loc14_11 [template = i32] @@ -89,11 +89,11 @@ interface I { // CHECK:STDOUT: %int.make_type_32.loc14_27: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_27.1: type = value_of_initializer %int.make_type_32.loc14_27 [template = i32] // CHECK:STDOUT: %.loc14_27.2: type = converted %int.make_type_32.loc14_27, %.loc14_27.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: i32 = param runtime_param1 +// CHECK:STDOUT: %b.param: i32 = value_param runtime_param1 // CHECK:STDOUT: %b: i32 = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param2 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param2 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14: %.4 = assoc_entity element1, %G.decl [template = constants.%.5] diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index d007991cb1cc..c26c495adca8 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -199,11 +199,11 @@ impl i32 as Empty { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_14.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc5_14.2: type = converted %.loc5_14.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10_12.1: %.1 = tuple_literal () @@ -269,11 +269,11 @@ impl i32 as Empty { // CHECK:STDOUT: %x: %.1 = bind_name x, %.loc9_18 // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_14.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc10_14.2: type = converted %.loc10_14.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11: = complete_type_witness %.2 [template = constants.%.3] @@ -344,13 +344,13 @@ impl i32 as Empty { // CHECK:STDOUT: %a: %.1 = bind_name a, %.loc9_18 // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %b.patt.loc10_8.2: %.2 = symbolic_binding_pattern b, 0 [symbolic = %b.patt.loc10_8.1 (constants.%b.patt)] -// CHECK:STDOUT: %b.param_patt: %.2 = param_pattern %b.patt.loc10_8.2, runtime_param [symbolic = %b.patt.loc10_8.1 (constants.%b.patt)] +// CHECK:STDOUT: %b.param_patt: %.2 = value_param_pattern %b.patt.loc10_8.2, runtime_param [symbolic = %b.patt.loc10_8.1 (constants.%b.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc10_14: %.1 = tuple_literal () // CHECK:STDOUT: %.loc10_16.1: %.2 = tuple_literal (%.loc10_14) // CHECK:STDOUT: %.loc10_16.2: type = converted %.loc10_14, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc10_16.3: type = converted %.loc10_16.1, constants.%.2 [template = constants.%.2] -// CHECK:STDOUT: %b.param: %.2 = param runtime_param +// CHECK:STDOUT: %b.param: %.2 = value_param runtime_param // CHECK:STDOUT: %b.loc10_8.2: %.2 = bind_symbolic_name b, 0, %b.param [symbolic = %b.loc10_8.1 (constants.%b)] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22_13: %.1 = tuple_literal () @@ -522,11 +522,11 @@ impl i32 as Empty { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_14.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc5_14.2: type = converted %.loc5_14.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc14_12.1: %.1 = tuple_literal () @@ -583,12 +583,12 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32] // CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -643,12 +643,12 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc4: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_11.1: type = value_of_initializer %int.make_type_32.loc4 [template = i32] // CHECK:STDOUT: %.loc4_11.2: type = converted %int.make_type_32.loc4, %.loc4_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -747,14 +747,14 @@ impl i32 as Empty { // CHECK:STDOUT: %.loc5_21.3: %.2 = assoc_entity element0, %T [template = constants.%.3] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: %.2 = name_ref T, @I.%.loc5_21.3 [template = constants.%.3] // CHECK:STDOUT: %ImplicitAs.type: type = interface_type @ImplicitAs, @ImplicitAs(type) [template = constants.%ImplicitAs.type.3] // CHECK:STDOUT: %.loc13_13.1: %.6 = specific_constant imports.%import_ref.4, @ImplicitAs(type) [template = constants.%.7] // CHECK:STDOUT: %Convert.ref: %.6 = name_ref Convert, %.loc13_13.1 [template = constants.%.7] // CHECK:STDOUT: %.loc13_13.2: type = converted %T.ref, [template = ] -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc13: %.9 = assoc_entity element1, %F.decl [template = constants.%.10] @@ -881,10 +881,10 @@ impl i32 as Empty { // CHECK:STDOUT: %T: type = bind_name T, %.loc9_21.2 // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @I.%T -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = complete_type_witness %.2 [template = constants.%.3] @@ -933,10 +933,10 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @__global_init.%T -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/convert.carbon b/toolchain/check/testdata/let/convert.carbon index 63c9f63cc8be..9081a5dfb1ac 100644 --- a/toolchain/check/testdata/let/convert.carbon +++ b/toolchain/check/testdata/let/convert.carbon @@ -55,12 +55,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32.loc11, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/fail_generic.carbon b/toolchain/check/testdata/let/fail_generic.carbon index 62bf5ef31e7a..324d2d527204 100644 --- a/toolchain/check/testdata/let/fail_generic.carbon +++ b/toolchain/check/testdata/let/fail_generic.carbon @@ -92,9 +92,9 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_9.1: type = value_of_initializer %int.make_type_32.loc12_9 [template = i32] @@ -102,9 +102,9 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc12_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_17.1: type = value_of_initializer %int.make_type_32.loc12_17 [template = i32] // CHECK:STDOUT: %.loc12_17.2: type = converted %int.make_type_32.loc12_17, %.loc12_17.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/global.carbon b/toolchain/check/testdata/let/global.carbon index 9727696b5b15..f4f53395a25c 100644 --- a/toolchain/check/testdata/let/global.carbon +++ b/toolchain/check/testdata/let/global.carbon @@ -50,12 +50,12 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %.loc11_8.2: type = converted %int.make_type_32, %.loc11_8.1 [template = i32] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_11.2: type = converted %int.make_type_32, %.loc13_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/local.carbon b/toolchain/check/testdata/let/local.carbon index 63e3935c7450..0a33e6307a65 100644 --- a/toolchain/check/testdata/let/local.carbon +++ b/toolchain/check/testdata/let/local.carbon @@ -46,9 +46,9 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11_9 [template = i32] @@ -56,9 +56,9 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc11_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_17.1: type = value_of_initializer %int.make_type_32.loc11_17 [template = i32] // CHECK:STDOUT: %.loc11_17.2: type = converted %int.make_type_32.loc11_17, %.loc11_17.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/shadowed_decl.carbon b/toolchain/check/testdata/let/shadowed_decl.carbon index d5c8f3639eca..0022f44a46c0 100644 --- a/toolchain/check/testdata/let/shadowed_decl.carbon +++ b/toolchain/check/testdata/let/shadowed_decl.carbon @@ -48,9 +48,9 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %a.patt: i32 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: i32 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: i32 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_9: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11_9 [template = i32] @@ -58,9 +58,9 @@ fn F(a: i32) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc11_17: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_17.1: type = value_of_initializer %int.make_type_32.loc11_17 [template = i32] // CHECK:STDOUT: %.loc11_17.2: type = converted %int.make_type_32.loc11_17, %.loc11_17.1 [template = i32] -// CHECK:STDOUT: %a.param: i32 = param runtime_param0 +// CHECK:STDOUT: %a.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %a.loc11: i32 = bind_name a, %a.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index e1c496771578..44aefbd72dc4 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -87,12 +87,12 @@ var a: i32 = NS.A(); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc4_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc4_14.2: type = converted %int.make_type_32, %.loc4_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/namespace/alias.carbon b/toolchain/check/testdata/namespace/alias.carbon index 9f34420d291b..b7d2f022c67a 100644 --- a/toolchain/check/testdata/namespace/alias.carbon +++ b/toolchain/check/testdata/namespace/alias.carbon @@ -67,22 +67,22 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %ns: = bind_alias ns, %NS [template = %NS] // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc15_14.2: type = converted %int.make_type_32, %.loc15_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc17_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc17_11.2: type = converted %int.make_type_32, %.loc17_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %NS.ref.loc19: = name_ref NS, %NS [template = %NS] @@ -90,12 +90,12 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %C: %A.type = bind_alias C, %A.decl [template = constants.%A] // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc21_11.2: type = converted %int.make_type_32, %.loc21_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon index 507509da74f1..1e233065c4dc 100644 --- a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon +++ b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon @@ -59,12 +59,12 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: %ns: = bind_alias ns, %NS [template = %NS] // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.2] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc22_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc22_14.2: type = converted %int.make_type_32, %.loc22_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/fail_params.carbon b/toolchain/check/testdata/namespace/fail_params.carbon index a8fe5248713c..5a627d7025f3 100644 --- a/toolchain/check/testdata/namespace/fail_params.carbon +++ b/toolchain/check/testdata/namespace/fail_params.carbon @@ -84,18 +84,18 @@ fn D(T:! type).F() {} // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc24_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc24_16.2: type = converted %int.make_type_32, %.loc24_16.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: %B: = namespace [template] {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T [symbolic = constants.%T] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] -// CHECK:STDOUT: %x.param: %T = param runtime_param0 +// CHECK:STDOUT: %x.param: %T = value_param runtime_param0 // CHECK:STDOUT: %x: %T = bind_name x, %x.param // CHECK:STDOUT: %C: = namespace [template] {} // CHECK:STDOUT: %D: = namespace [template] {} // CHECK:STDOUT: %.decl: %.type = fn_decl @.1 [template = constants.%.2] {} { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc39_6.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc39_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/merging_with_indirections.carbon b/toolchain/check/testdata/namespace/merging_with_indirections.carbon index 48084d59f156..6b06159b1378 100644 --- a/toolchain/check/testdata/namespace/merging_with_indirections.carbon +++ b/toolchain/check/testdata/namespace/merging_with_indirections.carbon @@ -130,11 +130,11 @@ fn Run() { // CHECK:STDOUT: %B.decl: type = class_decl @B [template = constants.%B] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %A = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %A = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %A = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %NS1.ref: = name_ref NS1, imports.%NS1 [template = imports.%NS1] // CHECK:STDOUT: %A.ref: type = name_ref A, imports.%import_ref.2 [template = constants.%A] -// CHECK:STDOUT: %return.param: %A = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %A = out_param runtime_param0 // CHECK:STDOUT: %return: ref %A = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index e218bd723867..a97145e48ba9 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -76,12 +76,12 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_15.1: type = value_of_initializer %int.make_type_32.loc18 [template = i32] // CHECK:STDOUT: %.loc18_15.2: type = converted %int.make_type_32.loc18, %.loc18_15.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/and.carbon b/toolchain/check/testdata/operators/builtin/and.carbon index 798dc323f9b9..4c3ff6174de5 100644 --- a/toolchain/check/testdata/operators/builtin/and.carbon +++ b/toolchain/check/testdata/operators/builtin/and.carbon @@ -74,43 +74,43 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc11_11.2: type = converted %bool.make_type, %.loc11_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_11.2: type = converted %bool.make_type, %.loc12_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %And.decl: %And.type = fn_decl @And [template = constants.%And] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_13.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc14_13.2: type = converted %bool.make_type, %.loc14_13.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Constant.decl: %Constant.type = fn_decl @Constant [template = constants.%Constant] {} {} // CHECK:STDOUT: %PartialConstant.decl: %PartialConstant.type = fn_decl @PartialConstant [template = constants.%PartialConstant] { // CHECK:STDOUT: %x.patt: bool = binding_pattern x -// CHECK:STDOUT: %x.param_patt: bool = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc25: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc25_23.1: type = value_of_initializer %bool.make_type.loc25 [template = bool] // CHECK:STDOUT: %.loc25_23.2: type = converted %bool.make_type.loc25, %.loc25_23.1 [template = bool] -// CHECK:STDOUT: %x.param: bool = param runtime_param0 +// CHECK:STDOUT: %x.param: bool = value_param runtime_param0 // CHECK:STDOUT: %x: bool = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon index 92721289c521..2d5ac11d30b3 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon @@ -78,12 +78,12 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %PartialConstant.decl: %PartialConstant.type = fn_decl @PartialConstant [template = constants.%PartialConstant] { // CHECK:STDOUT: %x.patt: bool = binding_pattern x -// CHECK:STDOUT: %x.param_patt: bool = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc4: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc4_23.1: type = value_of_initializer %bool.make_type.loc4 [template = bool] // CHECK:STDOUT: %.loc4_23.2: type = converted %bool.make_type.loc4, %.loc4_23.1 [template = bool] -// CHECK:STDOUT: %x.param: bool = param runtime_param0 +// CHECK:STDOUT: %x.param: bool = value_param runtime_param0 // CHECK:STDOUT: %x: bool = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -185,12 +185,12 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %KnownValueButNonConstantCondition.decl: %KnownValueButNonConstantCondition.type = fn_decl @KnownValueButNonConstantCondition [template = constants.%KnownValueButNonConstantCondition] { // CHECK:STDOUT: %x.patt: bool = binding_pattern x -// CHECK:STDOUT: %x.param_patt: bool = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc4: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc4_41.1: type = value_of_initializer %bool.make_type.loc4 [template = bool] // CHECK:STDOUT: %.loc4_41.2: type = converted %bool.make_type.loc4, %.loc4_41.1 [template = bool] -// CHECK:STDOUT: %x.param: bool = param runtime_param0 +// CHECK:STDOUT: %x.param: bool = value_param runtime_param0 // CHECK:STDOUT: %x: bool = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon b/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon index b8e5a067d5ea..78d39a85c7d4 100644 --- a/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_assignment_to_non_assignable.carbon @@ -108,12 +108,12 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon index 7d9173b3fa51..a907e0ab2cf1 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -61,12 +61,12 @@ fn Main() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] {} {} diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon index dafe411812b2..1fb5cbe04680 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon @@ -68,12 +68,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon b/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon index cccd63723a2d..ab40a157d635 100644 --- a/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon @@ -62,12 +62,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/or.carbon b/toolchain/check/testdata/operators/builtin/or.carbon index dafec45418cc..9fe2b05d3460 100644 --- a/toolchain/check/testdata/operators/builtin/or.carbon +++ b/toolchain/check/testdata/operators/builtin/or.carbon @@ -74,43 +74,43 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc11_11.2: type = converted %bool.make_type, %.loc11_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_11.2: type = converted %bool.make_type, %.loc12_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Or.decl: %Or.type = fn_decl @Or [template = constants.%Or] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_12.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc14_12.2: type = converted %bool.make_type, %.loc14_12.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Constant.decl: %Constant.type = fn_decl @Constant [template = constants.%Constant] {} {} // CHECK:STDOUT: %PartialConstant.decl: %PartialConstant.type = fn_decl @PartialConstant [template = constants.%PartialConstant] { // CHECK:STDOUT: %x.patt: bool = binding_pattern x -// CHECK:STDOUT: %x.param_patt: bool = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: bool = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc25: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc25_23.1: type = value_of_initializer %bool.make_type.loc25 [template = bool] // CHECK:STDOUT: %.loc25_23.2: type = converted %bool.make_type.loc25, %.loc25_23.1 [template = bool] -// CHECK:STDOUT: %x.param: bool = param runtime_param0 +// CHECK:STDOUT: %x.param: bool = value_param runtime_param0 // CHECK:STDOUT: %x: bool = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/builtin/unary_op.carbon b/toolchain/check/testdata/operators/builtin/unary_op.carbon index 674c0de7179b..26ba2f5e8e9a 100644 --- a/toolchain/check/testdata/operators/builtin/unary_op.carbon +++ b/toolchain/check/testdata/operators/builtin/unary_op.carbon @@ -61,9 +61,9 @@ fn Constant() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Not.decl: %Not.type = fn_decl @Not [template = constants.%Not] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type.loc11_11: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %bool.make_type.loc11_11 [template = bool] @@ -71,9 +71,9 @@ fn Constant() { // CHECK:STDOUT: %bool.make_type.loc11_20: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_20.1: type = value_of_initializer %bool.make_type.loc11_20 [template = bool] // CHECK:STDOUT: %.loc11_20.2: type = converted %bool.make_type.loc11_20, %.loc11_20.1 [template = bool] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param1 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %bool.make_type.loc15: init type = call constants.%Bool() [template = bool] diff --git a/toolchain/check/testdata/operators/overloaded/add.carbon b/toolchain/check/testdata/operators/overloaded/add.carbon index 50cd064e2a45..63d3961303fb 100644 --- a/toolchain/check/testdata/operators/overloaded/add.carbon +++ b/toolchain/check/testdata/operators/overloaded/add.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Add.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %AddAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/bit_and.carbon b/toolchain/check/testdata/operators/overloaded/bit_and.carbon index c4eb3824f0d1..4d72e88fe98c 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_and.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_and.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %BitAnd.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %BitAndAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon index 987bf9e2a948..4bef6e43adbd 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_complement.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_complement.carbon @@ -80,15 +80,15 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -103,15 +103,15 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: impl @impl: %C.ref as %BitComplement.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_23: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] diff --git a/toolchain/check/testdata/operators/overloaded/bit_or.carbon b/toolchain/check/testdata/operators/overloaded/bit_or.carbon index f5f03c0510b5..dc59f15c08a4 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_or.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_or.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %BitOr.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %BitOrAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon index 108442c25f9c..f14f80f3c220 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %BitXor.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %BitXorAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/dec.carbon b/toolchain/check/testdata/operators/overloaded/dec.carbon index 85140aa6da9f..bf845553ef19 100644 --- a/toolchain/check/testdata/operators/overloaded/dec.carbon +++ b/toolchain/check/testdata/operators/overloaded/dec.carbon @@ -92,12 +92,12 @@ fn TestOp() { // CHECK:STDOUT: impl @impl: %C.ref as %Dec.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc18_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc18_21: type = ptr_type %C [template = constants.%.3] -// CHECK:STDOUT: %self.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self: %.3 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.6] diff --git a/toolchain/check/testdata/operators/overloaded/div.carbon b/toolchain/check/testdata/operators/overloaded/div.carbon index 6780bbdc0e25..1d3ac5933627 100644 --- a/toolchain/check/testdata/operators/overloaded/div.carbon +++ b/toolchain/check/testdata/operators/overloaded/div.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Div.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %DivAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/eq.carbon b/toolchain/check/testdata/operators/overloaded/eq.carbon index 55f2b17bddbd..36399d996db6 100644 --- a/toolchain/check/testdata/operators/overloaded/eq.carbon +++ b/toolchain/check/testdata/operators/overloaded/eq.carbon @@ -153,42 +153,42 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: %TestEqual.decl: %TestEqual.type = fn_decl @TestEqual [template = constants.%TestEqual] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc11_17: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc11_23: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_29.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc11_29.2: type = converted %bool.make_type, %.loc11_29.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestNotEqual.decl: %TestNotEqual.type = fn_decl @TestNotEqual [template = constants.%TestNotEqual] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc15_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc15_26: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc15_32.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc15_32.2: type = converted %bool.make_type, %.loc15_32.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -204,42 +204,42 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: impl @impl: %C.ref as %Eq.ref { // CHECK:STDOUT: %Equal.decl: %Equal.type.1 = fn_decl @Equal.1 [template = constants.%Equal.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc7_28: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc7_34.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc7_34.2: type = converted %bool.make_type, %.loc7_34.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %NotEqual.decl: %NotEqual.type.1 = fn_decl @NotEqual.1 [template = constants.%NotEqual.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_21: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc8_31: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc8_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc8_37.2: type = converted %bool.make_type, %.loc8_37.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6: = interface_witness (%Equal.decl, %NotEqual.decl) [template = constants.%.4] @@ -378,42 +378,42 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %TestEqual.decl: %TestEqual.type = fn_decl @TestEqual [template = constants.%TestEqual] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc6_17: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %D.ref.loc6_23: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc6_29.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc6_29.2: type = converted %bool.make_type, %.loc6_29.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestNotEqual.decl: %TestNotEqual.type = fn_decl @TestNotEqual [template = constants.%TestNotEqual] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc14_20: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %D.ref.loc14_26: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_32.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc14_32.2: type = converted %bool.make_type, %.loc14_32.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -569,42 +569,42 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: %TestRhsBad.decl: %TestRhsBad.type = fn_decl @TestRhsBad [template = constants.%TestRhsBad] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_30.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_30.2: type = converted %bool.make_type, %.loc12_30.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestLhsBad.decl: %TestLhsBad.type = fn_decl @TestLhsBad [template = constants.%TestLhsBad] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc26_30.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc26_30.2: type = converted %bool.make_type, %.loc26_30.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -640,42 +640,42 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: impl @impl: %C.ref as %Eq.ref { // CHECK:STDOUT: %Equal.decl: %Equal.type.1 = fn_decl @Equal.1 [template = constants.%Equal.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc8_28: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc8_34.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc8_34.2: type = converted %bool.make_type, %.loc8_34.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %NotEqual.decl: %NotEqual.type.1 = fn_decl @NotEqual.1 [template = constants.%NotEqual.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc9_21: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc9_31: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc9_37.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc9_37.2: type = converted %bool.make_type, %.loc9_37.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7: = interface_witness (%Equal.decl, %NotEqual.decl) [template = constants.%.4] diff --git a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon index be6532798ea2..cf160b7ce1f2 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon @@ -121,23 +121,23 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestIncNonRef.decl: %TestIncNonRef.type = fn_decl @TestIncNonRef [template = constants.%TestIncNonRef] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAddAssignNonRef.decl: %TestAddAssignNonRef.type = fn_decl @TestAddAssignNonRef [template = constants.%TestAddAssignNonRef] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc33_27: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc33_33: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -159,12 +159,12 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Inc.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc16_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc16_21: type = ptr_type %C [template = constants.%.3] -// CHECK:STDOUT: %self.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self: %.3 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15: = interface_witness (%Op.decl) [template = constants.%.6] @@ -177,17 +177,17 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %AddAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc19_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc19_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc19_21: type = ptr_type %C [template = constants.%.3] // CHECK:STDOUT: %C.ref.loc19_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self: %.3 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc18: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon index 2bf0f01e6666..b8645819e091 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl.carbon @@ -133,41 +133,41 @@ fn TestRef(b: C) { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %TestUnary.decl: %TestUnary.type = fn_decl @TestUnary [template = constants.%TestUnary] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc15_17: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc15_23: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestBinary.decl: %TestBinary.type = fn_decl @TestBinary [template = constants.%TestBinary] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc23_24: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc23_30: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestRef.decl: %TestRef.type = fn_decl @TestRef [template = constants.%TestRef] { // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %b.param: %C = param runtime_param0 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param0 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon b/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon index 7dc4daeca2fd..d78dc9ac4b96 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_no_impl_for_arg.carbon @@ -156,28 +156,28 @@ fn TestAssign(b: D) { // CHECK:STDOUT: } // CHECK:STDOUT: %Test.decl: %Test.type = fn_decl @Test [template = constants.%Test] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_12: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %C.ref.loc23_24: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [template = constants.%D] -// CHECK:STDOUT: %b.param: %D = param runtime_param0 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param0 // CHECK:STDOUT: %b: %D = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -219,20 +219,20 @@ fn TestAssign(b: D) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Add.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc17_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc17_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc17_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: = interface_witness (%Op.decl) [template = constants.%.4] @@ -245,17 +245,17 @@ fn TestAssign(b: D) { // CHECK:STDOUT: impl @impl.2: %C.ref as %AddAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.5 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.5 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.5 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc20_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc20_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc20_21: type = ptr_type %C [template = constants.%.5] // CHECK:STDOUT: %C.ref.loc20_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.5 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.5 = value_param runtime_param0 // CHECK:STDOUT: %self: %.5 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19: = interface_witness (%Op.decl) [template = constants.%.7] diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index f82df0d5d571..47c2e30353ea 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -138,32 +138,32 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: %Sink_i32.decl: %Sink_i32.type = fn_decl @Sink_i32 [template = constants.%Sink_i32] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc25_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc25_16.2: type = converted %int.make_type_32, %.loc25_16.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sink_X.decl: %Sink_X.type = fn_decl @Sink_X [template = constants.%Sink_X] { // CHECK:STDOUT: %x.patt: %X = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %X = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %X = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %x.param: %X = param runtime_param0 +// CHECK:STDOUT: %x.param: %X = value_param runtime_param0 // CHECK:STDOUT: %x: %X = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %Source.decl: %Source.type = fn_decl @Source [template = constants.%Source] { // CHECK:STDOUT: %T.patt.loc27_11.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc27_11.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc27_11.1, runtime_param [symbolic = %T.patt.loc27_11.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc27_11.1, runtime_param [symbolic = %T.patt.loc27_11.2 (constants.%T.patt)] // CHECK:STDOUT: %return.patt: @Source.%T.loc27_11.2 (%T) = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: @Source.%T.loc27_11.2 (%T) = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: @Source.%T.loc27_11.2 (%T) = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc27_24: type = name_ref T, %T.loc27_11.1 [symbolic = %T.loc27_11.2 (constants.%T)] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc27_11.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc27_11.2 (constants.%T)] -// CHECK:STDOUT: %return.param: @Source.%T.loc27_11.2 (%T) = param runtime_param0 +// CHECK:STDOUT: %return.param: ref @Source.%T.loc27_11.2 (%T) = out_param runtime_param0 // CHECK:STDOUT: %return: ref @Source.%T.loc27_11.2 (%T) = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Test.decl: %Test.type = fn_decl @Test [template = constants.%Test] {} {} @@ -192,17 +192,17 @@ fn Test() { // CHECK:STDOUT: impl @impl.1: %.loc15_6.2 as %ImplicitAs.type { // CHECK:STDOUT: %Convert.decl: %Convert.type.2 = fn_decl @Convert.2 [template = constants.%Convert.2] { // CHECK:STDOUT: %self.patt: i32 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: i32 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: i32 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %X = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %X = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %X = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc16_20.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc16_20.2: type = converted %int.make_type_32, %.loc16_20.1 [template = i32] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %self.param: i32 = param runtime_param0 +// CHECK:STDOUT: %self.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %self: i32 = bind_name self, %self.param -// CHECK:STDOUT: %return.param: %X = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %X = out_param runtime_param1 // CHECK:STDOUT: %return: ref %X = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15_32: = interface_witness (%Convert.decl) [template = constants.%.9] @@ -215,17 +215,17 @@ fn Test() { // CHECK:STDOUT: impl @impl.2: %X.ref as %ImplicitAs.type { // CHECK:STDOUT: %Convert.decl: %Convert.type.4 = fn_decl @Convert.3 [template = constants.%Convert.4] { // CHECK:STDOUT: %self.patt: %X = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %X = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %X = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [template = constants.%X] // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc20_28.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc20_28.2: type = converted %int.make_type_32, %.loc20_28.1 [template = i32] -// CHECK:STDOUT: %self.param: %X = param runtime_param0 +// CHECK:STDOUT: %self.param: %X = value_param runtime_param0 // CHECK:STDOUT: %self: %X = bind_name self, %self.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19_32: = interface_witness (%Convert.decl) [template = constants.%.13] diff --git a/toolchain/check/testdata/operators/overloaded/inc.carbon b/toolchain/check/testdata/operators/overloaded/inc.carbon index d3ccdc512d91..e75bcfe2d5f8 100644 --- a/toolchain/check/testdata/operators/overloaded/inc.carbon +++ b/toolchain/check/testdata/operators/overloaded/inc.carbon @@ -92,12 +92,12 @@ fn TestOp() { // CHECK:STDOUT: impl @impl: %C.ref as %Inc.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %.3 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.3 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.3 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc18_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc18_21: type = ptr_type %C [template = constants.%.3] -// CHECK:STDOUT: %self.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %self: %.3 = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.6] diff --git a/toolchain/check/testdata/operators/overloaded/left_shift.carbon b/toolchain/check/testdata/operators/overloaded/left_shift.carbon index 16f64a462434..19e6544379bb 100644 --- a/toolchain/check/testdata/operators/overloaded/left_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/left_shift.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %LeftShift.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %LeftShiftAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/mod.carbon b/toolchain/check/testdata/operators/overloaded/mod.carbon index 6e17afd092fa..57f6879f4c74 100644 --- a/toolchain/check/testdata/operators/overloaded/mod.carbon +++ b/toolchain/check/testdata/operators/overloaded/mod.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Mod.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %ModAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/mul.carbon b/toolchain/check/testdata/operators/overloaded/mul.carbon index ec1f7453460c..6998d87c5ee2 100644 --- a/toolchain/check/testdata/operators/overloaded/mul.carbon +++ b/toolchain/check/testdata/operators/overloaded/mul.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Mul.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %MulAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/negate.carbon b/toolchain/check/testdata/operators/overloaded/negate.carbon index 02b74f384dd3..c91cada978ee 100644 --- a/toolchain/check/testdata/operators/overloaded/negate.carbon +++ b/toolchain/check/testdata/operators/overloaded/negate.carbon @@ -80,15 +80,15 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -103,15 +103,15 @@ fn TestOp(a: C) -> C { // CHECK:STDOUT: impl @impl: %C.ref as %Negate.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_23: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %return.param: %C = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param1 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] diff --git a/toolchain/check/testdata/operators/overloaded/ordered.carbon b/toolchain/check/testdata/operators/overloaded/ordered.carbon index 01797fe7c429..a156472f6447 100644 --- a/toolchain/check/testdata/operators/overloaded/ordered.carbon +++ b/toolchain/check/testdata/operators/overloaded/ordered.carbon @@ -169,82 +169,82 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: } // CHECK:STDOUT: %TestLess.decl: %TestLess.type = fn_decl @TestLess [template = constants.%TestLess] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc13_16: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc13_22: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc13_28.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc13_28.2: type = converted %bool.make_type, %.loc13_28.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestLessEqual.decl: %TestLessEqual.type = fn_decl @TestLessEqual [template = constants.%TestLessEqual] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc17_21: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc17_27: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_33.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc17_33.2: type = converted %bool.make_type, %.loc17_33.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestGreater.decl: %TestGreater.type = fn_decl @TestGreater [template = constants.%TestGreater] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc21_19: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc21_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc21_31.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc21_31.2: type = converted %bool.make_type, %.loc21_31.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestGreaterEqual.decl: %TestGreaterEqual.type = fn_decl @TestGreaterEqual [template = constants.%TestGreaterEqual] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc25_24: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc25_30: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc25_36.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc25_36.2: type = converted %bool.make_type, %.loc25_36.1 [template = bool] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -262,82 +262,82 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: impl @impl: %C.ref as %Ordered.ref { // CHECK:STDOUT: %Less.decl: %Less.type.1 = fn_decl @Less.1 [template = constants.%Less.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc7_17: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc7_27: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc7_33.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc7_33.2: type = converted %bool.make_type, %.loc7_33.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %LessOrEquivalent.decl: %LessOrEquivalent.type.1 = fn_decl @LessOrEquivalent.1 [template = constants.%LessOrEquivalent.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_29: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc8_39: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc8_45.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc8_45.2: type = converted %bool.make_type, %.loc8_45.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Greater.decl: %Greater.type.1 = fn_decl @Greater.1 [template = constants.%Greater.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc9_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc9_30: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc9_36.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc9_36.2: type = converted %bool.make_type, %.loc9_36.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %GreaterOrEquivalent.decl: %GreaterOrEquivalent.type.1 = fn_decl @GreaterOrEquivalent.1 [template = constants.%GreaterOrEquivalent.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc10_32: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc10_42: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc10_48.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc10_48.2: type = converted %bool.make_type, %.loc10_48.1 [template = bool] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc6: = interface_witness (%Less.decl, %LessOrEquivalent.decl, %Greater.decl, %GreaterOrEquivalent.decl) [template = constants.%.4] @@ -556,82 +556,82 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %D.decl: type = class_decl @D [template = constants.%D] {} {} // CHECK:STDOUT: %TestLess.decl: %TestLess.type = fn_decl @TestLess [template = constants.%TestLess] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc6_16: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %D.ref.loc6_22: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc6_28.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc6_28.2: type = converted %bool.make_type, %.loc6_28.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestLessEqual.decl: %TestLessEqual.type = fn_decl @TestLessEqual [template = constants.%TestLessEqual] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc14_21: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %D.ref.loc14_27: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_33.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc14_33.2: type = converted %bool.make_type, %.loc14_33.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestGreater.decl: %TestGreater.type = fn_decl @TestGreater [template = constants.%TestGreater] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc22_19: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %D.ref.loc22_25: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc22_31.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc22_31.2: type = converted %bool.make_type, %.loc22_31.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestGreaterEqual.decl: %TestGreaterEqual.type = fn_decl @TestGreaterEqual [template = constants.%TestGreaterEqual] { // CHECK:STDOUT: %a.patt: %D = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %D = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %D = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %D = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %D = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %D = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %D.ref.loc30_24: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %D.ref.loc30_30: type = name_ref D, file.%D.decl [template = constants.%D] // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc30_36.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc30_36.2: type = converted %bool.make_type, %.loc30_36.1 [template = bool] -// CHECK:STDOUT: %a.param: %D = param runtime_param0 +// CHECK:STDOUT: %a.param: %D = value_param runtime_param0 // CHECK:STDOUT: %a: %D = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %D = param runtime_param1 +// CHECK:STDOUT: %b.param: %D = value_param runtime_param1 // CHECK:STDOUT: %b: %D = bind_name b, %b.param -// CHECK:STDOUT: %return.param: bool = param runtime_param2 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/right_shift.carbon b/toolchain/check/testdata/operators/overloaded/right_shift.carbon index 262452fc144c..55f4882ca614 100644 --- a/toolchain/check/testdata/operators/overloaded/right_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/right_shift.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %RightShift.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %RightShiftAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/operators/overloaded/sub.carbon b/toolchain/check/testdata/operators/overloaded/sub.carbon index 5a5e26036b77..faca34551d74 100644 --- a/toolchain/check/testdata/operators/overloaded/sub.carbon +++ b/toolchain/check/testdata/operators/overloaded/sub.carbon @@ -112,34 +112,34 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: } // CHECK:STDOUT: %TestOp.decl: %TestOp.type = fn_decl @TestOp [template = constants.%TestOp] { // CHECK:STDOUT: %a.patt: %C = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %C = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %C = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc26_14: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc26_26: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %C = param runtime_param0 +// CHECK:STDOUT: %a.param: %C = value_param runtime_param0 // CHECK:STDOUT: %a: %C = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %TestAssign.decl: %TestAssign.type = fn_decl @TestAssign [template = constants.%TestAssign] { // CHECK:STDOUT: %a.patt: %.6 = binding_pattern a -// CHECK:STDOUT: %a.param_patt: %.6 = param_pattern %a.patt, runtime_param0 +// CHECK:STDOUT: %a.param_patt: %.6 = value_param_pattern %a.patt, runtime_param0 // CHECK:STDOUT: %b.patt: %C = binding_pattern b -// CHECK:STDOUT: %b.param_patt: %C = param_pattern %b.patt, runtime_param1 +// CHECK:STDOUT: %b.param_patt: %C = value_param_pattern %b.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc30: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc30_25: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %a.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %a.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %a: %.6 = bind_name a, %a.param -// CHECK:STDOUT: %b.param: %C = param runtime_param1 +// CHECK:STDOUT: %b.param: %C = value_param runtime_param1 // CHECK:STDOUT: %b: %C = bind_name b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -161,20 +161,20 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.1: %C.ref as %Sub.ref { // CHECK:STDOUT: %Op.decl: %Op.type.1 = fn_decl @Op.1 [template = constants.%Op.1] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param2 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param2 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc18_15: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_25: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %C.ref.loc18_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param -// CHECK:STDOUT: %return.param: %C = param runtime_param2 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param2 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc17: = interface_witness (%Op.decl) [template = constants.%.4] @@ -187,17 +187,17 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: impl @impl.2: %C.ref as %SubAssign.ref { // CHECK:STDOUT: %Op.decl: %Op.type.3 = fn_decl @Op.3 [template = constants.%Op.3] { // CHECK:STDOUT: %self.patt: %.6 = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %.6 = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %.6 = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: %.loc23_9: auto = addr_pattern %self.param_patt // CHECK:STDOUT: %other.patt: %C = binding_pattern other -// CHECK:STDOUT: %other.param_patt: %C = param_pattern %other.patt, runtime_param1 +// CHECK:STDOUT: %other.param_patt: %C = value_param_pattern %other.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc23_21: type = ptr_type %C [template = constants.%.6] // CHECK:STDOUT: %C.ref.loc23_31: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %self.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %self.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %self: %.6 = bind_name self, %self.param -// CHECK:STDOUT: %other.param: %C = param runtime_param1 +// CHECK:STDOUT: %other.param: %C = value_param runtime_param1 // CHECK:STDOUT: %other: %C = bind_name other, %other.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: = interface_witness (%Op.decl) [template = constants.%.8] diff --git a/toolchain/check/testdata/packages/no_prelude/cross_package_import.carbon b/toolchain/check/testdata/packages/no_prelude/cross_package_import.carbon index 01ea1b62e7c2..bff51b86d37c 100644 --- a/toolchain/check/testdata/packages/no_prelude/cross_package_import.carbon +++ b/toolchain/check/testdata/packages/no_prelude/cross_package_import.carbon @@ -257,11 +257,11 @@ fn UseF() { Other.F(); } // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %x.patt: %.1 = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %.1 = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %.1 = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_10.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc4_10.2: type = converted %.loc4_10.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %x.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %x.param: %.1 = value_param runtime_param0 // CHECK:STDOUT: %x: %.1 = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/no_prelude/fail_export_name_params.carbon b/toolchain/check/testdata/packages/no_prelude/fail_export_name_params.carbon index c49c8ff6aadd..d433a55c461e 100644 --- a/toolchain/check/testdata/packages/no_prelude/fail_export_name_params.carbon +++ b/toolchain/check/testdata/packages/no_prelude/fail_export_name_params.carbon @@ -50,16 +50,16 @@ export C2(T:! type); // CHECK:STDOUT: } // CHECK:STDOUT: %C1.decl: %C1.type = class_decl @C1 [template = constants.%C1.1] { // CHECK:STDOUT: %T.patt.loc4_10.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.1)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc4_10.1, runtime_param [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.1)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc4_10.1, runtime_param [symbolic = %T.patt.loc4_10.2 (constants.%T.patt.1)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc4_10.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc4_10.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C2.decl: %C2.type = class_decl @C2 [template = constants.%C2.1] { // CHECK:STDOUT: %T.patt.loc5_10.1: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc5_10.2 (constants.%T.patt.2)] -// CHECK:STDOUT: %T.param_patt: type = param_pattern %T.patt.loc5_10.1, runtime_param [symbolic = %T.patt.loc5_10.2 (constants.%T.patt.2)] +// CHECK:STDOUT: %T.param_patt: type = value_param_pattern %T.patt.loc5_10.1, runtime_param [symbolic = %T.patt.loc5_10.2 (constants.%T.patt.2)] // CHECK:STDOUT: } { -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T.loc5_10.1: type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc5_10.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -115,7 +115,7 @@ export C2(T:! type); // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C1: %C1.type = export C1, imports.%import_ref.1 [template = constants.%C1.1] -// CHECK:STDOUT: %T.param: type = param runtime_param +// CHECK:STDOUT: %T.param: type = value_param runtime_param // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0, %T.param [symbolic = constants.%T] // CHECK:STDOUT: %C2: %C2.type = export C2, imports.%import_ref.2 [template = constants.%C2.1] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon b/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon index 281a4ec6b3ac..9f9c079e1ccf 100644 --- a/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon +++ b/toolchain/check/testdata/packages/no_prelude/missing_prelude.carbon @@ -135,11 +135,11 @@ var n: {} = i32; // CHECK:STDOUT: } // CHECK:STDOUT: %Int32.decl: %Int32.type = fn_decl @Int32 [template = constants.%Int32] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_16.1: %.1 = struct_literal () // CHECK:STDOUT: %.loc4_16.2: type = converted %.loc4_16.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -206,11 +206,11 @@ var n: {} = i32; // CHECK:STDOUT: } // CHECK:STDOUT: %Int32.decl: %Int32.type = fn_decl @Int32 [template = constants.%Int32] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_16.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc8_16.2: type = converted %.loc8_16.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10_9.1: %.1 = tuple_literal () @@ -254,11 +254,11 @@ var n: {} = i32; // CHECK:STDOUT: } // CHECK:STDOUT: %Int32.decl: %Int32.type = fn_decl @Int32 [template = constants.%Int32] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc7_21.1: %.1 = struct_literal () // CHECK:STDOUT: %.loc7_21.2: type = converted %.loc7_21.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc9_9.1: %.1 = struct_literal () @@ -309,11 +309,11 @@ var n: {} = i32; // CHECK:STDOUT: class @Core { // CHECK:STDOUT: %Int32.decl: %Int32.type = fn_decl @Int32 [template = constants.%Int32] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6_18.1: %.1 = struct_literal () // CHECK:STDOUT: %.loc6_18.2: type = converted %.loc6_18.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc7: = complete_type_witness %.1 [template = constants.%.3] diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index 6abe4c09b12d..0049c4d8e3bf 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -48,12 +48,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32.loc11, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/arrow.carbon b/toolchain/check/testdata/pointer/arrow.carbon index e4c129ccd5e1..3777122311ed 100644 --- a/toolchain/check/testdata/pointer/arrow.carbon +++ b/toolchain/check/testdata/pointer/arrow.carbon @@ -62,11 +62,11 @@ fn Foo(ptr: C*) { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %ptr.patt: %.2 = binding_pattern ptr -// CHECK:STDOUT: %ptr.param_patt: %.2 = param_pattern %ptr.patt, runtime_param0 +// CHECK:STDOUT: %ptr.param_patt: %.2 = value_param_pattern %ptr.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] // CHECK:STDOUT: %.loc16: type = ptr_type %C [template = constants.%.2] -// CHECK:STDOUT: %ptr.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %ptr.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %ptr: %.2 = bind_name ptr, %ptr.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -74,10 +74,10 @@ fn Foo(ptr: C*) { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %Member.decl: %Member.type = fn_decl @Member [template = constants.%Member] { // CHECK:STDOUT: %self.patt: %C = binding_pattern self -// CHECK:STDOUT: %self.param_patt: %C = param_pattern %self.patt, runtime_param0 +// CHECK:STDOUT: %self.param_patt: %C = value_param_pattern %self.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] -// CHECK:STDOUT: %self.param: %C = param runtime_param0 +// CHECK:STDOUT: %self.param: %C = value_param runtime_param0 // CHECK:STDOUT: %self: %C = bind_name self, %self.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [template = constants.%C] diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index 282128087b02..fa9e7896a6f4 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -50,12 +50,12 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32.loc11, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_address_of_value.carbon b/toolchain/check/testdata/pointer/fail_address_of_value.carbon index f29122fb4580..b2a3eb21d173 100644 --- a/toolchain/check/testdata/pointer/fail_address_of_value.carbon +++ b/toolchain/check/testdata/pointer/fail_address_of_value.carbon @@ -173,23 +173,23 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_16.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_16.2: type = converted %int.make_type_32, %.loc13_16.1 [template = i32] // CHECK:STDOUT: %.loc13_19: type = struct_type {.a: i32} [template = constants.%.2] -// CHECK:STDOUT: %return.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %AddressOfLiteral.decl: %AddressOfLiteral.type = fn_decl @AddressOfLiteral [template = constants.%AddressOfLiteral] {} {} @@ -199,12 +199,12 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: %AddressOfTupleElementValue.decl: %AddressOfTupleElementValue.type = fn_decl @AddressOfTupleElementValue [template = constants.%AddressOfTupleElementValue] {} {} // CHECK:STDOUT: %AddressOfParam.decl: %AddressOfParam.type = fn_decl @AddressOfParam [template = constants.%AddressOfParam] { // CHECK:STDOUT: %param.patt: i32 = binding_pattern param -// CHECK:STDOUT: %param.param_patt: i32 = param_pattern %param.patt, runtime_param0 +// CHECK:STDOUT: %param.param_patt: i32 = value_param_pattern %param.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc95: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc95_26.1: type = value_of_initializer %int.make_type_32.loc95 [template = i32] // CHECK:STDOUT: %.loc95_26.2: type = converted %int.make_type_32.loc95, %.loc95_26.1 [template = i32] -// CHECK:STDOUT: %param.param: i32 = param runtime_param0 +// CHECK:STDOUT: %param.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %param: i32 = bind_name param, %param.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon b/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon index a0bcdbd35fa6..0f02e7ee599c 100644 --- a/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon @@ -76,12 +76,12 @@ fn Deref(n: i32) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Deref.decl: %Deref.type = fn_decl @Deref [template = constants.%Deref] { // CHECK:STDOUT: %n.patt: i32 = binding_pattern n -// CHECK:STDOUT: %n.param_patt: i32 = param_pattern %n.patt, runtime_param0 +// CHECK:STDOUT: %n.param_patt: i32 = value_param_pattern %n.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_13.2: type = converted %int.make_type_32, %.loc11_13.1 [template = i32] -// CHECK:STDOUT: %n.param: i32 = param runtime_param0 +// CHECK:STDOUT: %n.param: i32 = value_param runtime_param0 // CHECK:STDOUT: %n: i32 = bind_name n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_type_mismatch.carbon b/toolchain/check/testdata/pointer/fail_type_mismatch.carbon index e3933fb5cfbe..c80118e91cb7 100644 --- a/toolchain/check/testdata/pointer/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/pointer/fail_type_mismatch.carbon @@ -76,9 +76,9 @@ fn ConstMismatch(p: const {}*) -> const ({}*) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ConstMismatch.decl: %ConstMismatch.type = fn_decl @ConstMismatch [template = constants.%ConstMismatch] { // CHECK:STDOUT: %p.patt: %.3 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.3 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.3 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.5 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.5 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.5 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_28: %.1 = struct_literal () // CHECK:STDOUT: %.loc11_21.1: type = converted %.loc11_28, constants.%.1 [template = constants.%.1] @@ -88,9 +88,9 @@ fn ConstMismatch(p: const {}*) -> const ({}*) { // CHECK:STDOUT: %.loc11_44.1: type = converted %.loc11_43, constants.%.1 [template = constants.%.1] // CHECK:STDOUT: %.loc11_44.2: type = ptr_type %.1 [template = constants.%.4] // CHECK:STDOUT: %.loc11_35: type = const_type %.4 [template = constants.%.5] -// CHECK:STDOUT: %p.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.3 = value_param runtime_param0 // CHECK:STDOUT: %p: %.3 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.5 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.5 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.5 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/nested_const.carbon b/toolchain/check/testdata/pointer/nested_const.carbon index 0e8e9b0ed6c7..023c3267a4d5 100644 --- a/toolchain/check/testdata/pointer/nested_const.carbon +++ b/toolchain/check/testdata/pointer/nested_const.carbon @@ -51,9 +51,9 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %p.patt: %.6 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.6 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.6 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_29: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc12_23.1: type = value_of_initializer %int.make_type_32.loc12_29 [template = i32] @@ -67,9 +67,9 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %.loc12_41.1: type = value_of_initializer %int.make_type_32.loc12_47 [template = i32] // CHECK:STDOUT: %.loc12_41.2: type = converted %int.make_type_32.loc12_47, %.loc12_41.1 [template = i32] // CHECK:STDOUT: %.loc12_41.3: type = const_type i32 [template = constants.%.2] -// CHECK:STDOUT: %p.param: %.6 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.6 = value_param runtime_param0 // CHECK:STDOUT: %p: %.6 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.2 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/types.carbon b/toolchain/check/testdata/pointer/types.carbon index 0a0aa0e8f68f..6856828f52f8 100644 --- a/toolchain/check/testdata/pointer/types.carbon +++ b/toolchain/check/testdata/pointer/types.carbon @@ -55,9 +55,9 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Ptr.decl: %Ptr.type = fn_decl @Ptr [template = constants.%Ptr] { // CHECK:STDOUT: %p.patt: %.2 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.2 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.2 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32.loc11_11 [template = i32] @@ -67,16 +67,16 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %.loc11_23.1: type = value_of_initializer %int.make_type_32.loc11_20 [template = i32] // CHECK:STDOUT: %.loc11_23.2: type = converted %int.make_type_32.loc11_20, %.loc11_23.1 [template = i32] // CHECK:STDOUT: %.loc11_23.3: type = ptr_type i32 [template = constants.%.2] -// CHECK:STDOUT: %p.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.2 = value_param runtime_param0 // CHECK:STDOUT: %p: %.2 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.2 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %ConstPtr.decl: %ConstPtr.type = fn_decl @ConstPtr [template = constants.%ConstPtr] { // CHECK:STDOUT: %p.patt: %.4 = binding_pattern p -// CHECK:STDOUT: %p.param_patt: %.4 = param_pattern %p.patt, runtime_param0 +// CHECK:STDOUT: %p.param_patt: %.4 = value_param_pattern %p.patt, runtime_param0 // CHECK:STDOUT: %return.patt: %.4 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.4 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: %.4 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc15_22: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc15_16.1: type = value_of_initializer %int.make_type_32.loc15_22 [template = i32] @@ -88,9 +88,9 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %.loc15_32.2: type = converted %int.make_type_32.loc15_38, %.loc15_32.1 [template = i32] // CHECK:STDOUT: %.loc15_32.3: type = const_type i32 [template = constants.%.3] // CHECK:STDOUT: %.loc15_42: type = ptr_type %.3 [template = constants.%.4] -// CHECK:STDOUT: %p.param: %.4 = param runtime_param0 +// CHECK:STDOUT: %p.param: %.4 = value_param runtime_param0 // CHECK:STDOUT: %p: %.4 = bind_name p, %p.param -// CHECK:STDOUT: %return.param: %.4 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref %.4 = out_param runtime_param1 // CHECK:STDOUT: %return: ref %.4 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/code_after_return_value.carbon b/toolchain/check/testdata/return/code_after_return_value.carbon index 792b2d9f6c88..1ed8c1f7959b 100644 --- a/toolchain/check/testdata/return/code_after_return_value.carbon +++ b/toolchain/check/testdata/return/code_after_return_value.carbon @@ -62,9 +62,9 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %bool.make_type [template = bool] @@ -72,9 +72,9 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_18.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_18.2: type = converted %int.make_type_32, %.loc11_18.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_call_in_type.carbon b/toolchain/check/testdata/return/fail_call_in_type.carbon index 8980ab1a70dc..0c63f5f00bce 100644 --- a/toolchain/check/testdata/return/fail_call_in_type.carbon +++ b/toolchain/check/testdata/return/fail_call_in_type.carbon @@ -53,20 +53,20 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ReturnType.decl: %ReturnType.type = fn_decl @ReturnType [template = constants.%ReturnType] { // CHECK:STDOUT: %return.patt: type = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: type = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: type = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { -// CHECK:STDOUT: %return.param: type = param runtime_param0 +// CHECK:STDOUT: %return.param: ref type = out_param runtime_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [template = constants.%Six] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %ReturnType.ref: %ReturnType.type = name_ref ReturnType, file.%ReturnType.decl [template = constants.%ReturnType] // CHECK:STDOUT: %ReturnType.call: init type = call %ReturnType.ref() // CHECK:STDOUT: %.loc17_24.1: type = value_of_initializer %ReturnType.call // CHECK:STDOUT: %.loc17_24.2: type = converted %ReturnType.call, %.loc17_24.1 -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_error_in_type.carbon b/toolchain/check/testdata/return/fail_error_in_type.carbon index 039c75807cb9..f50987dab4ce 100644 --- a/toolchain/check/testdata/return/fail_error_in_type.carbon +++ b/toolchain/check/testdata/return/fail_error_in_type.carbon @@ -42,10 +42,10 @@ fn Six() -> x; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [template = constants.%Six] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %x.ref: = name_ref x, [template = ] -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_missing_return.carbon b/toolchain/check/testdata/return/fail_missing_return.carbon index 7d8c90ad1f72..7faab33dc1e3 100644 --- a/toolchain/check/testdata/return/fail_missing_return.carbon +++ b/toolchain/check/testdata/return/fail_missing_return.carbon @@ -47,12 +47,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon b/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon index ab471e9364ae..d24ac84a3c37 100644 --- a/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon +++ b/toolchain/check/testdata/return/fail_missing_return_empty_tuple.carbon @@ -43,11 +43,11 @@ fn F() -> () { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_12.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc11_12.2: type = converted %.loc11_12.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon b/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon index dee4239d76a9..ad1df16ed419 100644 --- a/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_var_no_returned_var.carbon @@ -48,12 +48,12 @@ fn Procedure() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Procedure.decl: %Procedure.type = fn_decl @Procedure [template = constants.%Procedure] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon index e00ed51572a1..4eeb70bef27c 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -78,21 +78,21 @@ fn G() -> C { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_11.2: type = converted %int.make_type_32.loc11, %.loc11_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc24: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index 27e9780e0c98..500f7572ee7f 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -78,22 +78,22 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %SameScope.decl: %SameScope.type = fn_decl @SameScope [template = constants.%SameScope] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32.loc11, %.loc11_19.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %DifferentScopes.decl: %DifferentScopes.type = fn_decl @DifferentScopes [template = constants.%DifferentScopes] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc26: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc26_25.1: type = value_of_initializer %int.make_type_32.loc26 [template = i32] // CHECK:STDOUT: %.loc26_25.2: type = converted %int.make_type_32.loc26, %.loc26_25.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index 6f1c14dbbdda..963e3372b39f 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -58,12 +58,12 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Mismatch.decl: %Mismatch.type = fn_decl @Mismatch [template = constants.%Mismatch] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_18.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_18.2: type = converted %int.make_type_32, %.loc11_18.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_type_mismatch.carbon b/toolchain/check/testdata/return/fail_type_mismatch.carbon index edca9ac03565..f454662c0542 100644 --- a/toolchain/check/testdata/return/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/return/fail_type_mismatch.carbon @@ -76,12 +76,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_value_missing.carbon b/toolchain/check/testdata/return/fail_value_missing.carbon index 0c0014e4a1f8..31b9f7ffaeff 100644 --- a/toolchain/check/testdata/return/fail_value_missing.carbon +++ b/toolchain/check/testdata/return/fail_value_missing.carbon @@ -51,12 +51,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/fail_var_in_type.carbon b/toolchain/check/testdata/return/fail_var_in_type.carbon index ecd0e70cde26..2e181b931d90 100644 --- a/toolchain/check/testdata/return/fail_var_in_type.carbon +++ b/toolchain/check/testdata/return/fail_var_in_type.carbon @@ -51,11 +51,11 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %x: ref type = bind_name x, %x.var // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [template = constants.%Six] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %x.ref: ref type = name_ref x, file.%x // CHECK:STDOUT: %.loc15_13: type = bind_value %x.ref -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index 2d29708ead69..73ba04ce10a2 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -70,20 +70,20 @@ fn G() -> i32 { // CHECK:STDOUT: %C.decl: type = class_decl @C [template = constants.%C] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc16: type = name_ref C, file.%C.decl [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc21: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_11.1: type = value_of_initializer %int.make_type_32.loc21 [template = i32] // CHECK:STDOUT: %.loc21_11.2: type = converted %int.make_type_32.loc21, %.loc21_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index 933dad5b2443..ee2b4bd731bf 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -70,19 +70,19 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %UnrelatedScopes.decl: %UnrelatedScopes.type = fn_decl @UnrelatedScopes [template = constants.%UnrelatedScopes] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_25.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32] // CHECK:STDOUT: %.loc11_25.2: type = converted %int.make_type_32.loc11, %.loc11_25.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %EnclosingButAfter.decl: %EnclosingButAfter.type = fn_decl @EnclosingButAfter [template = constants.%EnclosingButAfter] { // CHECK:STDOUT: %b.patt: bool = binding_pattern b -// CHECK:STDOUT: %b.param_patt: bool = param_pattern %b.patt, runtime_param0 +// CHECK:STDOUT: %b.param_patt: bool = value_param_pattern %b.patt, runtime_param0 // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param1 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc21_25.1: type = value_of_initializer %bool.make_type [template = bool] @@ -90,9 +90,9 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %int.make_type_32.loc21: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc21_34.1: type = value_of_initializer %int.make_type_32.loc21 [template = i32] // CHECK:STDOUT: %.loc21_34.2: type = converted %int.make_type_32.loc21, %.loc21_34.1 [template = i32] -// CHECK:STDOUT: %b.param: bool = param runtime_param0 +// CHECK:STDOUT: %b.param: bool = value_param runtime_param0 // CHECK:STDOUT: %b: bool = bind_name b, %b.param -// CHECK:STDOUT: %return.param: i32 = param runtime_param1 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param1 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/struct.carbon b/toolchain/check/testdata/return/struct.carbon index 562c69fef5f9..bfa89002a67d 100644 --- a/toolchain/check/testdata/return/struct.carbon +++ b/toolchain/check/testdata/return/struct.carbon @@ -48,13 +48,13 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_19.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_19.2: type = converted %int.make_type_32, %.loc11_19.1 [template = i32] // CHECK:STDOUT: %.loc11_22: type = struct_type {.a: i32} [template = constants.%.2] -// CHECK:STDOUT: %return.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index 51bffcceb66c..26b91f10cfdd 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -52,7 +52,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc12_15: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc12_20: init type = call constants.%Int32() [template = i32] @@ -62,7 +62,7 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %.loc12_23.4: type = value_of_initializer %int.make_type_32.loc12_20 [template = i32] // CHECK:STDOUT: %.loc12_23.5: type = converted %int.make_type_32.loc12_20, %.loc12_23.4 [template = i32] // CHECK:STDOUT: %.loc12_23.6: type = converted %.loc12_23.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/return/value.carbon b/toolchain/check/testdata/return/value.carbon index 748a1a8b22f4..42dada9f959c 100644 --- a/toolchain/check/testdata/return/value.carbon +++ b/toolchain/check/testdata/return/value.carbon @@ -46,12 +46,12 @@ fn Main() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [template = constants.%Main] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_14.2: type = converted %int.make_type_32, %.loc11_14.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/fail_duplicate_name.carbon b/toolchain/check/testdata/struct/fail_duplicate_name.carbon index 1cfa0e44ac07..fcfcef9afdbd 100644 --- a/toolchain/check/testdata/struct/fail_duplicate_name.carbon +++ b/toolchain/check/testdata/struct/fail_duplicate_name.carbon @@ -96,7 +96,7 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc18_16: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_16.1: type = value_of_initializer %int.make_type_32.loc18_16 [template = i32] @@ -113,7 +113,7 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: %int.make_type_32.loc18_56: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc18_56.1: type = value_of_initializer %int.make_type_32.loc18_56 [template = i32] // CHECK:STDOUT: %.loc18_56.2: type = converted %int.make_type_32.loc18_56, %.loc18_56.1 [template = i32] -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %int.make_type_32.loc27_13: init type = call constants.%Int32() [template = i32] diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 09387a6715f1..3fab69c9a678 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -134,7 +134,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %b_ref: ref %.7 = bind_name b_ref, %b_ref.var // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %S.patt.loc8_9.1: %.11 = symbolic_binding_pattern S, 0 [symbolic = %S.patt.loc8_9.2 (constants.%S.patt)] -// CHECK:STDOUT: %S.param_patt: %.11 = param_pattern %S.patt.loc8_9.1, runtime_param [symbolic = %S.patt.loc8_9.2 (constants.%S.patt)] +// CHECK:STDOUT: %S.param_patt: %.11 = value_param_pattern %S.patt.loc8_9.1, runtime_param [symbolic = %S.patt.loc8_9.2 (constants.%S.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc8_18: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc8_18.1: type = value_of_initializer %int.make_type_32.loc8_18 [template = i32] @@ -143,12 +143,12 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %.loc8_27.1: type = value_of_initializer %int.make_type_32.loc8_27 [template = i32] // CHECK:STDOUT: %.loc8_27.2: type = converted %int.make_type_32.loc8_27, %.loc8_27.1 [template = i32] // CHECK:STDOUT: %.loc8_30: type = struct_type {.a: i32, .b: i32} [template = constants.%.11] -// CHECK:STDOUT: %S.param: %.11 = param runtime_param +// CHECK:STDOUT: %S.param: %.11 = value_param runtime_param // CHECK:STDOUT: %S.loc8_9.1: %.11 = bind_symbolic_name S, 0, %S.param [symbolic = %S.loc8_9.2 (constants.%S)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %C.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc9_19: i32 = int_literal 1 [template = constants.%.14] @@ -157,7 +157,7 @@ var c_bad: C({.a = 3, .b = 4}) = F(); // CHECK:STDOUT: %struct: %.11 = struct_value (%.loc9_19, %.loc9_27) [template = constants.%struct.4] // CHECK:STDOUT: %.loc9_12: %.11 = converted %.loc9_28, %struct [template = constants.%struct.4] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%struct.4) [template = constants.%C.3] -// CHECK:STDOUT: %return.param: %C.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/literal_member_access.carbon b/toolchain/check/testdata/struct/literal_member_access.carbon index 411c5f3cb098..3c9e3cb4420e 100644 --- a/toolchain/check/testdata/struct/literal_member_access.carbon +++ b/toolchain/check/testdata/struct/literal_member_access.carbon @@ -57,7 +57,7 @@ fn F() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: %.2 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.2 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.2 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_16: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_16.1: type = value_of_initializer %int.make_type_32.loc11_16 [template = i32] @@ -69,17 +69,17 @@ fn F() -> i32 { // CHECK:STDOUT: %.loc11_34.1: type = value_of_initializer %int.make_type_32.loc11_34 [template = i32] // CHECK:STDOUT: %.loc11_34.2: type = converted %int.make_type_32.loc11_34, %.loc11_34.1 [template = i32] // CHECK:STDOUT: %.loc11_37: type = struct_type {.x: i32, .y: i32, .z: i32} [template = constants.%.2] -// CHECK:STDOUT: %return.param: %.2 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.2 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.2 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_11.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_11.2: type = converted %int.make_type_32, %.loc13_11.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/struct/nested_struct_in_place.carbon b/toolchain/check/testdata/struct/nested_struct_in_place.carbon index 1e3b072ba810..7fee4f529c0e 100644 --- a/toolchain/check/testdata/struct/nested_struct_in_place.carbon +++ b/toolchain/check/testdata/struct/nested_struct_in_place.carbon @@ -56,7 +56,7 @@ fn G() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc11_17: init type = call constants.%Int32() [template = i32] @@ -69,7 +69,7 @@ fn G() { // CHECK:STDOUT: %.loc11_25.6: type = value_of_initializer %int.make_type_32.loc11_22 [template = i32] // CHECK:STDOUT: %.loc11_25.7: type = converted %int.make_type_32.loc11_22, %.loc11_25.6 [template = i32] // CHECK:STDOUT: %.loc11_25.8: type = converted %.loc11_25.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {} {} diff --git a/toolchain/check/testdata/struct/reorder_fields.carbon b/toolchain/check/testdata/struct/reorder_fields.carbon index 53cd4b69d09b..20400e7dc41c 100644 --- a/toolchain/check/testdata/struct/reorder_fields.carbon +++ b/toolchain/check/testdata/struct/reorder_fields.carbon @@ -65,28 +65,28 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %MakeI32.decl: %MakeI32.type = fn_decl @MakeI32 [template = constants.%MakeI32] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_17.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_17.2: type = converted %int.make_type_32, %.loc11_17.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %MakeF64.decl: %MakeF64.type = fn_decl @MakeF64 [template = constants.%MakeF64] { // CHECK:STDOUT: %return.patt: f64 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: f64 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: f64 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_17.1: i32 = int_literal 64 [template = constants.%.2] // CHECK:STDOUT: %float.make_type: init type = call constants.%Float(%.loc12_17.1) [template = f64] // CHECK:STDOUT: %.loc12_17.2: type = value_of_initializer %float.make_type [template = f64] // CHECK:STDOUT: %.loc12_17.3: type = converted %float.make_type, %.loc12_17.2 [template = f64] -// CHECK:STDOUT: %return.param: f64 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref f64 = out_param runtime_param0 // CHECK:STDOUT: %return: ref f64 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc14_16.1: type = value_of_initializer %int.make_type_32.loc14 [template = i32] @@ -96,7 +96,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %.loc14_25.2: type = value_of_initializer %float.make_type.loc14 [template = f64] // CHECK:STDOUT: %.loc14_25.3: type = converted %float.make_type.loc14, %.loc14_25.2 [template = f64] // CHECK:STDOUT: %.loc14_28: type = struct_type {.a: i32, .b: f64} [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/access/return_value_access.carbon b/toolchain/check/testdata/tuple/access/return_value_access.carbon index 0587154428c9..5f71c473b805 100644 --- a/toolchain/check/testdata/tuple/access/return_value_access.carbon +++ b/toolchain/check/testdata/tuple/access/return_value_access.carbon @@ -54,24 +54,24 @@ fn Run() -> i32 { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc11_16.1: %.2 = tuple_literal (%int.make_type_32) // CHECK:STDOUT: %.loc11_16.2: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc11_16.3: type = converted %int.make_type_32, %.loc11_16.2 [template = i32] // CHECK:STDOUT: %.loc11_16.4: type = converted %.loc11_16.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run.decl: %Run.type = fn_decl @Run [template = constants.%Run] { // CHECK:STDOUT: %return.patt: i32 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: i32 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: i32 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc13_13.1: type = value_of_initializer %int.make_type_32 [template = i32] // CHECK:STDOUT: %.loc13_13.2: type = converted %int.make_type_32, %.loc13_13.1 [template = i32] -// CHECK:STDOUT: %return.param: i32 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref i32 = out_param runtime_param0 // CHECK:STDOUT: %return: ref i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index 8bf581514f28..c87f03192543 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -147,7 +147,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %b_ref: ref %.10 = bind_name b_ref, %b_ref.var // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [template = constants.%C.1] { // CHECK:STDOUT: %X.patt.loc7_9.1: %.9 = symbolic_binding_pattern X, 0 [symbolic = %X.patt.loc7_9.2 (constants.%X.patt)] -// CHECK:STDOUT: %X.param_patt: %.9 = param_pattern %X.patt.loc7_9.1, runtime_param [symbolic = %X.patt.loc7_9.2 (constants.%X.patt)] +// CHECK:STDOUT: %X.param_patt: %.9 = value_param_pattern %X.patt.loc7_9.1, runtime_param [symbolic = %X.patt.loc7_9.2 (constants.%X.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc7_14: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc7_19: init type = call constants.%Int32() [template = i32] @@ -157,12 +157,12 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %.loc7_22.4: type = value_of_initializer %int.make_type_32.loc7_19 [template = i32] // CHECK:STDOUT: %.loc7_22.5: type = converted %int.make_type_32.loc7_19, %.loc7_22.4 [template = i32] // CHECK:STDOUT: %.loc7_22.6: type = converted %.loc7_22.1, constants.%.9 [template = constants.%.9] -// CHECK:STDOUT: %X.param: %.9 = param runtime_param +// CHECK:STDOUT: %X.param: %.9 = value_param runtime_param // CHECK:STDOUT: %X.loc7_9.1: %.9 = bind_symbolic_name X, 0, %X.param [symbolic = %X.loc7_9.2 (constants.%X)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %C.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [template = constants.%C.1] // CHECK:STDOUT: %.loc9_14: i32 = int_literal 1 [template = constants.%.15] @@ -171,7 +171,7 @@ var c_bad: C((3, 4)) = F(); // CHECK:STDOUT: %tuple: %.9 = tuple_value (%.loc9_14, %.loc9_17) [template = constants.%tuple.5] // CHECK:STDOUT: %.loc9_12: %.9 = converted %.loc9_18, %tuple [template = constants.%tuple.5] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%tuple.5) [template = constants.%C.3] -// CHECK:STDOUT: %return.param: %C.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon b/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon index a4007ee10123..b845b4c916b9 100644 --- a/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon +++ b/toolchain/check/testdata/tuple/nested_tuple_in_place.carbon @@ -70,7 +70,7 @@ fn H() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %.3 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.3 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.3 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32.loc11_12: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %int.make_type_32.loc11_17: init type = call constants.%Int32() [template = i32] @@ -83,7 +83,7 @@ fn H() { // CHECK:STDOUT: %.loc11_25.6: type = value_of_initializer %int.make_type_32.loc11_22 [template = i32] // CHECK:STDOUT: %.loc11_25.7: type = converted %int.make_type_32.loc11_22, %.loc11_25.6 [template = i32] // CHECK:STDOUT: %.loc11_25.8: type = converted %.loc11_25.1, constants.%.3 [template = constants.%.3] -// CHECK:STDOUT: %return.param: %.3 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.3 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.3 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] {} {} diff --git a/toolchain/check/testdata/var/fail_not_copyable.carbon b/toolchain/check/testdata/var/fail_not_copyable.carbon index f11e143c4568..3b607940e03b 100644 --- a/toolchain/check/testdata/var/fail_not_copyable.carbon +++ b/toolchain/check/testdata/var/fail_not_copyable.carbon @@ -64,10 +64,10 @@ fn F(x: X) { // CHECK:STDOUT: %X.decl: type = class_decl @X [template = constants.%X] {} {} // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %x.patt: %X = binding_pattern x -// CHECK:STDOUT: %x.param_patt: %X = param_pattern %x.patt, runtime_param0 +// CHECK:STDOUT: %x.param_patt: %X = value_param_pattern %x.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %X.ref.loc14: type = name_ref X, file.%X.decl [template = constants.%X] -// CHECK:STDOUT: %x.param: %X = param runtime_param0 +// CHECK:STDOUT: %x.param: %X = value_param runtime_param0 // CHECK:STDOUT: %x: %X = bind_name x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/where_expr/constraints.carbon b/toolchain/check/testdata/where_expr/constraints.carbon index 4654775d0193..def3e90516e8 100644 --- a/toolchain/check/testdata/where_expr/constraints.carbon +++ b/toolchain/check/testdata/where_expr/constraints.carbon @@ -213,7 +213,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %I.decl: type = interface_decl @I [template = constants.%I.type] {} {} // CHECK:STDOUT: %EqualEqual.decl: %EqualEqual.type = fn_decl @EqualEqual [template = constants.%EqualEqual] { // CHECK:STDOUT: %U.patt.loc11_15.1: %I.type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc11_15.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: %I.type = param_pattern %U.patt.loc11_15.1, runtime_param [symbolic = %U.patt.loc11_15.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: %I.type = value_param_pattern %U.patt.loc11_15.1, runtime_param [symbolic = %U.patt.loc11_15.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self.1] @@ -222,12 +222,12 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc11_21: type = where_expr %.Self [template = constants.%I.type] { // CHECK:STDOUT: requirement_equivalent %.Self.ref, %.loc11_37 // CHECK:STDOUT: } -// CHECK:STDOUT: %U.param: %I.type = param runtime_param +// CHECK:STDOUT: %U.param: %I.type = value_param runtime_param // CHECK:STDOUT: %U.loc11_15.1: %I.type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc11_15.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %Impls.decl: %Impls.type = fn_decl @Impls [template = constants.%Impls] { // CHECK:STDOUT: %V.patt.loc13_10.1: %J.type = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc13_10.2 (constants.%V.patt)] -// CHECK:STDOUT: %V.param_patt: %J.type = param_pattern %V.patt.loc13_10.1, runtime_param [symbolic = %V.patt.loc13_10.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.param_patt: %J.type = value_param_pattern %V.patt.loc13_10.1, runtime_param [symbolic = %V.patt.loc13_10.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self.2] @@ -238,12 +238,12 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc13_16: type = where_expr %.Self [template = constants.%J.type] { // CHECK:STDOUT: requirement_impls %.loc13_22.2, %I.ref // CHECK:STDOUT: } -// CHECK:STDOUT: %V.param: %J.type = param runtime_param +// CHECK:STDOUT: %V.param: %J.type = value_param runtime_param // CHECK:STDOUT: %V.loc13_10.1: %J.type = bind_symbolic_name V, 0, %V.param [symbolic = %V.loc13_10.2 (constants.%V)] // CHECK:STDOUT: } // CHECK:STDOUT: %And.decl: %And.type = fn_decl @And [template = constants.%And] { // CHECK:STDOUT: %W.patt.loc15_8.1: %I.type = symbolic_binding_pattern W, 0 [symbolic = %W.patt.loc15_8.2 (constants.%W.patt)] -// CHECK:STDOUT: %W.param_patt: %I.type = param_pattern %W.patt.loc15_8.1, runtime_param [symbolic = %W.patt.loc15_8.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.param_patt: %I.type = value_param_pattern %W.patt.loc15_8.1, runtime_param [symbolic = %W.patt.loc15_8.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self.1] @@ -258,7 +258,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: requirement_impls %.loc15_20.2, %J.ref // CHECK:STDOUT: requirement_equivalent %Member.ref, %.loc15_50 // CHECK:STDOUT: } -// CHECK:STDOUT: %W.param: %I.type = param runtime_param +// CHECK:STDOUT: %W.param: %I.type = value_param runtime_param // CHECK:STDOUT: %W.loc15_8.1: %I.type = bind_symbolic_name W, 0, %W.param [symbolic = %W.loc15_8.2 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -386,7 +386,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %N.decl: type = interface_decl @N [template = constants.%N.type] {} {} // CHECK:STDOUT: %Equal.decl: %Equal.type = fn_decl @Equal [template = constants.%Equal] { // CHECK:STDOUT: %T.patt.loc15_10.1: %N.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc15_10.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: %N.type = param_pattern %T.patt.loc15_10.1, runtime_param [symbolic = %T.patt.loc15_10.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: %N.type = value_param_pattern %T.patt.loc15_10.1, runtime_param [symbolic = %T.patt.loc15_10.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %N.ref: type = name_ref N, file.%N.decl [template = constants.%N.type] // CHECK:STDOUT: %.Self: %N.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] @@ -402,7 +402,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc15_16: type = where_expr %.Self [template = constants.%N.type] { // CHECK:STDOUT: requirement_rewrite %P.ref, // CHECK:STDOUT: } -// CHECK:STDOUT: %T.param: %N.type = param runtime_param +// CHECK:STDOUT: %T.param: %N.type = value_param runtime_param // CHECK:STDOUT: %T.loc15_10.1: %N.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc15_10.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -562,7 +562,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %K.decl: type = interface_decl @K [template = constants.%K.type] {} {} // CHECK:STDOUT: %AssociatedTypeImpls.decl: %AssociatedTypeImpls.type = fn_decl @AssociatedTypeImpls [template = constants.%AssociatedTypeImpls] { // CHECK:STDOUT: %W.patt.loc18_24.1: %K.type = symbolic_binding_pattern W, 0 [symbolic = %W.patt.loc18_24.2 (constants.%W.patt)] -// CHECK:STDOUT: %W.param_patt: %K.type = param_pattern %W.patt.loc18_24.1, runtime_param [symbolic = %W.patt.loc18_24.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.param_patt: %K.type = value_param_pattern %W.patt.loc18_24.1, runtime_param [symbolic = %W.patt.loc18_24.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %K.ref: type = name_ref K, file.%K.decl [template = constants.%K.type] // CHECK:STDOUT: %.Self: %K.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] @@ -576,7 +576,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc18_30: type = where_expr %.Self [template = constants.%K.type] { // CHECK:STDOUT: requirement_impls , %M.ref // CHECK:STDOUT: } -// CHECK:STDOUT: %W.param: %K.type = param runtime_param +// CHECK:STDOUT: %W.param: %K.type = value_param runtime_param // CHECK:STDOUT: %W.loc18_24.1: %K.type = bind_symbolic_name W, 0, %W.param [symbolic = %W.loc18_24.2 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -761,7 +761,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %RewriteTypeMismatch.decl: %RewriteTypeMismatch.type = fn_decl @RewriteTypeMismatch [template = constants.%RewriteTypeMismatch] { // CHECK:STDOUT: %X.patt.loc16_24.1: %I.type = symbolic_binding_pattern X, 0 [symbolic = %X.patt.loc16_24.2 (constants.%X.patt)] -// CHECK:STDOUT: %X.param_patt: %I.type = param_pattern %X.patt.loc16_24.1, runtime_param [symbolic = %X.patt.loc16_24.2 (constants.%X.patt)] +// CHECK:STDOUT: %X.param_patt: %I.type = value_param_pattern %X.patt.loc16_24.1, runtime_param [symbolic = %X.patt.loc16_24.2 (constants.%X.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, imports.%import_ref.2 [template = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] @@ -775,7 +775,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc16_30: type = where_expr %.Self [template = constants.%I.type] { // CHECK:STDOUT: requirement_rewrite %Member.ref, // CHECK:STDOUT: } -// CHECK:STDOUT: %X.param: %I.type = param runtime_param +// CHECK:STDOUT: %X.param: %I.type = value_param runtime_param // CHECK:STDOUT: %X.loc16_24.1: %I.type = bind_symbolic_name X, 0, %X.param [symbolic = %X.loc16_24.2 (constants.%X)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -919,7 +919,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %NonTypeImpls.decl: %NonTypeImpls.type = fn_decl @NonTypeImpls [template = constants.%NonTypeImpls] { // CHECK:STDOUT: %U.patt.loc11_17.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc11_17.1, runtime_param [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc11_17.1, runtime_param [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] // CHECK:STDOUT: %.loc11_32.1: i32 = int_literal 7 [template = constants.%.1] @@ -930,7 +930,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc11_26: type = where_expr %.Self [template = type] { // CHECK:STDOUT: requirement_impls , type // CHECK:STDOUT: } -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc11_17.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc11_17.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1066,7 +1066,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplsNonType.decl: %ImplsNonType.type = fn_decl @ImplsNonType [template = constants.%ImplsNonType] { // CHECK:STDOUT: %U.patt.loc11_17.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc11_17.1, runtime_param [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc11_17.1, runtime_param [symbolic = %U.patt.loc11_17.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self [symbolic = constants.%.Self] @@ -1078,7 +1078,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc11_26: type = where_expr %.Self [template = type] { // CHECK:STDOUT: requirement_impls %.Self.ref, // CHECK:STDOUT: } -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc11_17.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc11_17.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1193,7 +1193,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %ImplsOfNonFacetType.decl: %ImplsOfNonFacetType.type = fn_decl @ImplsOfNonFacetType [template = constants.%ImplsOfNonFacetType] { // CHECK:STDOUT: %U.patt.loc8_24.1: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc8_24.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: type = param_pattern %U.patt.loc8_24.1, runtime_param [symbolic = %U.patt.loc8_24.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: type = value_param_pattern %U.patt.loc8_24.1, runtime_param [symbolic = %U.patt.loc8_24.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self [symbolic = constants.%.Self] @@ -1203,7 +1203,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc8_33: type = where_expr %.Self [template = type] { // CHECK:STDOUT: requirement_impls %.Self.ref, // CHECK:STDOUT: } -// CHECK:STDOUT: %U.param: type = param runtime_param +// CHECK:STDOUT: %U.param: type = value_param runtime_param // CHECK:STDOUT: %U.loc8_24.1: type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc8_24.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1313,7 +1313,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %DoesNotImplI.decl: %DoesNotImplI.type = fn_decl @DoesNotImplI [template = constants.%DoesNotImplI] {} {} // CHECK:STDOUT: %EmptyStruct.decl: %EmptyStruct.type = fn_decl @EmptyStruct [template = constants.%EmptyStruct] { // CHECK:STDOUT: %Y.patt.loc26_16.1: %J.type = symbolic_binding_pattern Y, 0 [symbolic = %Y.patt.loc26_16.2 (constants.%Y.patt)] -// CHECK:STDOUT: %Y.param_patt: %J.type = param_pattern %Y.patt.loc26_16.1, runtime_param [symbolic = %Y.patt.loc26_16.2 (constants.%Y.patt)] +// CHECK:STDOUT: %Y.param_patt: %J.type = value_param_pattern %Y.patt.loc26_16.1, runtime_param [symbolic = %Y.patt.loc26_16.2 (constants.%Y.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %J.ref: type = name_ref J, imports.%import_ref.1 [template = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] @@ -1322,7 +1322,7 @@ fn NotEmptyStruct() { // CHECK:STDOUT: %.loc26_22: type = where_expr %.Self [template = constants.%J.type] { // CHECK:STDOUT: requirement_equivalent %.Self.ref, %.loc26_38 // CHECK:STDOUT: } -// CHECK:STDOUT: %Y.param: %J.type = param runtime_param +// CHECK:STDOUT: %Y.param: %J.type = value_param runtime_param // CHECK:STDOUT: %Y.loc26_16.1: %J.type = bind_symbolic_name Y, 0, %Y.param [symbolic = %Y.loc26_16.2 (constants.%Y)] // CHECK:STDOUT: } // CHECK:STDOUT: %NotEmptyStruct.decl: %NotEmptyStruct.type = fn_decl @NotEmptyStruct [template = constants.%NotEmptyStruct] {} {} diff --git a/toolchain/check/testdata/where_expr/designator.carbon b/toolchain/check/testdata/where_expr/designator.carbon index 7d39e7fd1eba..8079321336ff 100644 --- a/toolchain/check/testdata/where_expr/designator.carbon +++ b/toolchain/check/testdata/where_expr/designator.carbon @@ -135,7 +135,7 @@ class D { // CHECK:STDOUT: %I.decl: type = interface_decl @I [template = constants.%I.type] {} {} // CHECK:STDOUT: %PeriodSelf.decl: %PeriodSelf.type = fn_decl @PeriodSelf [template = constants.%PeriodSelf] { // CHECK:STDOUT: %T.patt.loc8_15.1: %I.type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: %I.type = param_pattern %T.patt.loc8_15.1, runtime_param [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: %I.type = value_param_pattern %T.patt.loc8_15.1, runtime_param [symbolic = %T.patt.loc8_15.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self.1] @@ -144,12 +144,12 @@ class D { // CHECK:STDOUT: %.loc8_21: type = where_expr %.Self [template = constants.%I.type] { // CHECK:STDOUT: requirement_equivalent %.Self.ref, %.loc8_37 // CHECK:STDOUT: } -// CHECK:STDOUT: %T.param: %I.type = param runtime_param +// CHECK:STDOUT: %T.param: %I.type = value_param runtime_param // CHECK:STDOUT: %T.loc8_15.1: %I.type = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc8_15.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %PeriodMember.decl: %PeriodMember.type = fn_decl @PeriodMember [template = constants.%PeriodMember] { // CHECK:STDOUT: %U.patt.loc10_17.1: %I.type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc10_17.2 (constants.%U.patt)] -// CHECK:STDOUT: %U.param_patt: %I.type = param_pattern %U.patt.loc10_17.1, runtime_param [symbolic = %U.patt.loc10_17.2 (constants.%U.patt)] +// CHECK:STDOUT: %U.param_patt: %I.type = value_param_pattern %U.patt.loc10_17.1, runtime_param [symbolic = %U.patt.loc10_17.2 (constants.%U.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self.1] @@ -159,12 +159,12 @@ class D { // CHECK:STDOUT: %.loc10_23: type = where_expr %.Self [template = constants.%I.type] { // CHECK:STDOUT: requirement_equivalent %Member.ref, %.loc10_41 // CHECK:STDOUT: } -// CHECK:STDOUT: %U.param: %I.type = param runtime_param +// CHECK:STDOUT: %U.param: %I.type = value_param runtime_param // CHECK:STDOUT: %U.loc10_17.1: %I.type = bind_symbolic_name U, 0, %U.param [symbolic = %U.loc10_17.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %TypeSelfImpls.decl: %TypeSelfImpls.type = fn_decl @TypeSelfImpls [template = constants.%TypeSelfImpls] { // CHECK:STDOUT: %V.patt.loc12_18.1: type = symbolic_binding_pattern V, 0 [symbolic = %V.patt.loc12_18.2 (constants.%V.patt)] -// CHECK:STDOUT: %V.param_patt: type = param_pattern %V.patt.loc12_18.1, runtime_param [symbolic = %V.patt.loc12_18.2 (constants.%V.patt)] +// CHECK:STDOUT: %V.param_patt: type = value_param_pattern %V.patt.loc12_18.1, runtime_param [symbolic = %V.patt.loc12_18.2 (constants.%V.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %.Self: type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self.2] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self [symbolic = constants.%.Self.2] @@ -172,7 +172,7 @@ class D { // CHECK:STDOUT: %.loc12: type = where_expr %.Self [template = type] { // CHECK:STDOUT: requirement_impls %.Self.ref, %I.ref // CHECK:STDOUT: } -// CHECK:STDOUT: %V.param: type = param runtime_param +// CHECK:STDOUT: %V.param: type = value_param runtime_param // CHECK:STDOUT: %V.loc12_18.1: type = bind_symbolic_name V, 0, %V.param [symbolic = %V.loc12_18.2 (constants.%V)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -263,7 +263,7 @@ class D { // CHECK:STDOUT: %J.decl: type = interface_decl @J [template = constants.%J.type] {} {} // CHECK:STDOUT: %PeriodMismatch.decl: %PeriodMismatch.type = fn_decl @PeriodMismatch [template = constants.%PeriodMismatch] { // CHECK:STDOUT: %W.patt.loc12_19.1: %J.type = symbolic_binding_pattern W, 0 [symbolic = %W.patt.loc12_19.2 (constants.%W.patt)] -// CHECK:STDOUT: %W.param_patt: %J.type = param_pattern %W.patt.loc12_19.1, runtime_param [symbolic = %W.patt.loc12_19.2 (constants.%W.patt)] +// CHECK:STDOUT: %W.param_patt: %J.type = value_param_pattern %W.patt.loc12_19.1, runtime_param [symbolic = %W.patt.loc12_19.2 (constants.%W.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %J.ref: type = name_ref J, file.%J.decl [template = constants.%J.type] // CHECK:STDOUT: %.Self: %J.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] @@ -273,7 +273,7 @@ class D { // CHECK:STDOUT: %.loc12_25: type = where_expr %.Self [template = constants.%J.type] { // CHECK:STDOUT: requirement_rewrite %Mismatch.ref, // CHECK:STDOUT: } -// CHECK:STDOUT: %W.param: %J.type = param runtime_param +// CHECK:STDOUT: %W.param: %J.type = value_param runtime_param // CHECK:STDOUT: %W.loc12_19.1: %J.type = bind_symbolic_name W, 0, %W.param [symbolic = %W.loc12_19.2 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -330,11 +330,11 @@ class D { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Foo.decl: %Foo.type = fn_decl @Foo [template = constants.%Foo] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_14.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc4_14.2: type = converted %.loc4_14.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -378,11 +378,11 @@ class D { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Bar.decl: %Bar.type = fn_decl @Bar [template = constants.%Bar] { // CHECK:STDOUT: %return.patt: %.1 = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %.1 = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %.1 = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_14.1: %.1 = tuple_literal () // CHECK:STDOUT: %.loc4_14.2: type = converted %.loc4_14.1, constants.%.1 [template = constants.%.1] -// CHECK:STDOUT: %return.param: %.1 = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %.1 = out_param runtime_param0 // CHECK:STDOUT: %return: ref %.1 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -430,10 +430,10 @@ class D { // CHECK:STDOUT: class @C { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: %C = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: %C = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: %C = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [template = constants.%C] -// CHECK:STDOUT: %return.param: %C = param runtime_param0 +// CHECK:STDOUT: %return.param: ref %C = out_param runtime_param0 // CHECK:STDOUT: %return: ref %C = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc10: = complete_type_witness %.2 [template = constants.%.3] @@ -485,10 +485,10 @@ class D { // CHECK:STDOUT: class @D { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %.Self.ref: = name_ref .Self, [template = ] -// CHECK:STDOUT: %return.param: = param runtime_param0 +// CHECK:STDOUT: %return.param: ref = out_param runtime_param0 // CHECK:STDOUT: %return: ref = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %.loc9: = complete_type_witness %.2 [template = constants.%.3] diff --git a/toolchain/check/testdata/where_expr/fail_not_facet.carbon b/toolchain/check/testdata/where_expr/fail_not_facet.carbon index ee0115194eb2..691bcee36b11 100644 --- a/toolchain/check/testdata/where_expr/fail_not_facet.carbon +++ b/toolchain/check/testdata/where_expr/fail_not_facet.carbon @@ -57,7 +57,7 @@ fn F(T:! i32 where .Self == bool); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %T.patt.loc7_6.1: = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %T.param_patt: = param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] +// CHECK:STDOUT: %T.param_patt: = value_param_pattern %T.patt.loc7_6.1, runtime_param [symbolic = %T.patt.loc7_6.2 (constants.%T.patt)] // CHECK:STDOUT: } { // CHECK:STDOUT: %int.make_type_32: init type = call constants.%Int32() [template = i32] // CHECK:STDOUT: %.loc7_10.1: type = value_of_initializer %int.make_type_32 [template = i32] @@ -68,7 +68,7 @@ fn F(T:! i32 where .Self == bool); // CHECK:STDOUT: %.loc7_14: type = where_expr %.Self [template = ] { // CHECK:STDOUT: requirement_equivalent %.Self.ref, %bool.make_type // CHECK:STDOUT: } -// CHECK:STDOUT: %T.param: = param runtime_param +// CHECK:STDOUT: %T.param: = value_param runtime_param // CHECK:STDOUT: %T.loc7_6.1: = bind_symbolic_name T, 0, %T.param [symbolic = %T.loc7_6.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/where_expr/non_generic.carbon b/toolchain/check/testdata/where_expr/non_generic.carbon index 3cae9e0d22a8..1bad09dbd92d 100644 --- a/toolchain/check/testdata/where_expr/non_generic.carbon +++ b/toolchain/check/testdata/where_expr/non_generic.carbon @@ -53,7 +53,7 @@ fn NotGenericF(U: I where .T == i32) {} // CHECK:STDOUT: %I.decl: type = interface_decl @I [template = constants.%I.type] {} {} // CHECK:STDOUT: %NotGenericF.decl: %NotGenericF.type = fn_decl @NotGenericF [template = constants.%NotGenericF] { // CHECK:STDOUT: %U.patt: %I.type = binding_pattern U -// CHECK:STDOUT: %U.param_patt: %I.type = param_pattern %U.patt, runtime_param0 +// CHECK:STDOUT: %U.param_patt: %I.type = value_param_pattern %U.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [template = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = bind_symbolic_name .Self, 0 [symbolic = constants.%.Self] @@ -63,7 +63,7 @@ fn NotGenericF(U: I where .T == i32) {} // CHECK:STDOUT: %.loc14: type = where_expr %.Self [template = constants.%I.type] { // CHECK:STDOUT: requirement_equivalent %T.ref, %int.make_type_32 // CHECK:STDOUT: } -// CHECK:STDOUT: %U.param: %I.type = param runtime_param0 +// CHECK:STDOUT: %U.param: %I.type = value_param runtime_param0 // CHECK:STDOUT: %U: %I.type = bind_name U, %U.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/while/break_continue.carbon b/toolchain/check/testdata/while/break_continue.carbon index b4a975a2e4e5..d2968636f3c1 100644 --- a/toolchain/check/testdata/while/break_continue.carbon +++ b/toolchain/check/testdata/while/break_continue.carbon @@ -87,82 +87,82 @@ fn While() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc11_11.2: type = converted %bool.make_type, %.loc11_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc12_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc12_11.2: type = converted %bool.make_type, %.loc12_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [template = constants.%C] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc13_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc13_11.2: type = converted %bool.make_type, %.loc13_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: %D.type = fn_decl @D [template = constants.%D] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc14_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc14_11.2: type = converted %bool.make_type, %.loc14_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %E.decl: %E.type = fn_decl @E [template = constants.%E] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc15_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc15_11.2: type = converted %bool.make_type, %.loc15_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc16_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc16_11.2: type = converted %bool.make_type, %.loc16_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [template = constants.%G] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc17_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc17_11.2: type = converted %bool.make_type, %.loc17_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [template = constants.%H] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc18_11.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc18_11.2: type = converted %bool.make_type, %.loc18_11.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %While.decl: %While.type = fn_decl @While [template = constants.%While] {} {} diff --git a/toolchain/check/testdata/while/unreachable_end.carbon b/toolchain/check/testdata/while/unreachable_end.carbon index 0d6f0c353392..f05d1a8a45b2 100644 --- a/toolchain/check/testdata/while/unreachable_end.carbon +++ b/toolchain/check/testdata/while/unreachable_end.carbon @@ -68,12 +68,12 @@ fn While() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Cond.decl: %Cond.type = fn_decl @Cond [template = constants.%Cond] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc11_14.2: type = converted %bool.make_type, %.loc11_14.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {} {} diff --git a/toolchain/check/testdata/while/while.carbon b/toolchain/check/testdata/while/while.carbon index 49757b1d8b71..3fa9c8b30178 100644 --- a/toolchain/check/testdata/while/while.carbon +++ b/toolchain/check/testdata/while/while.carbon @@ -67,12 +67,12 @@ fn While() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Cond.decl: %Cond.type = fn_decl @Cond [template = constants.%Cond] { // CHECK:STDOUT: %return.patt: bool = return_slot_pattern -// CHECK:STDOUT: %return.param_patt: bool = param_pattern %return.patt, runtime_param0 +// CHECK:STDOUT: %return.param_patt: bool = out_param_pattern %return.patt, runtime_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %bool.make_type: init type = call constants.%Bool() [template = bool] // CHECK:STDOUT: %.loc11_14.1: type = value_of_initializer %bool.make_type [template = bool] // CHECK:STDOUT: %.loc11_14.2: type = converted %bool.make_type, %.loc11_14.1 [template = bool] -// CHECK:STDOUT: %return.param: bool = param runtime_param0 +// CHECK:STDOUT: %return.param: ref bool = out_param runtime_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {} {} diff --git a/toolchain/lower/handle.cpp b/toolchain/lower/handle.cpp index 5a29997668d4..e831663dd56c 100644 --- a/toolchain/lower/handle.cpp +++ b/toolchain/lower/handle.cpp @@ -178,7 +178,12 @@ auto HandleInst(FunctionContext& context, SemIR::InstId inst_id, } auto HandleInst(FunctionContext& /*context*/, SemIR::InstId /*inst_id*/, - SemIR::Param /*inst*/) -> void { + SemIR::OutParam /*inst*/) -> void { + CARBON_FATAL("Parameters should be lowered by `BuildFunctionDefinition`"); +} + +auto HandleInst(FunctionContext& /*context*/, SemIR::InstId /*inst_id*/, + SemIR::ValueParam /*inst*/) -> void { CARBON_FATAL("Parameters should be lowered by `BuildFunctionDefinition`"); } diff --git a/toolchain/sem_ir/file.cpp b/toolchain/sem_ir/file.cpp index ba24d38e2bac..cb5ca8294657 100644 --- a/toolchain/sem_ir/file.cpp +++ b/toolchain/sem_ir/file.cpp @@ -195,6 +195,7 @@ auto GetExprCategory(const File& file, InstId inst_id) -> ExprCategory { case FunctionDecl::Kind: case ImplDecl::Kind: case Namespace::Kind: + case OutParamPattern::Kind: case RequirementEquivalent::Kind: case RequirementImpls::Kind: case RequirementRewrite::Kind: @@ -268,8 +269,6 @@ auto GetExprCategory(const File& file, InstId inst_id) -> ExprCategory { case InterfaceWitnessAccess::Kind: case IntLiteral::Kind: case IntType::Kind: - case Param::Kind: - case ParamPattern::Kind: case PointerType::Kind: case SpecificFunction::Kind: case StringLiteral::Kind: @@ -281,6 +280,8 @@ auto GetExprCategory(const File& file, InstId inst_id) -> ExprCategory { case UnaryOperatorNot::Kind: case UnboundElementType::Kind: case ValueOfInitializer::Kind: + case ValueParam::Kind: + case ValueParamPattern::Kind: case WhereExpr::Kind: return value_category; @@ -352,6 +353,11 @@ auto GetExprCategory(const File& file, InstId inst_id) -> ExprCategory { case TemporaryStorage::Kind: case ValueAsRef::Kind: return ExprCategory::EphemeralRef; + + case OutParam::Kind: + // TODO: consider introducing a separate category for OutParam: + // unlike other DurableRefs, it permits initialization. + return ExprCategory::DurableRef; } } } diff --git a/toolchain/sem_ir/formatter.cpp b/toolchain/sem_ir/formatter.cpp index 600a1d8ad97a..ab869b5f251a 100644 --- a/toolchain/sem_ir/formatter.cpp +++ b/toolchain/sem_ir/formatter.cpp @@ -780,7 +780,13 @@ class FormatterImpl { FormatReturnSlot(inst.dest_id); } - auto FormatInstRHS(Param inst) -> void { + auto FormatInstRHS(ValueParam inst) -> void { + FormatArgs(inst.runtime_index); + // Omit pretty_name because it's an implementation detail of + // pretty-printing. + } + + auto FormatInstRHS(OutParam inst) -> void { FormatArgs(inst.runtime_index); // Omit pretty_name because it's an implementation detail of // pretty-printing. diff --git a/toolchain/sem_ir/function.cpp b/toolchain/sem_ir/function.cpp index 339441a78c3c..c0955e4c4618 100644 --- a/toolchain/sem_ir/function.cpp +++ b/toolchain/sem_ir/function.cpp @@ -65,7 +65,7 @@ auto Function::GetParamPatternInfoFromPatternId(const File& sem_ir, } auto param_pattern_id = inst_id; - auto param_pattern_inst = inst.As(); + auto param_pattern_inst = inst.As(); inst_id = param_pattern_inst.subpattern_id; inst = sem_ir.insts().Get(inst_id); @@ -90,7 +90,7 @@ auto Function::GetNameFromPatternId(const File& sem_ir, InstId pattern_id) return SemIR::NameId::Invalid; } - auto param_pattern_inst = inst.As(); + auto param_pattern_inst = inst.As(); inst_id = param_pattern_inst.subpattern_id; inst = sem_ir.insts().Get(inst_id); @@ -113,7 +113,7 @@ auto Function::GetParamFromParamRefId(const File& sem_ir, InstId param_ref_id) } else { CARBON_FATAL(); } - return {param_ref_id, ref.As(), bind_name}; + return {param_ref_id, ref.As(), bind_name}; } auto Function::GetDeclaredReturnType(const File& file, diff --git a/toolchain/sem_ir/function.h b/toolchain/sem_ir/function.h index 273f1abc6fc2..299f73a6de89 100644 --- a/toolchain/sem_ir/function.h +++ b/toolchain/sem_ir/function.h @@ -70,7 +70,7 @@ struct Function : public EntityWithParamsBase, // binding pattern. struct ParamPatternInfo { InstId inst_id; - ParamPattern inst; + AnyParamPattern inst; EntityNameId entity_name_id; auto GetNameId(const File& sem_ir) -> NameId; @@ -90,7 +90,7 @@ struct Function : public EntityWithParamsBase, // corresponding instruction, its ID, and the name binding, if present. struct ParamInfo { InstId inst_id; - Param inst; + AnyParam inst; std::optional bind_name; }; static auto GetParamFromParamRefId(const File& sem_ir, InstId param_ref_id) diff --git a/toolchain/sem_ir/inst_kind.def b/toolchain/sem_ir/inst_kind.def index 2be800e70b9a..81edf22c3679 100644 --- a/toolchain/sem_ir/inst_kind.def +++ b/toolchain/sem_ir/inst_kind.def @@ -72,8 +72,8 @@ CARBON_SEM_IR_INST_KIND(IntLiteral) CARBON_SEM_IR_INST_KIND(IntType) CARBON_SEM_IR_INST_KIND(NameRef) CARBON_SEM_IR_INST_KIND(Namespace) -CARBON_SEM_IR_INST_KIND(Param) -CARBON_SEM_IR_INST_KIND(ParamPattern) +CARBON_SEM_IR_INST_KIND(OutParam) +CARBON_SEM_IR_INST_KIND(OutParamPattern) CARBON_SEM_IR_INST_KIND(PointerType) CARBON_SEM_IR_INST_KIND(RequirementRewrite) CARBON_SEM_IR_INST_KIND(RequirementEquivalent) @@ -104,6 +104,8 @@ CARBON_SEM_IR_INST_KIND(UnaryOperatorNot) CARBON_SEM_IR_INST_KIND(UnboundElementType) CARBON_SEM_IR_INST_KIND(ValueAsRef) CARBON_SEM_IR_INST_KIND(ValueOfInitializer) +CARBON_SEM_IR_INST_KIND(ValueParam) +CARBON_SEM_IR_INST_KIND(ValueParamPattern) CARBON_SEM_IR_INST_KIND(VarStorage) CARBON_SEM_IR_INST_KIND(WhereExpr) diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index 4206b4f17b7f..8a3db2548cf5 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -530,11 +530,13 @@ auto InstNamer::CollectNamesInBlock(ScopeId scope_id, add_inst_name_id(sem_ir_.name_scopes().Get(inst.name_scope_id).name_id); continue; } - case CARBON_KIND(Param inst): { - add_inst_name_id(inst.pretty_name_id, ".param"); + case OutParam::Kind: + case ValueParam::Kind: { + add_inst_name_id(untyped_inst.As().pretty_name_id, ".param"); continue; } - case InstKind::ParamPattern: { + case OutParamPattern::Kind: + case ValueParamPattern::Kind: { add_inst_name_id( SemIR::Function::GetNameFromPatternId(sem_ir_, inst_id), ".param_patt"); diff --git a/toolchain/sem_ir/stringify_type.cpp b/toolchain/sem_ir/stringify_type.cpp index 4d582affbd17..abcbadd7670a 100644 --- a/toolchain/sem_ir/stringify_type.cpp +++ b/toolchain/sem_ir/stringify_type.cpp @@ -299,8 +299,8 @@ auto StringifyTypeExpr(const SemIR::File& outer_sem_ir, InstId outer_inst_id) case InterfaceWitnessAccess::Kind: case IntLiteral::Kind: case Namespace::Kind: - case Param::Kind: - case ParamPattern::Kind: + case OutParam::Kind: + case OutParamPattern::Kind: case RequirementEquivalent::Kind: case RequirementImpls::Kind: case RequirementRewrite::Kind: @@ -325,6 +325,8 @@ auto StringifyTypeExpr(const SemIR::File& outer_sem_ir, InstId outer_inst_id) case UnaryOperatorNot::Kind: case ValueAsRef::Kind: case ValueOfInitializer::Kind: + case ValueParam::Kind: + case ValueParamPattern::Kind: case VarStorage::Kind: // We don't know how to print this instruction, but it might have a // constant value that we can print. diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 0df27569fb93..b782147d2b61 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -825,12 +825,14 @@ struct Namespace { AbsoluteInstId import_id; }; -// A parameter for a function or other parameterized block. -struct Param { - // TODO: Make Parse::NodeId more specific. - static constexpr auto Kind = - InstKind::Param.Define({.ir_name = "param"}); +// A parameter for a function or other parameterized block, as exposed in the +// SemIR calling convention. The sub-kinds differ only in their expression +// category. +struct AnyParam { + static constexpr InstKind Kinds[] = {InstKind::OutParam, + InstKind::ValueParam}; + InstKind kind; TypeId type_id; RuntimeParamIndex runtime_index; @@ -839,12 +841,58 @@ struct Param { NameId pretty_name_id; }; -// A pattern that represents a parameter. It matches the same values as -// `subpattern_id`. -struct ParamPattern { +// An output parameter. See AnyParam for member documentation. +struct OutParam { // TODO: Make Parse::NodeId more specific. - static constexpr auto Kind = InstKind::ParamPattern.Define( - {.ir_name = "param_pattern", .is_lowered = false}); + static constexpr auto Kind = + InstKind::OutParam.Define({.ir_name = "out_param"}); + + TypeId type_id; + RuntimeParamIndex runtime_index; + NameId pretty_name_id; +}; + +// A by-value parameter. See AnyParam for member documentation. +struct ValueParam { + // TODO: Make Parse::NodeId more specific. + static constexpr auto Kind = + InstKind::ValueParam.Define({.ir_name = "value_param"}); + + TypeId type_id; + RuntimeParamIndex runtime_index; + NameId pretty_name_id; +}; + +// A pattern that represents a parameter. It delegates to subpattern_id +// in pattern matching. The sub-kinds differ only in the expression category +// of the corresponding parameter inst. +struct AnyParamPattern { + static constexpr InstKind Kinds[] = {InstKind::OutParamPattern, + InstKind::ValueParamPattern}; + + InstKind kind; + TypeId type_id; + InstId subpattern_id; + RuntimeParamIndex runtime_index; +}; + +// A pattern that represents an output parameter. +struct OutParamPattern { + static constexpr auto Kind = + InstKind::OutParamPattern.Define( + {.ir_name = "out_param_pattern", .is_lowered = false}); + + TypeId type_id; + InstId subpattern_id; + RuntimeParamIndex runtime_index; +}; + +// A pattern that represents a by-value parameter. +struct ValueParamPattern { + // TODO: Make Parse::NodeId more specific. + static constexpr auto Kind = + InstKind::ValueParamPattern.Define( + {.ir_name = "value_param_pattern", .is_lowered = false}); TypeId type_id; InstId subpattern_id;