diff --git a/toolchain/check/convert.cpp b/toolchain/check/convert.cpp index b08147d3fed9..98c9e339795a 100644 --- a/toolchain/check/convert.cpp +++ b/toolchain/check/convert.cpp @@ -264,7 +264,9 @@ static auto ConvertTupleToArray(Context& context, SemIR::TupleType tuple_type, ConvertAggregateElement( context, value_loc_id, value_id, src_type_id, literal_elems, ConversionTarget::FullInitializer, return_slot_arg_id, - array_type.element_type_id, target_block, i, i); + context.types().GetTypeIdForTypeInstId( + array_type.element_type_inst_id), + target_block, i, i); if (init_id == SemIR::ErrorInst::SingletonInstId) { return SemIR::ErrorInst::SingletonInstId; } @@ -660,7 +662,9 @@ static auto ConvertDerivedPointerToBasePointer( ptr_id = ConvertToValueExpr(context, ptr_id); auto ref_id = AddInst( context, loc_id, - {.type_id = src_ptr_type.pointee_id, .pointer_id = ptr_id}); + {.type_id = + context.types().GetTypeIdForTypeInstId(src_ptr_type.pointee_id), + .pointer_id = ptr_id}); // Convert as a reference expression. ref_id = ConvertDerivedToBase(context, loc_id, ref_id, path); @@ -964,9 +968,12 @@ static auto PerformBuiltinConversion(Context& context, SemIR::LocId loc_id, if (auto target_pointer_type = target_type_inst.TryAs()) { if (auto src_pointer_type = sem_ir.types().TryGetAs(value_type_id)) { - if (auto path = ComputeInheritancePath(context, loc_id, - src_pointer_type->pointee_id, - target_pointer_type->pointee_id); + if (auto path = + ComputeInheritancePath(context, loc_id, + context.types().GetTypeIdForTypeInstId( + src_pointer_type->pointee_id), + context.types().GetTypeIdForTypeInstId( + target_pointer_type->pointee_id)); path && !path->empty()) { return ConvertDerivedPointerToBasePointer( context, loc_id, *src_pointer_type, target.type_id, value_id, diff --git a/toolchain/check/eval_inst.cpp b/toolchain/check/eval_inst.cpp index 34bf62a5a779..6e3a8fb0e09d 100644 --- a/toolchain/check/eval_inst.cpp +++ b/toolchain/check/eval_inst.cpp @@ -157,9 +157,9 @@ auto EvalConstantInst(Context& /*context*/, SemIRLoc /*loc*/, auto EvalConstantInst(Context& context, SemIRLoc /*loc*/, SemIR::ConstType inst) -> ConstantEvalResult { // `const (const T)` evaluates to `const T`. - if (context.types().Is(inst.inner_id)) { + if (context.insts().Is(inst.inner_id)) { return ConstantEvalResult::Existing( - context.types().GetConstantId(inst.inner_id)); + context.constant_values().Get(inst.inner_id)); } // Otherwise, `const T` evaluates to itself. return ConstantEvalResult::NewSamePhase(inst); diff --git a/toolchain/check/handle_array.cpp b/toolchain/check/handle_array.cpp index 33ad2d2d9378..444f1e3ea592 100644 --- a/toolchain/check/handle_array.cpp +++ b/toolchain/check/handle_array.cpp @@ -31,8 +31,8 @@ auto HandleParseNode(Context& context, Parse::ArrayExprId node_id) -> bool { auto [element_type_node_id, element_type_inst_id] = context.node_stack().PopExprWithNodeId(); - auto element_type_id = - ExprAsType(context, element_type_node_id, element_type_inst_id).type_id; + auto element_type = + ExprAsType(context, element_type_node_id, element_type_inst_id); // The array bound must be a constant. Diagnose this prior to conversion // because conversion to `IntLiteral` will produce a generic "non-constant @@ -50,10 +50,11 @@ auto HandleParseNode(Context& context, Parse::ArrayExprId node_id) -> bool { bound_inst_id = ConvertToValueOfType( context, context.insts().GetLocId(bound_inst_id), bound_inst_id, GetSingletonType(context, SemIR::IntLiteralType::SingletonInstId)); - AddInstAndPush(context, node_id, - {.type_id = SemIR::TypeType::SingletonTypeId, - .bound_id = bound_inst_id, - .element_type_id = element_type_id}); + AddInstAndPush( + context, node_id, + {.type_id = SemIR::TypeType::SingletonTypeId, + .bound_id = bound_inst_id, + .element_type_inst_id = element_type.inst_id}); return true; } diff --git a/toolchain/check/handle_class.cpp b/toolchain/check/handle_class.cpp index 1a66b8fa315e..ac80c715f581 100644 --- a/toolchain/check/handle_class.cpp +++ b/toolchain/check/handle_class.cpp @@ -754,9 +754,8 @@ static auto CheckCompleteClassType(Context& context, Parse::NodeId node_id, if (defining_vptr) { struct_type_fields.push_back( {.name_id = SemIR::NameId::Vptr, - .type_id = GetPointerType( - context, - GetSingletonType(context, SemIR::VtableType::SingletonInstId))}); + .type_id = + GetPointerType(context, SemIR::VtableType::SingletonInstId)}); } if (base_type_id.has_value()) { auto base_decl = context.insts().GetAs(class_info.base_id); diff --git a/toolchain/check/handle_index.cpp b/toolchain/check/handle_index.cpp index 554d06f98d1e..e7e8d009f110 100644 --- a/toolchain/check/handle_index.cpp +++ b/toolchain/check/handle_index.cpp @@ -153,11 +153,12 @@ auto HandleParseNode(Context& context, Parse::IndexExprId node_id) -> bool { } // Constant evaluation will perform a bounds check on this array indexing // if the index is constant. - auto elem_id = - AddInst(context, node_id, - {.type_id = array_type.element_type_id, - .array_id = operand_inst_id, - .index_id = cast_index_id}); + auto elem_id = AddInst( + context, node_id, + {.type_id = context.types().GetTypeIdForTypeInstId( + array_type.element_type_inst_id), + .array_id = operand_inst_id, + .index_id = cast_index_id}); if (array_cat != SemIR::ExprCategory::DurableRef) { // Indexing a durable reference gives a durable reference expression. // Indexing anything else gives a value expression. diff --git a/toolchain/check/handle_operator.cpp b/toolchain/check/handle_operator.cpp index 6894dbf2f605..8d1ca9ef9026 100644 --- a/toolchain/check/handle_operator.cpp +++ b/toolchain/check/handle_operator.cpp @@ -218,11 +218,11 @@ auto HandleParseNode(Context& context, Parse::InfixOperatorStarEqualId node_id) auto HandleParseNode(Context& context, Parse::PostfixOperatorStarId node_id) -> bool { auto value_id = context.node_stack().PopExpr(); - auto inner_type_id = ExprAsType(context, node_id, value_id).type_id; + auto inner_type = ExprAsType(context, node_id, value_id); AddInstAndPush( context, node_id, {.type_id = SemIR::TypeType::SingletonTypeId, - .pointee_id = inner_type_id}); + .pointee_id = inner_type.inst_id}); return true; } @@ -248,9 +248,11 @@ auto HandleParseNode(Context& context, Parse::PrefixOperatorAmpId node_id) value_id = SemIR::ErrorInst::SingletonInstId; break; } + // TODO: Preserve spelling of type of operand where possible. + auto type_inst_id = context.types().GetInstId(type_id); AddInstAndPush( context, node_id, - SemIR::AddrOf{.type_id = GetPointerType(context, type_id), + SemIR::AddrOf{.type_id = GetPointerType(context, type_inst_id), .lvalue_id = value_id}); return true; } @@ -273,10 +275,10 @@ auto HandleParseNode(Context& context, Parse::PrefixOperatorConstId node_id) "additional effect"); context.emitter().Emit(node_id, RepeatedConst); } - auto inner_type_id = ExprAsType(context, node_id, value_id).type_id; - AddInstAndPush( - context, node_id, - {.type_id = SemIR::TypeType::SingletonTypeId, .inner_id = inner_type_id}); + auto inner_type = ExprAsType(context, node_id, value_id); + AddInstAndPush(context, node_id, + {.type_id = SemIR::TypeType::SingletonTypeId, + .inner_id = inner_type.inst_id}); return true; } diff --git a/toolchain/check/import_ref.cpp b/toolchain/check/import_ref.cpp index 4eea6277dc85..e69f535e8c73 100644 --- a/toolchain/check/import_ref.cpp +++ b/toolchain/check/import_ref.cpp @@ -1370,20 +1370,17 @@ static auto TryResolveTypedInst(ImportRefResolver& resolver, static auto TryResolveTypedInst(ImportRefResolver& resolver, SemIR::ArrayType inst) -> ResolveResult { CARBON_CHECK(inst.type_id == SemIR::TypeType::SingletonTypeId); - auto element_type_const_id = - GetLocalConstantId(resolver, inst.element_type_id); + auto element_type_inst_id = + GetLocalConstantInstId(resolver, inst.element_type_inst_id); auto bound_id = GetLocalConstantInstId(resolver, inst.bound_id); if (resolver.HasNewWork()) { return ResolveResult::Retry(); } - auto element_type_id = - resolver.local_context().types().GetTypeIdForTypeConstantId( - element_type_const_id); return ResolveAs( resolver, {.type_id = SemIR::TypeType::SingletonTypeId, .bound_id = bound_id, - .element_type_id = element_type_id}); + .element_type_inst_id = element_type_inst_id}); } static auto MakeAssociatedConstant( @@ -1859,16 +1856,13 @@ static auto TryResolveTypedInst(ImportRefResolver& resolver, static auto TryResolveTypedInst(ImportRefResolver& resolver, SemIR::ConstType inst) -> ResolveResult { CARBON_CHECK(inst.type_id == SemIR::TypeType::SingletonTypeId); - auto inner_const_id = GetLocalConstantId(resolver, inst.inner_id); + auto inner_id = GetLocalConstantInstId(resolver, inst.inner_id); if (resolver.HasNewWork()) { return ResolveResult::Retry(); } - auto inner_type_id = - resolver.local_context().types().GetTypeIdForTypeConstantId( - inner_const_id); return ResolveAs( resolver, - {.type_id = SemIR::TypeType::SingletonTypeId, .inner_id = inner_type_id}); + {.type_id = SemIR::TypeType::SingletonTypeId, .inner_id = inner_id}); } static auto TryResolveTypedInst(ImportRefResolver& resolver, @@ -2653,17 +2647,14 @@ static auto TryResolveTypedInst(ImportRefResolver& resolver, static auto TryResolveTypedInst(ImportRefResolver& resolver, SemIR::PointerType inst) -> ResolveResult { CARBON_CHECK(inst.type_id == SemIR::TypeType::SingletonTypeId); - auto pointee_const_id = GetLocalConstantId(resolver, inst.pointee_id); + auto pointee_id = GetLocalConstantInstId(resolver, inst.pointee_id); if (resolver.HasNewWork()) { return ResolveResult::Retry(); } - auto pointee_type_id = - resolver.local_context().types().GetTypeIdForTypeConstantId( - pointee_const_id); return ResolveAs( - resolver, {.type_id = SemIR::TypeType::SingletonTypeId, - .pointee_id = pointee_type_id}); + resolver, + {.type_id = SemIR::TypeType::SingletonTypeId, .pointee_id = pointee_id}); } static auto TryResolveTypedInst(ImportRefResolver& resolver, diff --git a/toolchain/check/pattern_match.cpp b/toolchain/check/pattern_match.cpp index 591667fe0281..1d350b48629c 100644 --- a/toolchain/check/pattern_match.cpp +++ b/toolchain/check/pattern_match.cpp @@ -271,9 +271,11 @@ auto MatchContext::DoEmitPatternMatch(Context& context, context, scrutinee.loc_id, {.type_id = scrutinee.inst.type_id()}); } auto scrutinee_ref = context.insts().Get(scrutinee_ref_id); + auto scrutinee_ref_type_inst_id = + context.types().GetInstId(scrutinee_ref.type_id()); auto new_scrutinee = AddInst( context, context.insts().GetLocId(scrutinee_ref_id), - {.type_id = GetPointerType(context, scrutinee_ref.type_id()), + {.type_id = GetPointerType(context, scrutinee_ref_type_inst_id), .lvalue_id = scrutinee_ref_id}); AddWork({.pattern_id = addr_pattern.inner_id, .scrutinee_id = new_scrutinee}); } diff --git a/toolchain/check/pointer_dereference.cpp b/toolchain/check/pointer_dereference.cpp index 2bfb74f45763..d5c5c4acb2ab 100644 --- a/toolchain/check/pointer_dereference.cpp +++ b/toolchain/check/pointer_dereference.cpp @@ -29,7 +29,8 @@ auto PerformPointerDereference( auto result_type_id = SemIR::ErrorInst::SingletonTypeId; if (auto pointer_type = context.types().TryGetAs(type_id)) { - result_type_id = pointer_type->pointee_id; + result_type_id = + context.types().GetTypeIdForTypeInstId(pointer_type->pointee_id); } else if (type_id != SemIR::ErrorInst::SingletonTypeId) { diagnose_not_pointer(type_id); } diff --git a/toolchain/check/testdata/alias/no_prelude/export_name.carbon b/toolchain/check/testdata/alias/no_prelude/export_name.carbon index 6600a430a6e0..5367c6156f59 100644 --- a/toolchain/check/testdata/alias/no_prelude/export_name.carbon +++ b/toolchain/check/testdata/alias/no_prelude/export_name.carbon @@ -275,7 +275,7 @@ var d: D* = &c; // CHECK:STDOUT: %d.var: ref %ptr.019 = var d // CHECK:STDOUT: %.loc8_9: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %ptr.019 = bind_name d, %d.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/fail_not_constant.carbon b/toolchain/check/testdata/alias/no_prelude/fail_not_constant.carbon index 979c9b588981..7e194365f217 100644 --- a/toolchain/check/testdata/alias/no_prelude/fail_not_constant.carbon +++ b/toolchain/check/testdata/alias/no_prelude/fail_not_constant.carbon @@ -62,7 +62,7 @@ fn F() { // CHECK:STDOUT: %.loc13_12.1: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %.loc13_11: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc13_12.2: type = converted %.loc13_11, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %ptr: type = ptr_type %empty_tuple.type [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %.loc13_12.2 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %ptr = bind_name b, %b.var // CHECK:STDOUT: %b.ref: ref %ptr = name_ref b, %b diff --git a/toolchain/check/testdata/alias/no_prelude/fail_params.carbon b/toolchain/check/testdata/alias/no_prelude/fail_params.carbon index f8dff47d3989..2c29a37ca347 100644 --- a/toolchain/check/testdata/alias/no_prelude/fail_params.carbon +++ b/toolchain/check/testdata/alias/no_prelude/fail_params.carbon @@ -30,7 +30,7 @@ alias A(T:! type) = T*; // CHECK:STDOUT: .A = %A // CHECK:STDOUT: } // CHECK:STDOUT: %T.ref: type = name_ref T, %T [symbolic = constants.%T] -// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %T.ref [symbolic = constants.%ptr] // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = constants.%T] // CHECK:STDOUT: %A: = bind_alias A, [concrete = ] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/import.carbon b/toolchain/check/testdata/alias/no_prelude/import.carbon index ec103cc79218..68b6625ff30d 100644 --- a/toolchain/check/testdata/alias/no_prelude/import.carbon +++ b/toolchain/check/testdata/alias/no_prelude/import.carbon @@ -92,7 +92,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %a.var: ref %ptr = var a // CHECK:STDOUT: %.loc8_9: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %C.ref.loc8: type = name_ref C, %C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc8 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %ptr = bind_name a, %a.var // CHECK:STDOUT: } @@ -140,7 +140,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %b.var: ref %ptr = var b // CHECK:STDOUT: %.loc8_15: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %c_alias.ref.loc8: type = name_ref c_alias, imports.%Main.c_alias [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %c_alias.ref.loc8 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %ptr = bind_name b, %b.var // CHECK:STDOUT: } @@ -182,7 +182,7 @@ var c: () = a_alias_alias; // CHECK:STDOUT: %c.var: ref %ptr = var c // CHECK:STDOUT: %.loc6_21: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %c_alias_alias.ref: type = name_ref c_alias_alias, imports.%Main.c_alias_alias [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %c_alias_alias.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %ptr = bind_name c, %c.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/alias/no_prelude/preserve_in_type_printing.carbon b/toolchain/check/testdata/alias/no_prelude/preserve_in_type_printing.carbon new file mode 100644 index 000000000000..e552f2007382 --- /dev/null +++ b/toolchain/check/testdata/alias/no_prelude/preserve_in_type_printing.carbon @@ -0,0 +1,52 @@ +// Part of the Carbon Language project, under the Apache License v2.0 with LLVM +// Exceptions. See /LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// EXTRA-ARGS: --no-dump-sem-ir +// +// AUTOUPDATE +// TIP: To test this file alone, run: +// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/alias/no_prelude/preserve_in_type_printing.carbon +// TIP: To dump output, run: +// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/alias/no_prelude/preserve_in_type_printing.carbon + +// --- fail_alias_nested_in_type.carbon +library "[[@TEST_NAME]]"; + +class C {} +alias A = C; + +// The diagnostics below should refer to `A`, not `C`. + +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+7]]:15: error: missing return value [ReturnStatementMissingExpr] +// CHECK:STDERR: fn F() -> A { return; } +// CHECK:STDERR: ^~~~~~~ +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+4]]:8: note: return type of function is `A` [ReturnTypeHereNote] +// CHECK:STDERR: fn F() -> A { return; } +// CHECK:STDERR: ^~~~ +// CHECK:STDERR: +fn F() -> A { return; } +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+7]]:16: error: missing return value [ReturnStatementMissingExpr] +// CHECK:STDERR: fn G() -> A* { return; } +// CHECK:STDERR: ^~~~~~~ +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+4]]:8: note: return type of function is `A*` [ReturnTypeHereNote] +// CHECK:STDERR: fn G() -> A* { return; } +// CHECK:STDERR: ^~~~~ +// CHECK:STDERR: +fn G() -> A* { return; } +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+7]]:22: error: missing return value [ReturnStatementMissingExpr] +// CHECK:STDERR: fn H() -> const A* { return; } +// CHECK:STDERR: ^~~~~~~ +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+4]]:8: note: return type of function is `const A*` [ReturnTypeHereNote] +// CHECK:STDERR: fn H() -> const A* { return; } +// CHECK:STDERR: ^~~~~~~~~~~ +// CHECK:STDERR: +fn H() -> const A* { return; } +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+7]]:26: error: missing return value [ReturnStatementMissingExpr] +// CHECK:STDERR: fn I() -> array(A, 42) { return; } +// CHECK:STDERR: ^~~~~~~ +// CHECK:STDERR: fail_alias_nested_in_type.carbon:[[@LINE+4]]:8: note: return type of function is `array(A, 42)` [ReturnTypeHereNote] +// CHECK:STDERR: fn I() -> array(A, 42) { return; } +// CHECK:STDERR: ^~~~~~~~~~~~~~~ +// CHECK:STDERR: +fn I() -> array(A, 42) { return; } diff --git a/toolchain/check/testdata/array/array_in_place.carbon b/toolchain/check/testdata/array/array_in_place.carbon index 82a0070934b9..5f47a74d8b48 100644 --- a/toolchain/check/testdata/array/array_in_place.carbon +++ b/toolchain/check/testdata/array/array_in_place.carbon @@ -100,7 +100,7 @@ fn G() { // CHECK:STDOUT: %.loc14_30.1: %tuple.type.ff9 = tuple_literal (%i32.loc14_17, %i32.loc14_22, %i32.loc14_27) // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] // CHECK:STDOUT: %.loc14_30.2: type = converted %.loc14_30.1, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] -// CHECK:STDOUT: %array_type: type = array_type %int_2, %tuple.type.189 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_2, %.loc14_30.2 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %array_type = bind_name v, %v.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/array/array_vs_tuple.carbon b/toolchain/check/testdata/array/array_vs_tuple.carbon index 53874f23e3d2..0e73c23ea9fb 100644 --- a/toolchain/check/testdata/array/array_vs_tuple.carbon +++ b/toolchain/check/testdata/array/array_vs_tuple.carbon @@ -113,7 +113,7 @@ fn G() { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc13_21: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3.loc13_21, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_3.loc13_21, %i32.loc13 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/array/assign_var.carbon b/toolchain/check/testdata/array/assign_var.carbon index 85274facfcc2..e4aa8fba7a50 100644 --- a/toolchain/check/testdata/array/assign_var.carbon +++ b/toolchain/check/testdata/array/assign_var.carbon @@ -85,7 +85,7 @@ var b: array(i32, 3) = a; // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32.loc12 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %array_type = bind_name b, %b.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/base.carbon b/toolchain/check/testdata/array/base.carbon index 537839b6e88d..1acb03c0ff94 100644 --- a/toolchain/check/testdata/array/base.carbon +++ b/toolchain/check/testdata/array/base.carbon @@ -93,7 +93,7 @@ var c: array((), 5) = ((), (), (), (), (),); // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] // CHECK:STDOUT: %.loc12_14.1: type = value_of_initializer %float.make_type [concrete = f64] // CHECK:STDOUT: %.loc12_14.2: type = converted %float.make_type, %.loc12_14.1 [concrete = f64] -// CHECK:STDOUT: %array_type.loc12: type = array_type %int_2, f64 [concrete = constants.%array_type.ce7] +// CHECK:STDOUT: %array_type.loc12: type = array_type %int_2, %.loc12_14.2 [concrete = constants.%array_type.ce7] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %array_type.ce7 = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { @@ -105,7 +105,7 @@ var c: array((), 5) = ((), (), (), (), (),); // CHECK:STDOUT: %.loc13_15.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] // CHECK:STDOUT: %.loc13_15.2: type = converted %.loc13_15.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %array_type.loc13: type = array_type %int_5, %empty_tuple.type [concrete = constants.%array_type.c13] +// CHECK:STDOUT: %array_type.loc13: type = array_type %int_5, %.loc13_15.2 [concrete = constants.%array_type.c13] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %array_type.c13 = bind_name c, %c.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/canonicalize_index.carbon b/toolchain/check/testdata/array/canonicalize_index.carbon index cbeb881ba6c9..17485eeadc81 100644 --- a/toolchain/check/testdata/array/canonicalize_index.carbon +++ b/toolchain/check/testdata/array/canonicalize_index.carbon @@ -168,7 +168,7 @@ let c: array(i32, ConvertToU32(3))* = &a; // CHECK:STDOUT: %int.convert_checked.loc14_27: init Core.IntLiteral = call %bound_method.loc14_27.2(%.loc14_27.2) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc14_27.3: Core.IntLiteral = value_of_initializer %int.convert_checked.loc14_27 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc14_27.4: Core.IntLiteral = converted %int.sadd, %.loc14_27.3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc14: type = array_type %.loc14_27.4, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc14: type = array_type %.loc14_27.4, %i32.loc14 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { @@ -178,8 +178,8 @@ let c: array(i32, ConvertToU32(3))* = &a; // CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc15: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc15: type = array_type %int_3.loc15, %i32 [concrete = constants.%array_type] -// CHECK:STDOUT: %ptr.loc15: type = ptr_type %array_type [concrete = constants.%ptr] +// CHECK:STDOUT: %array_type.loc15: type = array_type %int_3.loc15, %i32.loc15 [concrete = constants.%array_type] +// CHECK:STDOUT: %ptr.loc15: type = ptr_type %array_type.loc15 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %ptr = bind_name b, @__global_init.%addr.loc15 // CHECK:STDOUT: name_binding_decl { @@ -207,8 +207,8 @@ let c: array(i32, ConvertToU32(3))* = &a; // CHECK:STDOUT: %int.convert_checked.loc16_33.2: init Core.IntLiteral = call %bound_method.loc16_33.2(%.loc16_33.2) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc16_33.3: Core.IntLiteral = value_of_initializer %int.convert_checked.loc16_33.2 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc16_33.4: Core.IntLiteral = converted %int.convert_checked.loc16_33.1, %.loc16_33.3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc16: type = array_type %.loc16_33.4, %i32 [concrete = constants.%array_type] -// CHECK:STDOUT: %ptr.loc16: type = ptr_type %array_type [concrete = constants.%ptr] +// CHECK:STDOUT: %array_type.loc16: type = array_type %.loc16_33.4, %i32.loc16 [concrete = constants.%array_type] +// CHECK:STDOUT: %ptr.loc16: type = ptr_type %array_type.loc16 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %ptr = bind_name c, @__global_init.%addr.loc16 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/fail_incomplete_element.carbon b/toolchain/check/testdata/array/fail_incomplete_element.carbon index a85e7b6288ee..4a83fc435a97 100644 --- a/toolchain/check/testdata/array/fail_incomplete_element.carbon +++ b/toolchain/check/testdata/array/fail_incomplete_element.carbon @@ -55,7 +55,7 @@ var p: Incomplete* = &a[0]; // CHECK:STDOUT: %.loc20_27: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %Incomplete.ref.loc20: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %array_type: type = array_type %int_1, %Incomplete [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %Incomplete.ref.loc20 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: = bind_name a, // CHECK:STDOUT: name_binding_decl { @@ -65,7 +65,7 @@ var p: Incomplete* = &a[0]; // CHECK:STDOUT: %p.var: ref %ptr = var p // CHECK:STDOUT: %.loc22_18: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Incomplete.ref.loc22: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] -// CHECK:STDOUT: %ptr: type = ptr_type %Incomplete [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Incomplete.ref.loc22 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr = bind_name p, %p.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon b/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon index 9a5e68c220c1..bab0635a0f86 100644 --- a/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon +++ b/toolchain/check/testdata/array/fail_out_of_bound_non_literal.carbon @@ -73,7 +73,7 @@ var b: i32 = a[{.index = 3}.index]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/array/fail_type_mismatch.carbon b/toolchain/check/testdata/array/fail_type_mismatch.carbon index e25e47a0e928..024acb1f7b27 100644 --- a/toolchain/check/testdata/array/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/array/fail_type_mismatch.carbon @@ -100,7 +100,7 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc18: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type.loc18: type = array_type %int_3.loc18, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc18: type = array_type %int_3.loc18, %i32.loc18 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { @@ -124,7 +124,7 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %int_32.loc28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc28: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type.loc28: type = array_type %int_3.loc28, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc28: type = array_type %int_3.loc28, %i32.loc28 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %array_type = bind_name b, %b.var // CHECK:STDOUT: name_binding_decl { @@ -136,7 +136,7 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %int_32.loc34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc34: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type.loc34: type = array_type %int_3.loc34, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc34: type = array_type %int_3.loc34, %i32.loc34 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %array_type = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { @@ -162,7 +162,7 @@ var d: array(i32, 3) = t2; // CHECK:STDOUT: %int_32.loc41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc41: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type.loc41: type = array_type %int_3.loc41, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc41: type = array_type %int_3.loc41, %i32.loc41 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %array_type = bind_name d, %d.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/array/function_param.carbon b/toolchain/check/testdata/array/function_param.carbon index e2061fcf08c5..0fc5fbc5acd4 100644 --- a/toolchain/check/testdata/array/function_param.carbon +++ b/toolchain/check/testdata/array/function_param.carbon @@ -82,7 +82,7 @@ fn G() -> i32 { // CHECK:STDOUT: %int_32.loc11_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32.loc11_17 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: %array_type = bind_name arr, %arr.param // CHECK:STDOUT: %i.param: %i32 = value_param call_param1 diff --git a/toolchain/check/testdata/array/generic_empty.carbon b/toolchain/check/testdata/array/generic_empty.carbon index a099e7c66b6a..ecf842f0882a 100644 --- a/toolchain/check/testdata/array/generic_empty.carbon +++ b/toolchain/check/testdata/array/generic_empty.carbon @@ -52,7 +52,7 @@ fn G(T:! type) { // CHECK:STDOUT: %T.patt.loc11_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %array_type.loc13_22.2: type = array_type constants.%int_0, @G.%T.loc11_6.2 (%T) [symbolic = %array_type.loc13_22.2 (constants.%array_type)] +// CHECK:STDOUT: %array_type.loc13_22.2: type = array_type constants.%int_0, %T.loc11_6.2 [symbolic = %array_type.loc13_22.2 (constants.%array_type)] // CHECK:STDOUT: %require_complete: = require_complete_type @G.%array_type.loc13_22.2 (%array_type) [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: %array: @G.%array_type.loc13_22.2 (%array_type) = tuple_value () [symbolic = %array (constants.%array)] // CHECK:STDOUT: @@ -70,7 +70,7 @@ fn G(T:! type) { // CHECK:STDOUT: %.loc13_22: type = splice_block %array_type.loc13_22.1 [symbolic = %array_type.loc13_22.2 (constants.%array_type)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] -// CHECK:STDOUT: %array_type.loc13_22.1: type = array_type %int_0, %T [symbolic = %array_type.loc13_22.2 (constants.%array_type)] +// CHECK:STDOUT: %array_type.loc13_22.1: type = array_type %int_0, %T.ref [symbolic = %array_type.loc13_22.2 (constants.%array_type)] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref @G.%array_type.loc13_22.2 (%array_type) = bind_name arr, %arr.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index 14b4fc91c5d7..2f6985cfd1ad 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -69,7 +69,7 @@ var b: i32 = a[{.index = 2}.index]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/array/init_dependent_bound.carbon b/toolchain/check/testdata/array/init_dependent_bound.carbon index 0f0583fbb237..24b318323473 100644 --- a/toolchain/check/testdata/array/init_dependent_bound.carbon +++ b/toolchain/check/testdata/array/init_dependent_bound.carbon @@ -97,7 +97,7 @@ fn H() { G(3); } // CHECK:STDOUT: %Convert.bound: = bound_method %N.loc4_6.2, constants.%Convert.960 [symbolic = %Convert.bound (constants.%Convert.bound)] // CHECK:STDOUT: %bound_method.loc9_23.3: = bound_method %N.loc4_6.2, constants.%Convert.specific_fn [symbolic = %bound_method.loc9_23.3 (constants.%bound_method)] // CHECK:STDOUT: %int.convert_checked.loc9_23.2: init Core.IntLiteral = call %bound_method.loc9_23.3(%N.loc4_6.2) [symbolic = %int.convert_checked.loc9_23.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc9_24.2: type = array_type %int.convert_checked.loc9_23.2, %i32 [symbolic = %array_type.loc9_24.2 (constants.%array_type)] +// CHECK:STDOUT: %array_type.loc9_24.2: type = array_type %int.convert_checked.loc9_23.2, constants.%i32 [symbolic = %array_type.loc9_24.2 (constants.%array_type)] // CHECK:STDOUT: %require_complete: = require_complete_type @F.%array_type.loc9_24.2 (%array_type) [symbolic = %require_complete (constants.%require_complete.7cb)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%N.patt.loc4_6.1: %i32) { @@ -123,7 +123,7 @@ fn H() { G(3); } // CHECK:STDOUT: %int.convert_checked.loc9_23.1: init Core.IntLiteral = call %bound_method.loc9_23.2(%N.ref) [symbolic = %int.convert_checked.loc9_23.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc9_23.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc9_23.1 [symbolic = %int.convert_checked.loc9_23.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc9_23.2: Core.IntLiteral = converted %N.ref, %.loc9_23.1 [symbolic = %int.convert_checked.loc9_23.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc9_24.1: type = array_type %.loc9_23.2, %i32 [symbolic = %array_type.loc9_24.2 (constants.%array_type)] +// CHECK:STDOUT: %array_type.loc9_24.1: type = array_type %.loc9_23.2, %i32.loc9 [symbolic = %array_type.loc9_24.2 (constants.%array_type)] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref @F.%array_type.loc9_24.2 (%array_type) = bind_name arr, %arr.var // CHECK:STDOUT: return @@ -238,7 +238,7 @@ fn H() { G(3); } // CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %N.loc5_15.1 [template = %N.loc5_15.2 (constants.%N.51e)] // CHECK:STDOUT: %.loc10_23.1: Core.IntLiteral = splice_inst %.loc10_23.2 -// CHECK:STDOUT: %array_type: type = array_type %.loc10_23.1, %i32 +// CHECK:STDOUT: %array_type: type = array_type %.loc10_23.1, %i32.loc10 // CHECK:STDOUT: } // CHECK:STDOUT: %arr: = bind_name arr, // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index e3ca244e4db0..7c70572b24d3 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -241,7 +241,7 @@ var b: B = {.x = 1} as B; // CHECK:STDOUT: } // CHECK:STDOUT: %.loc22: type = splice_block %ptr [concrete = constants.%ptr.e79] { // CHECK:STDOUT: %B.ref.loc22: type = name_ref B, %B.decl [concrete = constants.%B] -// CHECK:STDOUT: %ptr: type = ptr_type %B [concrete = constants.%ptr.e79] +// CHECK:STDOUT: %ptr: type = ptr_type %B.ref.loc22 [concrete = constants.%ptr.e79] // CHECK:STDOUT: } // CHECK:STDOUT: %b_ptr: %ptr.e79 = bind_name b_ptr, @__global_init.%addr // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/as/identity.carbon b/toolchain/check/testdata/as/identity.carbon index eabfde0be448..22a009bc0676 100644 --- a/toolchain/check/testdata/as/identity.carbon +++ b/toolchain/check/testdata/as/identity.carbon @@ -78,7 +78,7 @@ fn Initializing() { // CHECK:STDOUT: %p.param: %ptr.d17 = value_param call_param0 // CHECK:STDOUT: %.loc21: type = splice_block %ptr.loc21 [concrete = constants.%ptr.d17] { // CHECK:STDOUT: %X.ref.loc21: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %ptr.loc21: type = ptr_type %X [concrete = constants.%ptr.d17] +// CHECK:STDOUT: %ptr.loc21: type = ptr_type %X.ref.loc21 [concrete = constants.%ptr.d17] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.d17 = bind_name p, %p.param // CHECK:STDOUT: } @@ -124,7 +124,7 @@ fn Initializing() { // CHECK:STDOUT: %addr: %ptr.d17 = addr_of %.loc22_17 // CHECK:STDOUT: %.loc22_11: type = splice_block %ptr.loc22 [concrete = constants.%ptr.d17] { // CHECK:STDOUT: %X.ref.loc22_10: type = name_ref X, file.%X.decl [concrete = constants.%X] -// CHECK:STDOUT: %ptr.loc22: type = ptr_type %X [concrete = constants.%ptr.d17] +// CHECK:STDOUT: %ptr.loc22: type = ptr_type %X.ref.loc22_10 [concrete = constants.%ptr.d17] // CHECK:STDOUT: } // CHECK:STDOUT: %q: %ptr.d17 = bind_name q, %addr // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/basics/numeric_literals.carbon b/toolchain/check/testdata/basics/numeric_literals.carbon index 959d446e2ad9..ef90a86b503e 100644 --- a/toolchain/check/testdata/basics/numeric_literals.carbon +++ b/toolchain/check/testdata/basics/numeric_literals.carbon @@ -216,7 +216,7 @@ fn F() { // CHECK:STDOUT: %int_6.loc22: Core.IntLiteral = int_value 6 [concrete = constants.%int_6] // CHECK:STDOUT: %.loc22_21.1: type = value_of_initializer %float.make_type [concrete = f64] // CHECK:STDOUT: %.loc22_21.2: type = converted %float.make_type, %.loc22_21.1 [concrete = f64] -// CHECK:STDOUT: %array_type.loc22: type = array_type %int_6.loc22, f64 [concrete = constants.%array_type.72b] +// CHECK:STDOUT: %array_type.loc22: type = array_type %int_6.loc22, %.loc22_21.2 [concrete = constants.%array_type.72b] // CHECK:STDOUT: } // CHECK:STDOUT: %floats: ref %array_type.72b = bind_name floats, %floats.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/choice/fail_todo_params.carbon b/toolchain/check/testdata/choice/fail_todo_params.carbon index 33d67c838777..e301cb2a9f25 100644 --- a/toolchain/check/testdata/choice/fail_todo_params.carbon +++ b/toolchain/check/testdata/choice/fail_todo_params.carbon @@ -241,7 +241,7 @@ choice C { // CHECK:STDOUT: %a.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc8: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr = bind_name a, %a.param // CHECK:STDOUT: %complete_type: = complete_type_witness %struct_type.discriminant [concrete = constants.%complete_type] diff --git a/toolchain/check/testdata/class/base_field.carbon b/toolchain/check/testdata/class/base_field.carbon index e72cfcbc9657..47e2bcbadaf7 100644 --- a/toolchain/check/testdata/class/base_field.carbon +++ b/toolchain/check/testdata/class/base_field.carbon @@ -75,7 +75,7 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc24: type = splice_block %ptr.loc24_21 [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr.loc24_21: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr.loc24_21: type = ptr_type %Derived.ref [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param1 diff --git a/toolchain/check/testdata/class/base_method.carbon b/toolchain/check/testdata/class/base_method.carbon index 423b69376750..417a4c4eb5f7 100644 --- a/toolchain/check/testdata/class/base_method.carbon +++ b/toolchain/check/testdata/class/base_method.carbon @@ -86,7 +86,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %self.param.loc17: %ptr.11f = value_param call_param0 // CHECK:STDOUT: %.loc17_26: type = splice_block %ptr.loc17 [concrete = constants.%ptr.11f] { // CHECK:STDOUT: %Self.ref.loc17: type = name_ref Self, constants.%Base [concrete = constants.%Base] -// CHECK:STDOUT: %ptr.loc17: type = ptr_type %Base [concrete = constants.%ptr.11f] +// CHECK:STDOUT: %ptr.loc17: type = ptr_type %Self.ref.loc17 [concrete = constants.%ptr.11f] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc17: %ptr.11f = bind_name self, %self.param.loc17 // CHECK:STDOUT: } @@ -98,7 +98,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc25: type = splice_block %ptr [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr: type = ptr_type %Derived.ref [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: } @@ -118,7 +118,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: %self.param.loc14: %ptr.11f = value_param call_param0 // CHECK:STDOUT: %.loc14: type = splice_block %ptr.loc14 [concrete = constants.%ptr.11f] { // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, constants.%Base [concrete = constants.%Base] -// CHECK:STDOUT: %ptr.loc14: type = ptr_type %Base [concrete = constants.%ptr.11f] +// CHECK:STDOUT: %ptr.loc14: type = ptr_type %Self.ref.loc14 [concrete = constants.%ptr.11f] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc14: %ptr.11f = bind_name self, %self.param.loc14 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/base_method_qualified.carbon b/toolchain/check/testdata/class/base_method_qualified.carbon index ad8ffd8304ff..631c5136ca8c 100644 --- a/toolchain/check/testdata/class/base_method_qualified.carbon +++ b/toolchain/check/testdata/class/base_method_qualified.carbon @@ -116,7 +116,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc29: type = splice_block %ptr [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr: type = ptr_type %Derived.ref [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -147,7 +147,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc37: type = splice_block %ptr [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc11 [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr: type = ptr_type %Derived.ref [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 diff --git a/toolchain/check/testdata/class/base_method_shadow.carbon b/toolchain/check/testdata/class/base_method_shadow.carbon index f6cbcd60141c..06cbfe5b34ee 100644 --- a/toolchain/check/testdata/class/base_method_shadow.carbon +++ b/toolchain/check/testdata/class/base_method_shadow.carbon @@ -98,25 +98,25 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %a.param: %ptr.6db = value_param call_param0 // CHECK:STDOUT: %.loc29_13: type = splice_block %ptr.loc29_13 [concrete = constants.%ptr.6db] { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %ptr.loc29_13: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr.loc29_13: type = ptr_type %A.ref [concrete = constants.%ptr.6db] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.6db = bind_name a, %a.param // CHECK:STDOUT: %b.param: %ptr.e79 = value_param call_param1 // CHECK:STDOUT: %.loc29_20: type = splice_block %ptr.loc29_20 [concrete = constants.%ptr.e79] { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %ptr.loc29_20: type = ptr_type %B [concrete = constants.%ptr.e79] +// CHECK:STDOUT: %ptr.loc29_20: type = ptr_type %B.ref [concrete = constants.%ptr.e79] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %ptr.e79 = bind_name b, %b.param // CHECK:STDOUT: %c.param: %ptr.019 = value_param call_param2 // CHECK:STDOUT: %.loc29_27: type = splice_block %ptr.loc29_27 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc29_27: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc29_27: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %ptr.019 = bind_name c, %c.param // CHECK:STDOUT: %d.param: %ptr.19c = value_param call_param3 // CHECK:STDOUT: %.loc29_34: type = splice_block %ptr.loc29_34 [concrete = constants.%ptr.19c] { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] -// CHECK:STDOUT: %ptr.loc29_34: type = ptr_type %D [concrete = constants.%ptr.19c] +// CHECK:STDOUT: %ptr.loc29_34: type = ptr_type %D.ref [concrete = constants.%ptr.19c] // CHECK:STDOUT: } // CHECK:STDOUT: %d: %ptr.19c = bind_name d, %d.param // CHECK:STDOUT: } @@ -131,7 +131,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %self.param: %ptr.6db = value_param call_param0 // CHECK:STDOUT: %.loc12_23: type = splice_block %ptr [concrete = constants.%ptr.6db] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%A [concrete = constants.%A] -// CHECK:STDOUT: %ptr: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.6db] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.6db = bind_name self, %self.param // CHECK:STDOUT: } @@ -154,7 +154,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %self.param: %ptr.e79 = value_param call_param0 // CHECK:STDOUT: %.loc17_23: type = splice_block %ptr [concrete = constants.%ptr.e79] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [concrete = constants.%B] -// CHECK:STDOUT: %ptr: type = ptr_type %B [concrete = constants.%ptr.e79] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.e79] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.e79 = bind_name self, %self.param // CHECK:STDOUT: } @@ -180,7 +180,7 @@ fn Call(a: A*, b: B*, c: C*, d: D*) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc22_23: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/compound_field.carbon b/toolchain/check/testdata/class/compound_field.carbon index d3630d20a1e9..515e1b28bdf7 100644 --- a/toolchain/check/testdata/class/compound_field.carbon +++ b/toolchain/check/testdata/class/compound_field.carbon @@ -124,7 +124,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc32: type = splice_block %ptr.loc32_36 [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref.loc32: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr.loc32_36: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr.loc32_36: type = ptr_type %Derived.ref.loc32 [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param1 @@ -142,7 +142,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc36: type = splice_block %ptr.loc36_33 [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr.loc36_33: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr.loc36_33: type = ptr_type %Derived.ref [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param1 diff --git a/toolchain/check/testdata/class/derived_to_base.carbon b/toolchain/check/testdata/class/derived_to_base.carbon index 2e0139b16fca..4960666ad2fe 100644 --- a/toolchain/check/testdata/class/derived_to_base.carbon +++ b/toolchain/check/testdata/class/derived_to_base.carbon @@ -133,11 +133,11 @@ fn ConvertInit() { // CHECK:STDOUT: %return.param_patt: %ptr.e79 = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %ptr.loc25_27: type = ptr_type %B [concrete = constants.%ptr.e79] +// CHECK:STDOUT: %ptr.loc25_27: type = ptr_type %B.ref [concrete = constants.%ptr.e79] // CHECK:STDOUT: %p.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc25_20: type = splice_block %ptr.loc25_20 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc25_20: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc25_20: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.019 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.e79 = out_param call_param1 @@ -150,11 +150,11 @@ fn ConvertInit() { // CHECK:STDOUT: %return.param_patt: %ptr.6db = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %ptr.loc26_27: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr.loc26_27: type = ptr_type %A.ref [concrete = constants.%ptr.6db] // CHECK:STDOUT: %p.param: %ptr.e79 = value_param call_param0 // CHECK:STDOUT: %.loc26_20: type = splice_block %ptr.loc26_20 [concrete = constants.%ptr.e79] { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %ptr.loc26_20: type = ptr_type %B [concrete = constants.%ptr.e79] +// CHECK:STDOUT: %ptr.loc26_20: type = ptr_type %B.ref [concrete = constants.%ptr.e79] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e79 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.6db = out_param call_param1 @@ -167,11 +167,11 @@ fn ConvertInit() { // CHECK:STDOUT: %return.param_patt: %ptr.6db = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %ptr.loc27_27: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr.loc27_27: type = ptr_type %A.ref [concrete = constants.%ptr.6db] // CHECK:STDOUT: %p.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc27_20: type = splice_block %ptr.loc27_20 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc27_20: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc27_20: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.019 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.6db = out_param call_param1 @@ -192,11 +192,11 @@ fn ConvertInit() { // CHECK:STDOUT: %return.param_patt: %ptr.6db = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref.loc33: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %ptr.loc33_26: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr.loc33_26: type = ptr_type %A.ref.loc33 [concrete = constants.%ptr.6db] // CHECK:STDOUT: %c.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc33: type = splice_block %ptr.loc33_19 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc33_19: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc33_19: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %ptr.019 = bind_name c, %c.param // CHECK:STDOUT: %return.param: ref %ptr.6db = out_param call_param1 diff --git a/toolchain/check/testdata/class/fail_addr_not_self.carbon b/toolchain/check/testdata/class/fail_addr_not_self.carbon index b0dda866cb4d..3bd37000523f 100644 --- a/toolchain/check/testdata/class/fail_addr_not_self.carbon +++ b/toolchain/check/testdata/class/fail_addr_not_self.carbon @@ -59,7 +59,7 @@ class Class { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc16: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc16_13.2: %ptr = bind_symbolic_name a, 0 [symbolic = %a.loc16_13.1 (constants.%a)] // CHECK:STDOUT: } @@ -70,7 +70,7 @@ class Class { // CHECK:STDOUT: %b.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc22: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %ptr = bind_name b, %b.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_addr_self.carbon b/toolchain/check/testdata/class/fail_addr_self.carbon index d56cdd79a6c3..bbdd3babd128 100644 --- a/toolchain/check/testdata/class/fail_addr_self.carbon +++ b/toolchain/check/testdata/class/fail_addr_self.carbon @@ -78,7 +78,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param1 // CHECK:STDOUT: %.loc20: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref.loc20_19: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref.loc20_19 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: } @@ -93,7 +93,7 @@ fn F(c: Class, p: Class*) { // CHECK:STDOUT: %self.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc12_24: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.e71 = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_base_bad_type.carbon b/toolchain/check/testdata/class/fail_base_bad_type.carbon index ab1870dc5476..e2649db57701 100644 --- a/toolchain/check/testdata/class/fail_base_bad_type.carbon +++ b/toolchain/check/testdata/class/fail_base_bad_type.carbon @@ -217,7 +217,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc13_55: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %DeriveFromError.ref: type = name_ref DeriveFromError, file.%DeriveFromError.decl [concrete = constants.%DeriveFromError] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromError [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromError.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -286,7 +286,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc15_58: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %DeriveFromNonType.ref: type = name_ref DeriveFromNonType, file.%DeriveFromNonType.decl [concrete = constants.%DeriveFromNonType] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromNonType [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromNonType.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -362,7 +362,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.45c = value_param call_param0 // CHECK:STDOUT: %.loc14_40: type = splice_block %ptr.loc14_40 [concrete = constants.%ptr.45c] { // CHECK:STDOUT: %DeriveFromi32.ref: type = name_ref DeriveFromi32, file.%DeriveFromi32.decl [concrete = constants.%DeriveFromi32] -// CHECK:STDOUT: %ptr.loc14_40: type = ptr_type %DeriveFromi32 [concrete = constants.%ptr.45c] +// CHECK:STDOUT: %ptr.loc14_40: type = ptr_type %DeriveFromi32.ref [concrete = constants.%ptr.45c] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.45c = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param1 @@ -379,7 +379,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.45c = value_param call_param0 // CHECK:STDOUT: %.loc20_51: type = splice_block %ptr [concrete = constants.%ptr.45c] { // CHECK:STDOUT: %DeriveFromi32.ref: type = name_ref DeriveFromi32, file.%DeriveFromi32.decl [concrete = constants.%DeriveFromi32] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromi32 [concrete = constants.%ptr.45c] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromi32.ref [concrete = constants.%ptr.45c] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.45c = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -467,11 +467,11 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc21_56: %tuple.type.85c = tuple_literal (%Base.ref) // CHECK:STDOUT: %.loc21_57: type = converted %.loc21_56, constants.%tuple.type.469 [concrete = constants.%tuple.type.469] -// CHECK:STDOUT: %ptr.loc21_57: type = ptr_type %tuple.type.469 [concrete = constants.%ptr.1ab] +// CHECK:STDOUT: %ptr.loc21_57: type = ptr_type %.loc21_57 [concrete = constants.%ptr.1ab] // CHECK:STDOUT: %p.param: %ptr.340 = value_param call_param0 // CHECK:STDOUT: %.loc21_44: type = splice_block %ptr.loc21_44 [concrete = constants.%ptr.340] { // CHECK:STDOUT: %DeriveFromTuple.ref: type = name_ref DeriveFromTuple, file.%DeriveFromTuple.decl [concrete = constants.%DeriveFromTuple] -// CHECK:STDOUT: %ptr.loc21_44: type = ptr_type %DeriveFromTuple [concrete = constants.%ptr.340] +// CHECK:STDOUT: %ptr.loc21_44: type = ptr_type %DeriveFromTuple.ref [concrete = constants.%ptr.340] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.340 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.1ab = out_param call_param1 @@ -488,7 +488,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.340 = value_param call_param0 // CHECK:STDOUT: %.loc23_55: type = splice_block %ptr [concrete = constants.%ptr.340] { // CHECK:STDOUT: %DeriveFromTuple.ref: type = name_ref DeriveFromTuple, file.%DeriveFromTuple.decl [concrete = constants.%DeriveFromTuple] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromTuple [concrete = constants.%ptr.340] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromTuple.ref [concrete = constants.%ptr.340] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.340 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -583,7 +583,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.df0 = value_param call_param0 // CHECK:STDOUT: %.loc21_46: type = splice_block %ptr.loc21_46 [concrete = constants.%ptr.df0] { // CHECK:STDOUT: %DeriveFromStruct.ref: type = name_ref DeriveFromStruct, file.%DeriveFromStruct.decl [concrete = constants.%DeriveFromStruct] -// CHECK:STDOUT: %ptr.loc21_46: type = ptr_type %DeriveFromStruct [concrete = constants.%ptr.df0] +// CHECK:STDOUT: %ptr.loc21_46: type = ptr_type %DeriveFromStruct.ref [concrete = constants.%ptr.df0] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.df0 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.3ee = out_param call_param1 @@ -600,7 +600,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.df0 = value_param call_param0 // CHECK:STDOUT: %.loc24_57: type = splice_block %ptr [concrete = constants.%ptr.df0] { // CHECK:STDOUT: %DeriveFromStruct.ref: type = name_ref DeriveFromStruct, file.%DeriveFromStruct.decl [concrete = constants.%DeriveFromStruct] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromStruct [concrete = constants.%ptr.df0] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromStruct.ref [concrete = constants.%ptr.df0] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.df0 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -682,11 +682,11 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %return.param_patt: %ptr.c62 = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, file.%Incomplete.decl [concrete = constants.%Incomplete] -// CHECK:STDOUT: %ptr.loc28_70: type = ptr_type %Incomplete [concrete = constants.%ptr.c62] +// CHECK:STDOUT: %ptr.loc28_70: type = ptr_type %Incomplete.ref [concrete = constants.%ptr.c62] // CHECK:STDOUT: %p.param: %ptr.089 = value_param call_param0 // CHECK:STDOUT: %.loc28_54: type = splice_block %ptr.loc28_54 [concrete = constants.%ptr.089] { // CHECK:STDOUT: %DeriveFromIncomplete.ref: type = name_ref DeriveFromIncomplete, file.%DeriveFromIncomplete.decl [concrete = constants.%DeriveFromIncomplete] -// CHECK:STDOUT: %ptr.loc28_54: type = ptr_type %DeriveFromIncomplete [concrete = constants.%ptr.089] +// CHECK:STDOUT: %ptr.loc28_54: type = ptr_type %DeriveFromIncomplete.ref [concrete = constants.%ptr.089] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.089 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.c62 = out_param call_param1 @@ -703,7 +703,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.089 = value_param call_param0 // CHECK:STDOUT: %.loc30_65: type = splice_block %ptr [concrete = constants.%ptr.089] { // CHECK:STDOUT: %DeriveFromIncomplete.ref: type = name_ref DeriveFromIncomplete, file.%DeriveFromIncomplete.decl [concrete = constants.%DeriveFromIncomplete] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromIncomplete [concrete = constants.%ptr.089] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromIncomplete.ref [concrete = constants.%ptr.089] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.089 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -792,11 +792,11 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %return.param_patt: %ptr.5f6 = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Final.ref: type = name_ref Final, file.%Final.decl [concrete = constants.%Final] -// CHECK:STDOUT: %ptr.loc17_55: type = ptr_type %Final [concrete = constants.%ptr.5f6] +// CHECK:STDOUT: %ptr.loc17_55: type = ptr_type %Final.ref [concrete = constants.%ptr.5f6] // CHECK:STDOUT: %p.param: %ptr.160 = value_param call_param0 // CHECK:STDOUT: %.loc17: type = splice_block %ptr.loc17_44 [concrete = constants.%ptr.160] { // CHECK:STDOUT: %DeriveFromFinal.ref: type = name_ref DeriveFromFinal, file.%DeriveFromFinal.decl [concrete = constants.%DeriveFromFinal] -// CHECK:STDOUT: %ptr.loc17_44: type = ptr_type %DeriveFromFinal [concrete = constants.%ptr.160] +// CHECK:STDOUT: %ptr.loc17_44: type = ptr_type %DeriveFromFinal.ref [concrete = constants.%ptr.160] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.160 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.5f6 = out_param call_param1 @@ -813,7 +813,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.160 = value_param call_param0 // CHECK:STDOUT: %.loc21: type = splice_block %ptr [concrete = constants.%ptr.160] { // CHECK:STDOUT: %DeriveFromFinal.ref: type = name_ref DeriveFromFinal, file.%DeriveFromFinal.decl [concrete = constants.%DeriveFromFinal] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromFinal [concrete = constants.%ptr.160] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromFinal.ref [concrete = constants.%ptr.160] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.160 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -830,7 +830,7 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.160 = value_param call_param0 // CHECK:STDOUT: %.loc25: type = splice_block %ptr [concrete = constants.%ptr.160] { // CHECK:STDOUT: %DeriveFromFinal.ref: type = name_ref DeriveFromFinal, file.%DeriveFromFinal.decl [concrete = constants.%DeriveFromFinal] -// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromFinal [concrete = constants.%ptr.160] +// CHECK:STDOUT: %ptr: type = ptr_type %DeriveFromFinal.ref [concrete = constants.%ptr.160] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.160 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 diff --git a/toolchain/check/testdata/class/fail_derived_to_base.carbon b/toolchain/check/testdata/class/fail_derived_to_base.carbon index 88131bd338c3..d9de49976414 100644 --- a/toolchain/check/testdata/class/fail_derived_to_base.carbon +++ b/toolchain/check/testdata/class/fail_derived_to_base.carbon @@ -98,11 +98,11 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; } // CHECK:STDOUT: %return.param_patt: %ptr.678 = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A1.ref: type = name_ref A1, file.%A1.decl [concrete = constants.%A1] -// CHECK:STDOUT: %ptr.loc31_34: type = ptr_type %A1 [concrete = constants.%ptr.678] +// CHECK:STDOUT: %ptr.loc31_34: type = ptr_type %A1.ref [concrete = constants.%ptr.678] // CHECK:STDOUT: %p.param: %ptr.afe = value_param call_param0 // CHECK:STDOUT: %.loc31_26: type = splice_block %ptr.loc31_26 [concrete = constants.%ptr.afe] { // CHECK:STDOUT: %B2.ref: type = name_ref B2, file.%B2.decl [concrete = constants.%B2] -// CHECK:STDOUT: %ptr.loc31_26: type = ptr_type %B2 [concrete = constants.%ptr.afe] +// CHECK:STDOUT: %ptr.loc31_26: type = ptr_type %B2.ref [concrete = constants.%ptr.afe] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.afe = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.678 = out_param call_param1 @@ -116,11 +116,11 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; } // CHECK:STDOUT: %return.param_patt: %ptr.590 = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %A2.ref: type = name_ref A2, file.%A2.decl [concrete = constants.%A2] -// CHECK:STDOUT: %ptr.loc42_43: type = ptr_type %A2 [concrete = constants.%ptr.590] +// CHECK:STDOUT: %ptr.loc42_43: type = ptr_type %A2.ref [concrete = constants.%ptr.590] // CHECK:STDOUT: %p.param: %ptr.c62 = value_param call_param0 // CHECK:STDOUT: %.loc42_35: type = splice_block %ptr.loc42_35 [concrete = constants.%ptr.c62] { // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, file.%Incomplete.decl [concrete = constants.%Incomplete] -// CHECK:STDOUT: %ptr.loc42_35: type = ptr_type %Incomplete [concrete = constants.%ptr.c62] +// CHECK:STDOUT: %ptr.loc42_35: type = ptr_type %Incomplete.ref [concrete = constants.%ptr.c62] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.c62 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.590 = out_param call_param1 diff --git a/toolchain/check/testdata/class/fail_incomplete.carbon b/toolchain/check/testdata/class/fail_incomplete.carbon index e43adacec602..3cc4e8dad04a 100644 --- a/toolchain/check/testdata/class/fail_incomplete.carbon +++ b/toolchain/check/testdata/class/fail_incomplete.carbon @@ -269,7 +269,7 @@ class C { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc44: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -286,7 +286,7 @@ class C { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc55: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -302,7 +302,7 @@ class C { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc73: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref.loc73_12: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref.loc73_12 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %Class = out_param call_param1 @@ -315,7 +315,7 @@ class C { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc77: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref.loc77: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref.loc77 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: } @@ -342,7 +342,7 @@ class C { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc92: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: } @@ -355,7 +355,7 @@ class C { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc136: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: } @@ -372,7 +372,7 @@ class C { // CHECK:STDOUT: %self.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc133_24: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.e71 = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_init_as_inplace.carbon b/toolchain/check/testdata/class/fail_init_as_inplace.carbon index 3fc2edabb2ff..0e028b2c2865 100644 --- a/toolchain/check/testdata/class/fail_init_as_inplace.carbon +++ b/toolchain/check/testdata/class/fail_init_as_inplace.carbon @@ -87,7 +87,7 @@ fn F() { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc16: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/fail_memaccess_category.carbon b/toolchain/check/testdata/class/fail_memaccess_category.carbon index c093d02e1a4f..b75efcf3c6f5 100644 --- a/toolchain/check/testdata/class/fail_memaccess_category.carbon +++ b/toolchain/check/testdata/class/fail_memaccess_category.carbon @@ -101,7 +101,7 @@ fn F(s: {.a: A}, b: B) { // CHECK:STDOUT: %self.param: %ptr.6db = value_param call_param0 // CHECK:STDOUT: %.loc12_20: type = splice_block %ptr [concrete = constants.%ptr.6db] { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %ptr: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr: type = ptr_type %A.ref [concrete = constants.%ptr.6db] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.6db = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/forward_declared.carbon b/toolchain/check/testdata/class/forward_declared.carbon index e0fc28accf88..a191df192b3a 100644 --- a/toolchain/check/testdata/class/forward_declared.carbon +++ b/toolchain/check/testdata/class/forward_declared.carbon @@ -43,11 +43,11 @@ fn F(p: Class*) -> Class* { return p; } // CHECK:STDOUT: %return.param_patt: %ptr = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %Class.ref.loc13_20: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc13_25: type = ptr_type %Class [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr.loc13_25: type = ptr_type %Class.ref.loc13_20 [concrete = constants.%ptr] // CHECK:STDOUT: %p.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc13: type = splice_block %ptr.loc13_14 [concrete = constants.%ptr] { // CHECK:STDOUT: %Class.ref.loc13_9: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc13_14: type = ptr_type %Class [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr.loc13_14: type = ptr_type %Class.ref.loc13_9 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr = out_param call_param1 diff --git a/toolchain/check/testdata/class/generic/basic.carbon b/toolchain/check/testdata/class/generic/basic.carbon index 55fa77c8676b..20d21482a901 100644 --- a/toolchain/check/testdata/class/generic/basic.carbon +++ b/toolchain/check/testdata/class/generic/basic.carbon @@ -98,12 +98,12 @@ class Declaration(T:! type); // CHECK:STDOUT: %return.param_patt: @GetAddr.%ptr.loc12_38.1 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc11_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_38.2: type = ptr_type %T [symbolic = %ptr.loc12_38.1 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_38.2: type = ptr_type %T.ref [symbolic = %ptr.loc12_38.1 (constants.%ptr.79f)] // CHECK:STDOUT: %self.param: @GetAddr.%ptr.loc12_29.1 (%ptr.955) = value_param call_param0 // CHECK:STDOUT: %.loc12_29: type = splice_block %ptr.loc12_29.2 [symbolic = %ptr.loc12_29.1 (constants.%ptr.955)] { // CHECK:STDOUT: %.loc12_25: type = specific_constant constants.%Class, @Class(constants.%T) [symbolic = %Class (constants.%Class)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc12_25 [symbolic = %Class (constants.%Class)] -// CHECK:STDOUT: %ptr.loc12_29.2: type = ptr_type %Class [symbolic = %ptr.loc12_29.1 (constants.%ptr.955)] +// CHECK:STDOUT: %ptr.loc12_29.2: type = ptr_type %Self.ref [symbolic = %ptr.loc12_29.1 (constants.%ptr.955)] // CHECK:STDOUT: } // CHECK:STDOUT: %self: @GetAddr.%ptr.loc12_29.1 (%ptr.955) = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref @GetAddr.%ptr.loc12_38.1 (%ptr.79f) = out_param call_param1 @@ -152,8 +152,8 @@ class Declaration(T:! type); // CHECK:STDOUT: generic fn @GetAddr(@Class.%T.loc11_13.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Class: type = class_type @Class, @Class(%T) [symbolic = %Class (constants.%Class)] -// CHECK:STDOUT: %ptr.loc12_29.1: type = ptr_type @GetAddr.%Class (%Class) [symbolic = %ptr.loc12_29.1 (constants.%ptr.955)] -// CHECK:STDOUT: %ptr.loc12_38.1: type = ptr_type @GetAddr.%T (%T) [symbolic = %ptr.loc12_38.1 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_29.1: type = ptr_type %Class [symbolic = %ptr.loc12_29.1 (constants.%ptr.955)] +// CHECK:STDOUT: %ptr.loc12_38.1: type = ptr_type %T [symbolic = %ptr.loc12_38.1 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc12_34: = require_complete_type @GetAddr.%ptr.loc12_38.1 (%ptr.79f) [symbolic = %require_complete.loc12_34 (constants.%require_complete.6e5)] diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index f6ad40d3923c..691bb8e6b7c0 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -146,7 +146,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %.loc15_12.1: %i32 = value_of_initializer %int.convert_checked [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc15_12.2: %i32 = converted %int_0, %.loc15_12.1 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %A: type = class_type @A, @A(constants.%int_0.6a9) [concrete = constants.%A.6fc] -// CHECK:STDOUT: %ptr.loc15: type = ptr_type %A.6fc [concrete = constants.%ptr.b65] +// CHECK:STDOUT: %ptr.loc15: type = ptr_type %A [concrete = constants.%ptr.b65] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.b65 = bind_name a, %a.param // CHECK:STDOUT: } @@ -210,7 +210,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %a.ref: %ptr.b65 = name_ref a, %a // CHECK:STDOUT: %.loc20_11: type = splice_block %ptr.loc20 [concrete = constants.%ptr.e79] { // CHECK:STDOUT: %B.ref: type = name_ref B, file.%B.decl [concrete = constants.%B] -// CHECK:STDOUT: %ptr.loc20: type = ptr_type %B [concrete = constants.%ptr.e79] +// CHECK:STDOUT: %ptr.loc20: type = ptr_type %B.ref [concrete = constants.%ptr.e79] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc20_15.1: ref %A.6fc = deref %a.ref // CHECK:STDOUT: %.loc20_15.2: ref %B = class_element_access %.loc20_15.1, element0 diff --git a/toolchain/check/testdata/class/generic/member_access.carbon b/toolchain/check/testdata/class/generic/member_access.carbon index b6eead16a9aa..e9c4af825325 100644 --- a/toolchain/check/testdata/class/generic/member_access.carbon +++ b/toolchain/check/testdata/class/generic/member_access.carbon @@ -170,7 +170,7 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %int_32.loc18_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %Class: type = class_type @Class, @Class(constants.%i32) [concrete = constants.%Class.247] -// CHECK:STDOUT: %ptr: type = ptr_type %Class.247 [concrete = constants.%ptr.f7c] +// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.f7c] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.f7c = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -223,12 +223,12 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: %return.param_patt: @GetAddr.%ptr.loc7_38.1 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, @Class.%T.loc2_13.1 [symbolic = %T (constants.%T)] -// CHECK:STDOUT: %ptr.loc7_38.2: type = ptr_type %T [symbolic = %ptr.loc7_38.1 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc7_38.2: type = ptr_type %T.ref [symbolic = %ptr.loc7_38.1 (constants.%ptr.79f)] // CHECK:STDOUT: %self.param: @GetAddr.%ptr.loc7_29.1 (%ptr.955) = value_param call_param0 // CHECK:STDOUT: %.loc7_29: type = splice_block %ptr.loc7_29.2 [symbolic = %ptr.loc7_29.1 (constants.%ptr.955)] { // CHECK:STDOUT: %.loc7_25: type = specific_constant constants.%Class.fe1, @Class(constants.%T) [symbolic = %Class (constants.%Class.fe1)] // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc7_25 [symbolic = %Class (constants.%Class.fe1)] -// CHECK:STDOUT: %ptr.loc7_29.2: type = ptr_type %Class.fe1 [symbolic = %ptr.loc7_29.1 (constants.%ptr.955)] +// CHECK:STDOUT: %ptr.loc7_29.2: type = ptr_type %Self.ref [symbolic = %ptr.loc7_29.1 (constants.%ptr.955)] // CHECK:STDOUT: } // CHECK:STDOUT: %self: @GetAddr.%ptr.loc7_29.1 (%ptr.955) = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref @GetAddr.%ptr.loc7_38.1 (%ptr.79f) = out_param call_param1 @@ -268,8 +268,8 @@ fn StaticMemberFunctionCall(T:! type) -> Class(T) { // CHECK:STDOUT: generic fn @GetAddr(@Class.%T.loc2_13.1: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %Class: type = class_type @Class, @Class(%T) [symbolic = %Class (constants.%Class.fe1)] -// CHECK:STDOUT: %ptr.loc7_29.1: type = ptr_type @GetAddr.%Class (%Class.fe1) [symbolic = %ptr.loc7_29.1 (constants.%ptr.955)] -// CHECK:STDOUT: %ptr.loc7_38.1: type = ptr_type @GetAddr.%T (%T) [symbolic = %ptr.loc7_38.1 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc7_29.1: type = ptr_type %Class [symbolic = %ptr.loc7_29.1 (constants.%ptr.955)] +// CHECK:STDOUT: %ptr.loc7_38.1: type = ptr_type %T [symbolic = %ptr.loc7_38.1 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc7_34: = require_complete_type @GetAddr.%ptr.loc7_38.1 (%ptr.79f) [symbolic = %require_complete.loc7_34 (constants.%require_complete.6e5)] diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index 2f385af88046..64e0b8dddac1 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -218,7 +218,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Outer.ref.loc9: %Outer.type = name_ref Outer, %Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %.loc9_15: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc9_16: type = converted %.loc9_15, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %ptr.loc9: type = ptr_type %empty_struct_type [concrete = constants.%ptr.c28] +// CHECK:STDOUT: %ptr.loc9: type = ptr_type %.loc9_16 [concrete = constants.%ptr.c28] // CHECK:STDOUT: %Outer.loc9: type = class_type @Outer, @Outer(constants.%ptr.c28) [concrete = constants.%Outer.614] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %Outer.614 = bind_name v, %v.var @@ -231,7 +231,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Outer.ref.loc19: %Outer.type = name_ref Outer, %Outer.decl [concrete = constants.%Outer.generic] // CHECK:STDOUT: %.loc19_15: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc19_16: type = converted %.loc19_15, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %ptr.loc19_16: type = ptr_type %empty_struct_type [concrete = constants.%ptr.c28] +// CHECK:STDOUT: %ptr.loc19_16: type = ptr_type %.loc19_16 [concrete = constants.%ptr.c28] // CHECK:STDOUT: %Outer.loc19: type = class_type @Outer, @Outer(constants.%ptr.c28) [concrete = constants.%Outer.614] // CHECK:STDOUT: %.loc19_18: %Inner.type.5d2 = specific_constant @Outer.%Inner.decl, @Outer(constants.%ptr.c28) [concrete = constants.%Inner.generic.8e6] // CHECK:STDOUT: %Inner.ref: %Inner.type.5d2 = name_ref Inner, %.loc19_18 [concrete = constants.%Inner.generic.8e6] diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 62911afedf9e..1d0566171b6d 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -133,7 +133,7 @@ fn Run() { // CHECK:STDOUT: %self.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc15_23: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%ForwardDeclared [concrete = constants.%ForwardDeclared] -// CHECK:STDOUT: %ptr: type = ptr_type %ForwardDeclared [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr = bind_name self, %self.param // CHECK:STDOUT: } @@ -346,7 +346,7 @@ fn Run() { // CHECK:STDOUT: assign %d.var, %addr.loc16 // CHECK:STDOUT: %.loc16_25: type = splice_block %ptr.loc16 [concrete = constants.%ptr.6cf] { // CHECK:STDOUT: %ForwardDeclared.ref.loc16: type = name_ref ForwardDeclared, imports.%Main.ForwardDeclared [concrete = constants.%ForwardDeclared.7b34f2.1] -// CHECK:STDOUT: %ptr.loc16: type = ptr_type %ForwardDeclared.7b34f2.1 [concrete = constants.%ptr.6cf] +// CHECK:STDOUT: %ptr.loc16: type = ptr_type %ForwardDeclared.ref.loc16 [concrete = constants.%ptr.6cf] // CHECK:STDOUT: } // CHECK:STDOUT: %d: ref %ptr.6cf = bind_name d, %d.var // CHECK:STDOUT: name_binding_decl { @@ -356,7 +356,7 @@ fn Run() { // CHECK:STDOUT: %e.var: ref %ptr.c62 = var e // CHECK:STDOUT: %.loc18_20: type = splice_block %ptr.loc18 [concrete = constants.%ptr.c62] { // CHECK:STDOUT: %Incomplete.ref: type = name_ref Incomplete, imports.%Main.Incomplete [concrete = constants.%Incomplete] -// CHECK:STDOUT: %ptr.loc18: type = ptr_type %Incomplete [concrete = constants.%ptr.c62] +// CHECK:STDOUT: %ptr.loc18: type = ptr_type %Incomplete.ref [concrete = constants.%ptr.c62] // CHECK:STDOUT: } // CHECK:STDOUT: %e: ref %ptr.c62 = bind_name e, %e.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/class/import_indirect.carbon b/toolchain/check/testdata/class/import_indirect.carbon index d5b71979f3cd..bf3696eda180 100644 --- a/toolchain/check/testdata/class/import_indirect.carbon +++ b/toolchain/check/testdata/class/import_indirect.carbon @@ -178,7 +178,7 @@ var ptr: E* = &val; // CHECK:STDOUT: %b_ptr.var: ref %ptr.019 = var b_ptr // CHECK:STDOUT: %.loc9_13: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, %D [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %b_ptr: ref %ptr.019 = bind_name b_ptr, %b_ptr.var // CHECK:STDOUT: } @@ -248,7 +248,7 @@ var ptr: E* = &val; // CHECK:STDOUT: %c_ptr.var: ref %ptr.019 = var c_ptr // CHECK:STDOUT: %.loc9_13: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %E.ref: type = name_ref E, %E [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %E.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %c_ptr: ref %ptr.019 = bind_name c_ptr, %c_ptr.var // CHECK:STDOUT: } @@ -321,7 +321,7 @@ var ptr: E* = &val; // CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr // CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %ptr.loc8_5: ref %ptr.019 = bind_name ptr, %ptr.var // CHECK:STDOUT: } @@ -394,7 +394,7 @@ var ptr: E* = &val; // CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr // CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %D.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %ptr.loc8_5: ref %ptr.019 = bind_name ptr, %ptr.var // CHECK:STDOUT: } @@ -471,7 +471,7 @@ var ptr: E* = &val; // CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr // CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %E.ref: type = name_ref E, imports.%Main.E [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %E.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %ptr.loc8_5: ref %ptr.019 = bind_name ptr, %ptr.var // CHECK:STDOUT: } @@ -548,7 +548,7 @@ var ptr: E* = &val; // CHECK:STDOUT: %ptr.var: ref %ptr.019 = var ptr // CHECK:STDOUT: %.loc8_11: type = splice_block %ptr.loc8_11 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %E.ref: type = name_ref E, imports.%Main.E [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc8_11: type = ptr_type %E.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %ptr.loc8_5: ref %ptr.019 = bind_name ptr, %ptr.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/import_member_cycle.carbon b/toolchain/check/testdata/class/import_member_cycle.carbon index 784aab31bdb5..cc6fa12bfcb4 100644 --- a/toolchain/check/testdata/class/import_member_cycle.carbon +++ b/toolchain/check/testdata/class/import_member_cycle.carbon @@ -117,7 +117,7 @@ fn Run() { // CHECK:STDOUT: %a.var: ref %ptr = var a // CHECK:STDOUT: %.loc7_15: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Cycle.ref: type = name_ref Cycle, imports.%Main.Cycle [concrete = constants.%Cycle] -// CHECK:STDOUT: %ptr: type = ptr_type %Cycle [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Cycle.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %ptr = bind_name a, %a.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/class/import_struct_cyle.carbon b/toolchain/check/testdata/class/import_struct_cyle.carbon index 9803433f915f..21c28948734b 100644 --- a/toolchain/check/testdata/class/import_struct_cyle.carbon +++ b/toolchain/check/testdata/class/import_struct_cyle.carbon @@ -64,7 +64,7 @@ fn Run() { // CHECK:STDOUT: %a.var: ref %struct_type.b = var a // CHECK:STDOUT: %.loc6_19: type = splice_block %struct_type.b [concrete = constants.%struct_type.b] { // CHECK:STDOUT: %Cycle.ref: type = name_ref Cycle, %Cycle.decl.loc4 [concrete = constants.%Cycle] -// CHECK:STDOUT: %ptr: type = ptr_type %Cycle [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Cycle.ref [concrete = constants.%ptr] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %ptr} [concrete = constants.%struct_type.b] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %struct_type.b = bind_name a, %a.var diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index 117d4ef6cc9f..a78e88f5ede9 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -74,7 +74,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %next.param: %ptr.e71 = value_param call_param1 // CHECK:STDOUT: %.loc16_28: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref.loc16_23: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref.loc16_23 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %next: %ptr.e71 = bind_name next, %next.param // CHECK:STDOUT: %return.param: ref %Class = out_param call_param2 @@ -98,7 +98,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %next.param: %ptr.e71 = value_param call_param1 // CHECK:STDOUT: %.loc20_35: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref.loc20_30: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref.loc20_30 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %next: %ptr.e71 = bind_name next, %next.param // CHECK:STDOUT: %return.param: ref %Class = out_param call_param2 diff --git a/toolchain/check/testdata/class/method.carbon b/toolchain/check/testdata/class/method.carbon index 9799d70e8a61..dc93012ee80d 100644 --- a/toolchain/check/testdata/class/method.carbon +++ b/toolchain/check/testdata/class/method.carbon @@ -202,7 +202,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc43: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -219,7 +219,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %p.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc47: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.e71 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -280,7 +280,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %self.param: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc13_23: type = splice_block %ptr [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.e71 = bind_name self, %self.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 diff --git a/toolchain/check/testdata/class/nested.carbon b/toolchain/check/testdata/class/nested.carbon index 098febbcc0b4..e9006a183978 100644 --- a/toolchain/check/testdata/class/nested.carbon +++ b/toolchain/check/testdata/class/nested.carbon @@ -96,7 +96,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %a.param: %ptr.5df = value_param call_param0 // CHECK:STDOUT: %.loc41: type = splice_block %ptr.loc41 [concrete = constants.%ptr.5df] { // CHECK:STDOUT: %Outer.ref.loc41: type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer] -// CHECK:STDOUT: %ptr.loc41: type = ptr_type %Outer [concrete = constants.%ptr.5df] +// CHECK:STDOUT: %ptr.loc41: type = ptr_type %Outer.ref.loc41 [concrete = constants.%ptr.5df] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.5df = bind_name a, %a.param // CHECK:STDOUT: } @@ -234,7 +234,7 @@ fn F(a: Outer*) { // CHECK:STDOUT: %.loc42_21: type = splice_block %ptr.loc42 [concrete = constants.%ptr.36a] { // CHECK:STDOUT: %Outer.ref.loc42: type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, @Outer.%Inner.decl [concrete = constants.%Inner] -// CHECK:STDOUT: %ptr.loc42: type = ptr_type %Inner [concrete = constants.%ptr.36a] +// CHECK:STDOUT: %ptr.loc42: type = ptr_type %Inner.ref [concrete = constants.%ptr.36a] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %ptr.36a = bind_name b, %.loc42_29 // CHECK:STDOUT: %a.ref.loc44_3: %ptr.5df = name_ref a, %a diff --git a/toolchain/check/testdata/class/no_prelude/destroy_calls.carbon b/toolchain/check/testdata/class/no_prelude/destroy_calls.carbon index e8e60c240e17..6db36746934d 100644 --- a/toolchain/check/testdata/class/no_prelude/destroy_calls.carbon +++ b/toolchain/check/testdata/class/no_prelude/destroy_calls.carbon @@ -215,7 +215,7 @@ fn G() { F({}); } // CHECK:STDOUT: %self.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc16_29: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%WithAddr [concrete = constants.%WithAddr] -// CHECK:STDOUT: %ptr: type = ptr_type %WithAddr [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr = bind_name self, %self.param // 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 52ea8bbb6aed..a38dbf58ecbf 100644 --- a/toolchain/check/testdata/class/no_prelude/import_access.carbon +++ b/toolchain/check/testdata/class/no_prelude/import_access.carbon @@ -453,7 +453,7 @@ private class Redecl {} // CHECK:STDOUT: %c.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.loc4: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Forward.ref: type = name_ref Forward, imports.%Test.Forward [concrete = constants.%Forward] -// CHECK:STDOUT: %ptr: type = ptr_type %Forward [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Forward.ref [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %ptr = bind_name c, %c.param // 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 c27b22a19932..eec046c182d5 100644 --- a/toolchain/check/testdata/class/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/class/no_prelude/syntactic_merge.carbon @@ -1016,7 +1016,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const: type = const_type %C [concrete = constants.%const] +// CHECK:STDOUT: %const: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_11.1: %const = bind_symbolic_name a, 0 [symbolic = %a.loc6_11.2 (constants.%a)] // CHECK:STDOUT: } @@ -1025,8 +1025,8 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_15 [concrete = constants.%const] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const.loc18_22: type = const_type %C [concrete = constants.%const] -// CHECK:STDOUT: %const.loc18_15: type = const_type %const [concrete = constants.%const] +// CHECK:STDOUT: %const.loc18_22: type = const_type %C.ref [concrete = constants.%const] +// CHECK:STDOUT: %const.loc18_15: type = const_type %const.loc18_22 [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc18_11.1: %const = bind_symbolic_name a, 0 [symbolic = %a.loc18_11.2 (constants.%a)] // CHECK:STDOUT: } @@ -1101,7 +1101,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %self.param: %ptr.11f = value_param call_param0 // CHECK:STDOUT: %.loc17_26: type = splice_block %ptr [concrete = constants.%ptr.11f] { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] -// CHECK:STDOUT: %ptr: type = ptr_type %Base [concrete = constants.%ptr.11f] +// CHECK:STDOUT: %ptr: type = ptr_type %Base.ref [concrete = constants.%ptr.11f] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.11f = bind_name self, %self.param // CHECK:STDOUT: } @@ -1121,7 +1121,7 @@ fn Base.F[addr self: Base*]() { // CHECK:STDOUT: %self.param: %ptr.11f = value_param call_param0 // CHECK:STDOUT: %.loc7_23: type = splice_block %ptr [concrete = constants.%ptr.11f] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [concrete = constants.%Base] -// CHECK:STDOUT: %ptr: type = ptr_type %Base [concrete = constants.%ptr.11f] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.11f] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.11f = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/raw_self.carbon b/toolchain/check/testdata/class/raw_self.carbon index 3183c5517055..cd7a237b342f 100644 --- a/toolchain/check/testdata/class/raw_self.carbon +++ b/toolchain/check/testdata/class/raw_self.carbon @@ -65,7 +65,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %self.param.loc17_21: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc17_27: type = splice_block %ptr.loc17 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc17: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc17: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr.loc17: type = ptr_type %Self.ref.loc17 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc17_17: %ptr.e71 = bind_name self, %self.param.loc17_21 // CHECK:STDOUT: %self.param.loc17_36: %i32 = value_param call_param1 @@ -114,7 +114,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %self.param.loc12_17: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc12_23: type = splice_block %ptr.loc12 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc12: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc12: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr.loc12: type = ptr_type %Self.ref.loc12 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc12_13: %ptr.e71 = bind_name self, %self.param.loc12_17 // CHECK:STDOUT: %self.param.loc12_32: %i32 = value_param call_param1 diff --git a/toolchain/check/testdata/class/raw_self_type.carbon b/toolchain/check/testdata/class/raw_self_type.carbon index 2ffdf5ab785e..6b65e56c8dec 100644 --- a/toolchain/check/testdata/class/raw_self_type.carbon +++ b/toolchain/check/testdata/class/raw_self_type.carbon @@ -120,7 +120,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: %Self.var: ref %ptr.e71 = var r#Self // CHECK:STDOUT: %.loc13_21: type = splice_block %ptr.loc13 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc13: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc13: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr.loc13: type = ptr_type %Self.ref.loc13 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %Self: ref %ptr.e71 = bind_name r#Self, %Self.var // CHECK:STDOUT: name_binding_decl { @@ -133,7 +133,7 @@ fn MemberNamedSelf.F(x: Self, y: r#Self) {} // CHECK:STDOUT: assign %p.var, %.loc14_20 // CHECK:STDOUT: %.loc14_16: type = splice_block %ptr.loc14 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc14_12: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc14: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr.loc14: type = ptr_type %Self.ref.loc14_12 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr.e71 = bind_name p, %p.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/class/self.carbon b/toolchain/check/testdata/class/self.carbon index 396d2b0c8f14..6a05ede18de8 100644 --- a/toolchain/check/testdata/class/self.carbon +++ b/toolchain/check/testdata/class/self.carbon @@ -99,7 +99,7 @@ class Class { // CHECK:STDOUT: %self.param.loc15: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc15_27: type = splice_block %ptr.loc15 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc15: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc15: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr.loc15: type = ptr_type %Self.ref.loc15 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc15: %ptr.e71 = bind_name self, %self.param.loc15 // CHECK:STDOUT: %return.param.loc15: ref %i32 = out_param call_param1 @@ -134,7 +134,7 @@ class Class { // CHECK:STDOUT: %self.param.loc6: %ptr.e71 = value_param call_param0 // CHECK:STDOUT: %.loc6: type = splice_block %ptr.loc6 [concrete = constants.%ptr.e71] { // CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, constants.%Class [concrete = constants.%Class] -// CHECK:STDOUT: %ptr.loc6: type = ptr_type %Class [concrete = constants.%ptr.e71] +// CHECK:STDOUT: %ptr.loc6: type = ptr_type %Self.ref.loc6 [concrete = constants.%ptr.e71] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc6: %ptr.e71 = bind_name self, %self.param.loc6 // CHECK:STDOUT: %return.param.loc6: ref %i32 = out_param call_param1 diff --git a/toolchain/check/testdata/class/self_conversion.carbon b/toolchain/check/testdata/class/self_conversion.carbon index 08802bcecbc0..c2ca8aaf5527 100644 --- a/toolchain/check/testdata/class/self_conversion.carbon +++ b/toolchain/check/testdata/class/self_conversion.carbon @@ -109,7 +109,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %self.param.loc26: %ptr.11f = value_param call_param0 // CHECK:STDOUT: %.loc26_40: type = splice_block %ptr.loc26 [concrete = constants.%ptr.11f] { // CHECK:STDOUT: %Base.ref.loc26: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] -// CHECK:STDOUT: %ptr.loc26: type = ptr_type %Base [concrete = constants.%ptr.11f] +// CHECK:STDOUT: %ptr.loc26: type = ptr_type %Base.ref.loc26 [concrete = constants.%ptr.11f] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc26: %ptr.11f = bind_name self, %self.param.loc26 // CHECK:STDOUT: } @@ -124,7 +124,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %p.param: %ptr.404 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.404] { // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] -// CHECK:STDOUT: %ptr: type = ptr_type %Derived [concrete = constants.%ptr.404] +// CHECK:STDOUT: %ptr: type = ptr_type %Derived.ref [concrete = constants.%ptr.404] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.404 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -172,7 +172,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %self.param.loc19: %ptr.11f = value_param call_param0 // CHECK:STDOUT: %.loc19: type = splice_block %ptr.loc19 [concrete = constants.%ptr.11f] { // CHECK:STDOUT: %Base.ref.loc19: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] -// CHECK:STDOUT: %ptr.loc19: type = ptr_type %Base [concrete = constants.%ptr.11f] +// CHECK:STDOUT: %ptr.loc19: type = ptr_type %Base.ref.loc19 [concrete = constants.%ptr.11f] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc19: %ptr.11f = bind_name self, %self.param.loc19 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/virtual_modifiers.carbon b/toolchain/check/testdata/class/virtual_modifiers.carbon index baf35cda82f8..978eae9ec58f 100644 --- a/toolchain/check/testdata/class/virtual_modifiers.carbon +++ b/toolchain/check/testdata/class/virtual_modifiers.carbon @@ -1832,7 +1832,7 @@ class T2 { // CHECK:STDOUT: %self.param: %ptr.87b = value_param call_param0 // CHECK:STDOUT: %.loc5: type = splice_block %ptr [concrete = constants.%ptr.87b] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%T1 [concrete = constants.%T1] -// CHECK:STDOUT: %ptr: type = ptr_type %T1 [concrete = constants.%ptr.87b] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.87b] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.87b = bind_name self, %self.param // CHECK:STDOUT: } @@ -1856,7 +1856,7 @@ class T2 { // CHECK:STDOUT: %self.param: %ptr.63e = value_param call_param0 // CHECK:STDOUT: %.loc17_29: type = splice_block %ptr [concrete = constants.%ptr.63e] { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%T2 [concrete = constants.%T2] -// CHECK:STDOUT: %ptr: type = ptr_type %T2 [concrete = constants.%ptr.63e] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref [concrete = constants.%ptr.63e] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.63e = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/const/basic.carbon b/toolchain/check/testdata/const/basic.carbon index 7f0d3535b7ca..b9bdd47c5051 100644 --- a/toolchain/check/testdata/const/basic.carbon +++ b/toolchain/check/testdata/const/basic.carbon @@ -55,16 +55,16 @@ fn B(p: const (i32*)) -> const (i32*) { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc11_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc11_25: type = const_type %i32 [concrete = constants.%const.20a] -// CHECK:STDOUT: %ptr.loc11_34: type = ptr_type %const.20a [concrete = constants.%ptr.36b] -// CHECK:STDOUT: %ptr.loc11_35: type = ptr_type %ptr.36b [concrete = constants.%ptr.3bc] +// CHECK:STDOUT: %const.loc11_25: type = const_type %i32.loc11_31 [concrete = constants.%const.20a] +// CHECK:STDOUT: %ptr.loc11_34: type = ptr_type %const.loc11_25 [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %ptr.loc11_35: type = ptr_type %ptr.loc11_34 [concrete = constants.%ptr.3bc] // CHECK:STDOUT: %p.param: %ptr.3bc = value_param call_param0 // CHECK:STDOUT: %.loc11: type = splice_block %ptr.loc11_19 [concrete = constants.%ptr.3bc] { // CHECK:STDOUT: %int_32.loc11_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc11_9: type = const_type %i32 [concrete = constants.%const.20a] -// CHECK:STDOUT: %ptr.loc11_18: type = ptr_type %const.20a [concrete = constants.%ptr.36b] -// CHECK:STDOUT: %ptr.loc11_19: type = ptr_type %ptr.36b [concrete = constants.%ptr.3bc] +// CHECK:STDOUT: %const.loc11_9: type = const_type %i32.loc11_15 [concrete = constants.%const.20a] +// CHECK:STDOUT: %ptr.loc11_18: type = ptr_type %const.loc11_9 [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %ptr.loc11_19: type = ptr_type %ptr.loc11_18 [concrete = constants.%ptr.3bc] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.3bc = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.3bc = out_param call_param1 @@ -78,14 +78,14 @@ fn B(p: const (i32*)) -> const (i32*) { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc15_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc15_36: type = ptr_type %i32 [concrete = constants.%ptr.235] -// CHECK:STDOUT: %const.loc15_26: type = const_type %ptr.235 [concrete = constants.%const.12f] +// CHECK:STDOUT: %ptr.loc15_36: type = ptr_type %i32.loc15_33 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %const.loc15_26: type = const_type %ptr.loc15_36 [concrete = constants.%const.12f] // CHECK:STDOUT: %p.param: %const.12f = value_param call_param0 // CHECK:STDOUT: %.loc15: type = splice_block %const.loc15_9 [concrete = constants.%const.12f] { // CHECK:STDOUT: %int_32.loc15_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc15_19: type = ptr_type %i32 [concrete = constants.%ptr.235] -// CHECK:STDOUT: %const.loc15_9: type = const_type %ptr.235 [concrete = constants.%const.12f] +// CHECK:STDOUT: %ptr.loc15_19: type = ptr_type %i32.loc15_16 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %const.loc15_9: type = const_type %ptr.loc15_19 [concrete = constants.%const.12f] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %const.12f = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %const.12f = out_param call_param1 diff --git a/toolchain/check/testdata/const/collapse.carbon b/toolchain/check/testdata/const/collapse.carbon index 93ee1fd3d60c..49cb71aec9a5 100644 --- a/toolchain/check/testdata/const/collapse.carbon +++ b/toolchain/check/testdata/const/collapse.carbon @@ -51,17 +51,17 @@ fn F(p: const i32**) -> const (const i32)** { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc16_38: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16_38: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc16_32: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %const.loc16_25: type = const_type %const [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc16_42: type = ptr_type %const [concrete = constants.%ptr.36b] -// CHECK:STDOUT: %ptr.loc16_43: type = ptr_type %ptr.36b [concrete = constants.%ptr.3bc] +// CHECK:STDOUT: %const.loc16_32: type = const_type %i32.loc16_38 [concrete = constants.%const] +// CHECK:STDOUT: %const.loc16_25: type = const_type %const.loc16_32 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc16_42: type = ptr_type %const.loc16_25 [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %ptr.loc16_43: type = ptr_type %ptr.loc16_42 [concrete = constants.%ptr.3bc] // CHECK:STDOUT: %p.param: %ptr.3bc = value_param call_param0 // CHECK:STDOUT: %.loc16: type = splice_block %ptr.loc16_19 [concrete = constants.%ptr.3bc] { // CHECK:STDOUT: %int_32.loc16_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc16_9: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc16_18: type = ptr_type %const [concrete = constants.%ptr.36b] -// CHECK:STDOUT: %ptr.loc16_19: type = ptr_type %ptr.36b [concrete = constants.%ptr.3bc] +// CHECK:STDOUT: %const.loc16_9: type = const_type %i32.loc16_15 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc16_18: type = ptr_type %const.loc16_9 [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %ptr.loc16_19: type = ptr_type %ptr.loc16_18 [concrete = constants.%ptr.3bc] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.3bc = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.3bc = out_param call_param1 diff --git a/toolchain/check/testdata/const/fail_collapse.carbon b/toolchain/check/testdata/const/fail_collapse.carbon index a39efe9c05e9..cf2556d22804 100644 --- a/toolchain/check/testdata/const/fail_collapse.carbon +++ b/toolchain/check/testdata/const/fail_collapse.carbon @@ -60,16 +60,16 @@ fn G(p: const (const i32)**) -> i32** { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc15_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc15_36: type = ptr_type %i32 [concrete = constants.%ptr.235] -// CHECK:STDOUT: %ptr.loc15_37: type = ptr_type %ptr.235 [concrete = constants.%ptr.5d5] +// CHECK:STDOUT: %ptr.loc15_36: type = ptr_type %i32.loc15_33 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc15_37: type = ptr_type %ptr.loc15_36 [concrete = constants.%ptr.5d5] // CHECK:STDOUT: %p.param: %ptr.3bc = value_param call_param0 // CHECK:STDOUT: %.loc15: type = splice_block %ptr.loc15_27 [concrete = constants.%ptr.3bc] { // CHECK:STDOUT: %int_32.loc15_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc15_16: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %const.loc15_9: type = const_type %const [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc15_26: type = ptr_type %const [concrete = constants.%ptr.36b] -// CHECK:STDOUT: %ptr.loc15_27: type = ptr_type %ptr.36b [concrete = constants.%ptr.3bc] +// CHECK:STDOUT: %const.loc15_16: type = const_type %i32.loc15_22 [concrete = constants.%const] +// CHECK:STDOUT: %const.loc15_9: type = const_type %const.loc15_16 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc15_26: type = ptr_type %const.loc15_9 [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %ptr.loc15_27: type = ptr_type %ptr.loc15_26 [concrete = constants.%ptr.3bc] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.3bc = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.5d5 = out_param call_param1 diff --git a/toolchain/check/testdata/const/import.carbon b/toolchain/check/testdata/const/import.carbon index 84ea43c23859..263e3960fe49 100644 --- a/toolchain/check/testdata/const/import.carbon +++ b/toolchain/check/testdata/const/import.carbon @@ -71,7 +71,7 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %.loc6_12: type = splice_block %const.loc6 [concrete = constants.%const] { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc6: type = const_type %i32 [concrete = constants.%const] +// CHECK:STDOUT: %const.loc6: type = const_type %i32.loc6 [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a_ref: ref %const = bind_name a_ref, %a_ref.var // CHECK:STDOUT: name_binding_decl { @@ -82,8 +82,8 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %.loc7_25: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc7: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %ptr: type = ptr_type %const [concrete = constants.%ptr] +// CHECK:STDOUT: %const.loc7: type = const_type %i32.loc7 [concrete = constants.%const] +// CHECK:STDOUT: %ptr: type = ptr_type %const.loc7 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a_ptr_ref: ref %ptr = bind_name a_ptr_ref, %a_ptr_ref.var // CHECK:STDOUT: } @@ -141,8 +141,8 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %.loc6_17: type = splice_block %ptr.loc6 [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc6: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc6: type = ptr_type %const [concrete = constants.%ptr] +// CHECK:STDOUT: %const.loc6: type = const_type %i32.loc6 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc6: type = ptr_type %const.loc6 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %ptr = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { @@ -153,8 +153,8 @@ var a_ptr: const i32* = a_ptr_ref; // CHECK:STDOUT: %.loc7_21: type = splice_block %ptr.loc7 [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc7: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc7: type = ptr_type %const [concrete = constants.%ptr] +// CHECK:STDOUT: %const.loc7: type = const_type %i32.loc7 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc7: type = ptr_type %const.loc7 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a_ptr: ref %ptr = bind_name a_ptr, %a_ptr.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index f2a0a65a9686..a8eeaa4bb4fd 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -192,7 +192,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc6_29: type = splice_block %array_type.loc6_29.1 [symbolic = %array_type.loc6_29.2 (constants.%array_type.743)] { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type.loc6_29.1: type = array_type %int_3, %T [symbolic = %array_type.loc6_29.2 (constants.%array_type.743)] +// CHECK:STDOUT: %array_type.loc6_29.1: type = array_type %int_3, %T.ref.loc6_25 [symbolic = %array_type.loc6_29.2 (constants.%array_type.743)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%array_type.loc6_29.2 (%array_type.743) = bind_name a, %a.param // CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param call_param1 @@ -219,7 +219,7 @@ fn G() -> i32 { // CHECK:STDOUT: generic fn @F(%T.loc6_6.1: type) { // CHECK:STDOUT: %T.loc6_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %array_type.loc6_29.2: type = array_type constants.%int_3, @F.%T.loc6_6.2 (%T) [symbolic = %array_type.loc6_29.2 (constants.%array_type.743)] +// CHECK:STDOUT: %array_type.loc6_29.2: type = array_type constants.%int_3, %T.loc6_6.2 [symbolic = %array_type.loc6_29.2 (constants.%array_type.743)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_32: = require_complete_type @F.%T.loc6_6.2 (%T) [symbolic = %require_complete.loc6_32 (constants.%require_complete.4ae)] @@ -274,7 +274,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref.loc9: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %C [concrete = constants.%array_type.002] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %C.ref.loc9 [concrete = constants.%array_type.002] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type.002 = bind_name a, %a.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] @@ -387,7 +387,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc6_42: type = splice_block %array_type.loc6_42.1 [symbolic = %array_type.loc6_42.2 (constants.%array_type.6a2)] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %N.ref.loc6_41: Core.IntLiteral = name_ref N, %N.loc6_6.1 [symbolic = %N.loc6_6.2 (constants.%N)] -// CHECK:STDOUT: %array_type.loc6_42.1: type = array_type %N.ref.loc6_41, %C [symbolic = %array_type.loc6_42.2 (constants.%array_type.6a2)] +// CHECK:STDOUT: %array_type.loc6_42.1: type = array_type %N.ref.loc6_41, %C.ref [symbolic = %array_type.loc6_42.2 (constants.%array_type.6a2)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%array_type.loc6_42.2 (%array_type.6a2) = bind_name a, %a.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -415,7 +415,7 @@ fn G() -> i32 { // CHECK:STDOUT: generic fn @F(%N.loc6_6.1: Core.IntLiteral) { // CHECK:STDOUT: %N.loc6_6.2: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N.loc6_6.2 (constants.%N)] // CHECK:STDOUT: %N.patt.loc6_6.2: Core.IntLiteral = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc6_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %array_type.loc6_42.2: type = array_type %N.loc6_6.2, %C [symbolic = %array_type.loc6_42.2 (constants.%array_type.6a2)] +// CHECK:STDOUT: %array_type.loc6_42.2: type = array_type %N.loc6_6.2, constants.%C [symbolic = %array_type.loc6_42.2 (constants.%array_type.6a2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.%array_type.loc6_42.2 (%array_type.6a2) [symbolic = %require_complete (constants.%require_complete.d82)] @@ -466,7 +466,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %C [concrete = constants.%array_type.002] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %C.ref [concrete = constants.%array_type.002] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type.002 = bind_name a, %a.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] @@ -565,7 +565,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc6_52: type = splice_block %array_type.loc6_52.1 [symbolic = %array_type.loc6_52.2 (constants.%array_type.bb5)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %N.ref: Core.IntLiteral = name_ref N, %N.loc6_16.1 [symbolic = %N.loc6_16.2 (constants.%N)] -// CHECK:STDOUT: %array_type.loc6_52.1: type = array_type %N.ref, %T [symbolic = %array_type.loc6_52.2 (constants.%array_type.bb5)] +// CHECK:STDOUT: %array_type.loc6_52.1: type = array_type %N.ref, %T.ref [symbolic = %array_type.loc6_52.2 (constants.%array_type.bb5)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%array_type.loc6_52.2 (%array_type.bb5) = bind_name a, %a.param // CHECK:STDOUT: } @@ -585,7 +585,7 @@ fn G() -> i32 { // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] // CHECK:STDOUT: %N.loc6_16.2: Core.IntLiteral = bind_symbolic_name N, 1 [symbolic = %N.loc6_16.2 (constants.%N)] // CHECK:STDOUT: %N.patt.loc6_16.2: Core.IntLiteral = symbolic_binding_pattern N, 1 [symbolic = %N.patt.loc6_16.2 (constants.%N.patt)] -// CHECK:STDOUT: %array_type.loc6_52.2: type = array_type %N.loc6_16.2, @F.%T.loc6_6.2 (%T) [symbolic = %array_type.loc6_52.2 (constants.%array_type.bb5)] +// CHECK:STDOUT: %array_type.loc6_52.2: type = array_type %N.loc6_16.2, %T.loc6_6.2 [symbolic = %array_type.loc6_52.2 (constants.%array_type.bb5)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.%array_type.loc6_52.2 (%array_type.bb5) [symbolic = %require_complete (constants.%require_complete)] @@ -625,7 +625,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %C [concrete = constants.%array_type.002] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %C.ref [concrete = constants.%array_type.002] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type.002 = bind_name a, %a.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] @@ -727,7 +727,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc6_29: type = splice_block %array_type.loc6_29.1 [symbolic = %array_type.loc6_29.2 (constants.%array_type.9d4)] { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] -// CHECK:STDOUT: %array_type.loc6_29.1: type = array_type %int_2, %T [symbolic = %array_type.loc6_29.2 (constants.%array_type.9d4)] +// CHECK:STDOUT: %array_type.loc6_29.1: type = array_type %int_2, %T.ref.loc6_25 [symbolic = %array_type.loc6_29.2 (constants.%array_type.9d4)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%array_type.loc6_29.2 (%array_type.9d4) = bind_name a, %a.param // CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param call_param1 @@ -754,7 +754,7 @@ fn G() -> i32 { // CHECK:STDOUT: generic fn @F(%T.loc6_6.1: type) { // CHECK:STDOUT: %T.loc6_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %array_type.loc6_29.2: type = array_type constants.%int_2, @F.%T.loc6_6.2 (%T) [symbolic = %array_type.loc6_29.2 (constants.%array_type.9d4)] +// CHECK:STDOUT: %array_type.loc6_29.2: type = array_type constants.%int_2, %T.loc6_6.2 [symbolic = %array_type.loc6_29.2 (constants.%array_type.9d4)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_32: = require_complete_type @F.%T.loc6_6.2 (%T) [symbolic = %require_complete.loc6_32 (constants.%require_complete.4ae)] @@ -809,7 +809,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc10_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref.loc10: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %C [concrete = constants.%array_type.002] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %C.ref.loc10 [concrete = constants.%array_type.002] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type.002 = bind_name a, %a.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] @@ -926,7 +926,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc7_42: type = splice_block %array_type.loc7_42.1 [symbolic = %array_type.loc7_42.2 (constants.%array_type.6a2)] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %N.ref.loc7_41: Core.IntLiteral = name_ref N, %N.loc7_6.1 [symbolic = %N.loc7_6.2 (constants.%N)] -// CHECK:STDOUT: %array_type.loc7_42.1: type = array_type %N.ref.loc7_41, %C [symbolic = %array_type.loc7_42.2 (constants.%array_type.6a2)] +// CHECK:STDOUT: %array_type.loc7_42.1: type = array_type %N.ref.loc7_41, %C.ref [symbolic = %array_type.loc7_42.2 (constants.%array_type.6a2)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%array_type.loc7_42.2 (%array_type.6a2) = bind_name a, %a.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -962,7 +962,7 @@ fn G() -> i32 { // CHECK:STDOUT: generic fn @F(%N.loc7_6.1: Core.IntLiteral) { // CHECK:STDOUT: %N.loc7_6.2: Core.IntLiteral = bind_symbolic_name N, 0 [symbolic = %N.loc7_6.2 (constants.%N)] // CHECK:STDOUT: %N.patt.loc7_6.2: Core.IntLiteral = symbolic_binding_pattern N, 0 [symbolic = %N.patt.loc7_6.2 (constants.%N.patt)] -// CHECK:STDOUT: %array_type.loc7_42.2: type = array_type %N.loc7_6.2, %C [symbolic = %array_type.loc7_42.2 (constants.%array_type.6a2)] +// CHECK:STDOUT: %array_type.loc7_42.2: type = array_type %N.loc7_6.2, constants.%C [symbolic = %array_type.loc7_42.2 (constants.%array_type.6a2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.%array_type.loc7_42.2 (%array_type.6a2) [symbolic = %require_complete (constants.%require_complete.d82)] @@ -1013,7 +1013,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc11_20: type = splice_block %array_type [concrete = constants.%array_type.fe4] { // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %D [concrete = constants.%array_type.fe4] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %D.ref [concrete = constants.%array_type.fe4] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type.fe4 = bind_name a, %a.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] @@ -1124,7 +1124,7 @@ fn G() -> i32 { // CHECK:STDOUT: %int.convert_checked.loc6_27.1: init Core.IntLiteral = call %bound_method.loc6_27.2(%N.ref.loc6_27) [symbolic = %int.convert_checked.loc6_27.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc6_27.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc6_27.1 [symbolic = %int.convert_checked.loc6_27.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc6_27.2: Core.IntLiteral = converted %N.ref.loc6_27, %.loc6_27.1 [symbolic = %int.convert_checked.loc6_27.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc6_28.1: type = array_type %.loc6_27.2, %C [symbolic = %array_type.loc6_28.2 (constants.%array_type.b2f)] +// CHECK:STDOUT: %array_type.loc6_28.1: type = array_type %.loc6_27.2, %C.ref [symbolic = %array_type.loc6_28.2 (constants.%array_type.b2f)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%array_type.loc6_28.2 (%array_type.b2f) = bind_name a, %a.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -1155,7 +1155,7 @@ fn G() -> i32 { // CHECK:STDOUT: %Convert.bound: = bound_method %N.loc6_6.2, constants.%Convert.960 [symbolic = %Convert.bound (constants.%Convert.bound)] // CHECK:STDOUT: %bound_method.loc6_27.3: = bound_method %N.loc6_6.2, constants.%Convert.specific_fn [symbolic = %bound_method.loc6_27.3 (constants.%bound_method)] // CHECK:STDOUT: %int.convert_checked.loc6_27.2: init Core.IntLiteral = call %bound_method.loc6_27.3(%N.loc6_6.2) [symbolic = %int.convert_checked.loc6_27.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc6_28.2: type = array_type %int.convert_checked.loc6_27.2, %C [symbolic = %array_type.loc6_28.2 (constants.%array_type.b2f)] +// CHECK:STDOUT: %array_type.loc6_28.2: type = array_type %int.convert_checked.loc6_27.2, constants.%C [symbolic = %array_type.loc6_28.2 (constants.%array_type.b2f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.%array_type.loc6_28.2 (%array_type.b2f) [symbolic = %require_complete (constants.%require_complete.cde)] @@ -1196,7 +1196,7 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc9_20: type = splice_block %array_type [concrete = constants.%array_type.002] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %C [concrete = constants.%array_type.002] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %C.ref [concrete = constants.%array_type.002] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type.002 = bind_name a, %a.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] diff --git a/toolchain/check/testdata/deduce/type_operator.carbon b/toolchain/check/testdata/deduce/type_operator.carbon index dc66fccf980f..914d06346f46 100644 --- a/toolchain/check/testdata/deduce/type_operator.carbon +++ b/toolchain/check/testdata/deduce/type_operator.carbon @@ -112,7 +112,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %p.param: @F.%ptr.loc6_20.2 (%ptr.79f) = value_param call_param0 // CHECK:STDOUT: %.loc6_20: type = splice_block %ptr.loc6_20.1 [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] { // CHECK:STDOUT: %T.ref.loc6_19: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc6_20.1: type = ptr_type %T [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc6_20.1: type = ptr_type %T.ref.loc6_19 [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: @F.%ptr.loc6_20.2 (%ptr.79f) = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param call_param1 @@ -128,7 +128,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %p.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc8_10: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc8_9: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc8_9 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.019 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %C = out_param call_param1 @@ -147,7 +147,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: generic fn @F(%T.loc6_6.1: type) { // CHECK:STDOUT: %T.loc6_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc6_20.2: type = ptr_type @F.%T.loc6_6.2 (%T) [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc6_20.2: type = ptr_type %T.loc6_6.2 [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_23: = require_complete_type @F.%T.loc6_6.2 (%T) [symbolic = %require_complete.loc6_23 (constants.%require_complete.4ae)] @@ -251,8 +251,8 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %p.param: @F.%ptr.loc6_26.2 (%ptr.6d4) = value_param call_param0 // CHECK:STDOUT: %.loc6_26: type = splice_block %ptr.loc6_26.1 [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %const.loc6_19.1: type = const_type %T [symbolic = %const.loc6_19.2 (constants.%const.a1a)] -// CHECK:STDOUT: %ptr.loc6_26.1: type = ptr_type %const.a1a [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] +// CHECK:STDOUT: %const.loc6_19.1: type = const_type %T.ref.loc6_25 [symbolic = %const.loc6_19.2 (constants.%const.a1a)] +// CHECK:STDOUT: %ptr.loc6_26.1: type = ptr_type %const.loc6_19.1 [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: @F.%ptr.loc6_26.2 (%ptr.6d4) = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param call_param1 @@ -268,8 +268,8 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %p.param: %ptr.801 = value_param call_param0 // CHECK:STDOUT: %.loc8_16: type = splice_block %ptr [concrete = constants.%ptr.801] { // CHECK:STDOUT: %C.ref.loc8_15: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const: type = const_type %C [concrete = constants.%const.668] -// CHECK:STDOUT: %ptr: type = ptr_type %const.668 [concrete = constants.%ptr.801] +// CHECK:STDOUT: %const: type = const_type %C.ref.loc8_15 [concrete = constants.%const.668] +// CHECK:STDOUT: %ptr: type = ptr_type %const [concrete = constants.%ptr.801] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.801 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %C = out_param call_param1 @@ -288,8 +288,8 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: generic fn @F(%T.loc6_6.1: type) { // CHECK:STDOUT: %T.loc6_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %const.loc6_19.2: type = const_type @F.%T.loc6_6.2 (%T) [symbolic = %const.loc6_19.2 (constants.%const.a1a)] -// CHECK:STDOUT: %ptr.loc6_26.2: type = ptr_type @F.%const.loc6_19.2 (%const.a1a) [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] +// CHECK:STDOUT: %const.loc6_19.2: type = const_type %T.loc6_6.2 [symbolic = %const.loc6_19.2 (constants.%const.a1a)] +// CHECK:STDOUT: %ptr.loc6_26.2: type = ptr_type %const.loc6_19.2 [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_29: = require_complete_type @F.%T.loc6_6.2 (%T) [symbolic = %require_complete.loc6_29 (constants.%require_complete.4ae)] @@ -394,7 +394,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %p.param: @F.%ptr.loc6_20.2 (%ptr.79f) = value_param call_param0 // CHECK:STDOUT: %.loc6_20: type = splice_block %ptr.loc6_20.1 [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] { // CHECK:STDOUT: %T.ref.loc6_19: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc6_20.1: type = ptr_type %T [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc6_20.1: type = ptr_type %T.ref.loc6_19 [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: @F.%ptr.loc6_20.2 (%ptr.79f) = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param call_param1 @@ -407,12 +407,12 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %return.param_patt: %const = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_28: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const.loc8_22: type = const_type %C [concrete = constants.%const] +// CHECK:STDOUT: %const.loc8_22: type = const_type %C.ref.loc8_28 [concrete = constants.%const] // CHECK:STDOUT: %p.param: %ptr.801 = value_param call_param0 // CHECK:STDOUT: %.loc8_16: type = splice_block %ptr [concrete = constants.%ptr.801] { // CHECK:STDOUT: %C.ref.loc8_15: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const.loc8_9: type = const_type %C [concrete = constants.%const] -// CHECK:STDOUT: %ptr: type = ptr_type %const [concrete = constants.%ptr.801] +// CHECK:STDOUT: %const.loc8_9: type = const_type %C.ref.loc8_15 [concrete = constants.%const] +// CHECK:STDOUT: %ptr: type = ptr_type %const.loc8_9 [concrete = constants.%ptr.801] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.801 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %const = out_param call_param1 @@ -431,7 +431,7 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: generic fn @F(%T.loc6_6.1: type) { // CHECK:STDOUT: %T.loc6_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc6_20.2: type = ptr_type @F.%T.loc6_6.2 (%T) [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc6_20.2: type = ptr_type %T.loc6_6.2 [symbolic = %ptr.loc6_20.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_23: = require_complete_type @F.%T.loc6_6.2 (%T) [symbolic = %require_complete.loc6_23 (constants.%require_complete.4ae)] @@ -533,8 +533,8 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %p.param: @F.%ptr.loc6_26.2 (%ptr.6d4) = value_param call_param0 // CHECK:STDOUT: %.loc6_26: type = splice_block %ptr.loc6_26.1 [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] { // CHECK:STDOUT: %T.ref.loc6_25: type = name_ref T, %T.loc6_6.1 [symbolic = %T.loc6_6.2 (constants.%T)] -// CHECK:STDOUT: %const.loc6_19.1: type = const_type %T [symbolic = %const.loc6_19.2 (constants.%const.a1a)] -// CHECK:STDOUT: %ptr.loc6_26.1: type = ptr_type %const.a1a [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] +// CHECK:STDOUT: %const.loc6_19.1: type = const_type %T.ref.loc6_25 [symbolic = %const.loc6_19.2 (constants.%const.a1a)] +// CHECK:STDOUT: %ptr.loc6_26.1: type = ptr_type %const.loc6_19.1 [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: @F.%ptr.loc6_26.2 (%ptr.6d4) = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref @F.%T.loc6_6.2 (%T) = out_param call_param1 @@ -547,11 +547,11 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: %return.param_patt: %const.668 = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref.loc8_22: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const: type = const_type %C [concrete = constants.%const.668] +// CHECK:STDOUT: %const: type = const_type %C.ref.loc8_22 [concrete = constants.%const.668] // CHECK:STDOUT: %p.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc8: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc8_9: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc8_9 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.019 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %const.668 = out_param call_param1 @@ -570,8 +570,8 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: generic fn @F(%T.loc6_6.1: type) { // CHECK:STDOUT: %T.loc6_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %const.loc6_19.2: type = const_type @F.%T.loc6_6.2 (%T) [symbolic = %const.loc6_19.2 (constants.%const.a1a)] -// CHECK:STDOUT: %ptr.loc6_26.2: type = ptr_type @F.%const.loc6_19.2 (%const.a1a) [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] +// CHECK:STDOUT: %const.loc6_19.2: type = const_type %T.loc6_6.2 [symbolic = %const.loc6_19.2 (constants.%const.a1a)] +// CHECK:STDOUT: %ptr.loc6_26.2: type = ptr_type %const.loc6_19.2 [symbolic = %ptr.loc6_26.2 (constants.%ptr.6d4)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_29: = require_complete_type @F.%T.loc6_6.2 (%T) [symbolic = %require_complete.loc6_29 (constants.%require_complete.4ae)] diff --git a/toolchain/check/testdata/eval/aggregate.carbon b/toolchain/check/testdata/eval/aggregate.carbon index e296a048fe8d..d781158da052 100644 --- a/toolchain/check/testdata/eval/aggregate.carbon +++ b/toolchain/check/testdata/eval/aggregate.carbon @@ -122,7 +122,7 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %array_type.loc15: type = array_type %int_1.loc15, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc15: type = array_type %int_1.loc15, %i32.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %tuple_index: ref %array_type = bind_name tuple_index, %tuple_index.var // CHECK:STDOUT: name_binding_decl { @@ -134,7 +134,7 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %array_type.loc17: type = array_type %int_1.loc17, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc17: type = array_type %int_1.loc17, %i32.loc17 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %struct_access: ref %array_type = bind_name struct_access, %struct_access.var // CHECK:STDOUT: } @@ -234,7 +234,7 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %tuple.loc15: %tuple.type.d46 = tuple_value (%int_5, %int_7, %int_1.loc15, %int_9) [concrete = constants.%tuple.869] // CHECK:STDOUT: %.loc15_64.2: %tuple.type.d46 = converted %.loc15_64.1, %tuple.loc15 [concrete = constants.%tuple.869] // CHECK:STDOUT: %tuple.elem2: Core.IntLiteral = tuple_access %.loc15_64.2, element2 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %array_type.loc15: type = array_type %tuple.elem2, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc15: type = array_type %tuple.elem2, %i32.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: %impl.elem0.loc15: %.be7 = impl_witness_access constants.%impl_witness.d39, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc15_37.1: = bound_method %int_0.loc15_35, %impl.elem0.loc15 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] @@ -258,7 +258,7 @@ var struct_access: array(i32, 1) = (0,) as array(i32, {.a = 3, .b = 1}.b); // CHECK:STDOUT: %struct.loc17: %struct_type.a.b = struct_value (%int_3.loc17, %int_1.loc17) [concrete = constants.%struct.a81] // CHECK:STDOUT: %.loc17_70.2: %struct_type.a.b = converted %.loc17_70.1, %struct.loc17 [concrete = constants.%struct.a81] // CHECK:STDOUT: %.loc17_71: Core.IntLiteral = struct_access %.loc17_70.2, element1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %array_type.loc17: type = array_type %.loc17_71, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc17: type = array_type %.loc17_71, %i32.loc17 [concrete = constants.%array_type] // CHECK:STDOUT: %impl.elem0.loc17: %.be7 = impl_witness_access constants.%impl_witness.d39, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc17_39.1: = bound_method %int_0.loc17_37, %impl.elem0.loc17 [concrete = constants.%Convert.bound.d04] // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] diff --git a/toolchain/check/testdata/eval/fail_aggregate.carbon b/toolchain/check/testdata/eval/fail_aggregate.carbon index d1b758f9dad5..b16e7595db81 100644 --- a/toolchain/check/testdata/eval/fail_aggregate.carbon +++ b/toolchain/check/testdata/eval/fail_aggregate.carbon @@ -102,7 +102,7 @@ var array_index: array(i32, 1) = (0,) as array(i32, ((5, 7, 1, 9) as array(i32, // CHECK:STDOUT: %int_32.loc17_76: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17_76: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] -// CHECK:STDOUT: %array_type: type = array_type %int_4, %i32 [concrete = constants.%array_type.f32] +// CHECK:STDOUT: %array_type: type = array_type %int_4, %i32.loc17_76 [concrete = constants.%array_type.f32] // CHECK:STDOUT: %impl.elem0.loc17_65.1: %.be7 = impl_witness_access constants.%impl_witness.d39, element0 [concrete = constants.%Convert.956] // CHECK:STDOUT: %bound_method.loc17_65.1: = bound_method %int_5, %impl.elem0.loc17_65.1 [concrete = constants.%Convert.bound.4e6] // CHECK:STDOUT: %specific_fn.loc17_65.1: = specific_function %impl.elem0.loc17_65.1, @Convert.2(constants.%int_32) [concrete = constants.%Convert.specific_fn] diff --git a/toolchain/check/testdata/eval/symbolic.carbon b/toolchain/check/testdata/eval/symbolic.carbon index 911949f7c696..892709f37c5b 100644 --- a/toolchain/check/testdata/eval/symbolic.carbon +++ b/toolchain/check/testdata/eval/symbolic.carbon @@ -94,13 +94,13 @@ fn G(N:! i32) { // CHECK:STDOUT: %T.patt.loc12_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_6.2 (constants.%T.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %ptr.loc13_12.2: type = ptr_type @F.%T.loc12_6.2 (%T) [symbolic = %ptr.loc13_12.2 (constants.%ptr.79f)] -// CHECK:STDOUT: %const.loc13_15.2: type = const_type @F.%T.loc12_6.2 (%T) [symbolic = %const.loc13_15.2 (constants.%const)] +// CHECK:STDOUT: %ptr.loc13_12.2: type = ptr_type %T.loc12_6.2 [symbolic = %ptr.loc13_12.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %const.loc13_15.2: type = const_type %T.loc12_6.2 [symbolic = %const.loc13_15.2 (constants.%const)] // CHECK:STDOUT: %tuple.type: type = tuple_type (@F.%ptr.loc13_12.2 (%ptr.79f), @F.%const.loc13_15.2 (%const)) [symbolic = %tuple.type (constants.%tuple.type.4f2)] // CHECK:STDOUT: %require_complete.loc13: = require_complete_type @F.%tuple.type (%tuple.type.4f2) [symbolic = %require_complete.loc13 (constants.%require_complete.155)] // CHECK:STDOUT: %struct_type.a.loc14_16.2: type = struct_type {.a: @F.%T.loc12_6.2 (%T)} [symbolic = %struct_type.a.loc14_16.2 (constants.%struct_type.a)] // CHECK:STDOUT: %require_complete.loc14: = require_complete_type @F.%struct_type.a.loc14_16.2 (%struct_type.a) [symbolic = %require_complete.loc14 (constants.%require_complete.28a)] -// CHECK:STDOUT: %array_type.loc15_20.2: type = array_type constants.%int_5, @F.%T.loc12_6.2 (%T) [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] +// CHECK:STDOUT: %array_type.loc15_20.2: type = array_type constants.%int_5, %T.loc12_6.2 [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] // CHECK:STDOUT: %require_complete.loc15: = require_complete_type @F.%array_type.loc15_20.2 (%array_type.ec2) [symbolic = %require_complete.loc15 (constants.%require_complete.fe1)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%T.patt.loc12_6.1: type) { @@ -112,9 +112,9 @@ fn G(N:! i32) { // CHECK:STDOUT: %u.var: ref @F.%tuple.type (%tuple.type.4f2) = var u // CHECK:STDOUT: %.loc13_22.1: type = splice_block %.loc13_22.3 [symbolic = %tuple.type (constants.%tuple.type.4f2)] { // CHECK:STDOUT: %T.ref.loc13_11: type = name_ref T, %T.loc12_6.1 [symbolic = %T.loc12_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc13_12.1: type = ptr_type %T [symbolic = %ptr.loc13_12.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc13_12.1: type = ptr_type %T.ref.loc13_11 [symbolic = %ptr.loc13_12.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.ref.loc13_21: type = name_ref T, %T.loc12_6.1 [symbolic = %T.loc12_6.2 (constants.%T)] -// CHECK:STDOUT: %const.loc13_15.1: type = const_type %T [symbolic = %const.loc13_15.2 (constants.%const)] +// CHECK:STDOUT: %const.loc13_15.1: type = const_type %T.ref.loc13_21 [symbolic = %const.loc13_15.2 (constants.%const)] // CHECK:STDOUT: %.loc13_22.2: %tuple.type.24b = tuple_literal (%ptr.loc13_12.1, %const.loc13_15.1) // CHECK:STDOUT: %.loc13_22.3: type = converted %.loc13_22.2, constants.%tuple.type.4f2 [symbolic = %tuple.type (constants.%tuple.type.4f2)] // CHECK:STDOUT: } @@ -137,7 +137,7 @@ fn G(N:! i32) { // CHECK:STDOUT: %.loc15_20: type = splice_block %array_type.loc15_20.1 [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] { // CHECK:STDOUT: %T.ref.loc15: type = name_ref T, %T.loc12_6.1 [symbolic = %T.loc12_6.2 (constants.%T)] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] -// CHECK:STDOUT: %array_type.loc15_20.1: type = array_type %int_5, %T [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] +// CHECK:STDOUT: %array_type.loc15_20.1: type = array_type %int_5, %T.ref.loc15 [symbolic = %array_type.loc15_20.2 (constants.%array_type.ec2)] // CHECK:STDOUT: } // CHECK:STDOUT: %w: ref @F.%array_type.loc15_20.2 (%array_type.ec2) = bind_name w, %w.var // CHECK:STDOUT: return @@ -152,7 +152,7 @@ fn G(N:! i32) { // CHECK:STDOUT: %Convert.bound: = bound_method %N.loc18_6.2, constants.%Convert.960 [symbolic = %Convert.bound (constants.%Convert.bound)] // CHECK:STDOUT: %bound_method.loc19_21.3: = bound_method %N.loc18_6.2, constants.%Convert.specific_fn [symbolic = %bound_method.loc19_21.3 (constants.%bound_method)] // CHECK:STDOUT: %int.convert_checked.loc19_21.2: init Core.IntLiteral = call %bound_method.loc19_21.3(%N.loc18_6.2) [symbolic = %int.convert_checked.loc19_21.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc19_22.2: type = array_type %int.convert_checked.loc19_21.2, %i32 [symbolic = %array_type.loc19_22.2 (constants.%array_type.c7c)] +// CHECK:STDOUT: %array_type.loc19_22.2: type = array_type %int.convert_checked.loc19_21.2, constants.%i32 [symbolic = %array_type.loc19_22.2 (constants.%array_type.c7c)] // CHECK:STDOUT: %require_complete: = require_complete_type @G.%array_type.loc19_22.2 (%array_type.c7c) [symbolic = %require_complete (constants.%require_complete.7cb)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%N.patt.loc18_6.1: %i32) { @@ -173,7 +173,7 @@ fn G(N:! i32) { // CHECK:STDOUT: %int.convert_checked.loc19_21.1: init Core.IntLiteral = call %bound_method.loc19_21.2(%N.ref) [symbolic = %int.convert_checked.loc19_21.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc19_21.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc19_21.1 [symbolic = %int.convert_checked.loc19_21.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc19_21.2: Core.IntLiteral = converted %N.ref, %.loc19_21.1 [symbolic = %int.convert_checked.loc19_21.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc19_22.1: type = array_type %.loc19_21.2, %i32 [symbolic = %array_type.loc19_22.2 (constants.%array_type.c7c)] +// CHECK:STDOUT: %array_type.loc19_22.1: type = array_type %.loc19_21.2, %i32.loc19 [symbolic = %array_type.loc19_22.2 (constants.%array_type.c7c)] // CHECK:STDOUT: } // CHECK:STDOUT: %k: ref @G.%array_type.loc19_22.2 (%array_type.c7c) = bind_name k, %k.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index a9b65995b578..e62bdf540141 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -139,7 +139,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %int.convert_checked.loc19_39: init Core.IntLiteral = call %bound_method.loc19_39.2(%.loc19_39.2) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc19_39.3: Core.IntLiteral = value_of_initializer %int.convert_checked.loc19_39 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc19_39.4: Core.IntLiteral = converted %int.sadd, %.loc19_39.3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %.loc19_39.4, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %.loc19_39.4, %i32.loc19_16 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref %array_type = bind_name arr, %arr.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon index 2f876d9c03cc..2dbbed9d15c9 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/call_from_operator.carbon @@ -748,7 +748,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %int.convert_checked.loc4_32: init Core.IntLiteral = call %bound_method.loc4_32.2(%.loc4_32.2) [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc4_32.3: Core.IntLiteral = value_of_initializer %int.convert_checked.loc4_32 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc4_32.4: Core.IntLiteral = converted %int.sadd, %.loc4_32.3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %.loc4_32.4, %i32.builtin [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %.loc4_32.4, %.loc4_16.2 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref %array_type = bind_name arr, %arr.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/no_prelude/import.carbon b/toolchain/check/testdata/function/builtin/no_prelude/import.carbon index 76a1de58672e..d5a8031d2c96 100644 --- a/toolchain/check/testdata/function/builtin/no_prelude/import.carbon +++ b/toolchain/check/testdata/function/builtin/no_prelude/import.carbon @@ -237,7 +237,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %.loc4_16.2: type = converted %int.make_type_signed, %.loc4_16.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc4_81.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc4_81 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc4_81.2: Core.IntLiteral = converted %int.convert_checked.loc4_81, %.loc4_81.1 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %.loc4_81.2, %i32.builtin [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %.loc4_81.2, %.loc4_16.2 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref %array_type = bind_name arr, %arr.var // 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 cbdd4704988b..de7cf0cf3527 100644 --- a/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/function/definition/no_prelude/syntactic_merge.carbon @@ -911,7 +911,7 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %a.param: %const = value_param call_param0 // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const: type = const_type %C [concrete = constants.%const] +// CHECK:STDOUT: %const: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %const = bind_name a, %a.param // CHECK:STDOUT: } @@ -922,8 +922,8 @@ fn Foo(a: const (const C)) {} // CHECK:STDOUT: %a.param: %const = value_param call_param0 // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_11 [concrete = constants.%const] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const.loc18_18: type = const_type %C [concrete = constants.%const] -// CHECK:STDOUT: %const.loc18_11: type = const_type %const [concrete = constants.%const] +// CHECK:STDOUT: %const.loc18_18: type = const_type %C.ref [concrete = constants.%const] +// CHECK:STDOUT: %const.loc18_11: type = const_type %const.loc18_18 [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %const = bind_name a, %a.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index 2d4b406234ff..2cf1ab0796a9 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -281,7 +281,7 @@ fn F() { // CHECK:STDOUT: %return.param_patt: @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr.79f) = out_param_pattern %return.patt, call_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: %ptr.loc4_39.1: type = ptr_type %T [symbolic = %ptr.loc4_39.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_39.1: type = ptr_type %T.ref.loc4_38 [symbolic = %ptr.loc4_39.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr.79f) = out_param call_param0 // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr.79f) = return_slot %return.param @@ -292,7 +292,7 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc6 [concrete = constants.%ptr.235] // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param0 // CHECK:STDOUT: %return: ref %ptr.235 = return_slot %return.param // CHECK:STDOUT: } @@ -303,7 +303,7 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc10: type = name_ref T, %T.loc10_43.1 [symbolic = %T.loc10_43.2 (constants.%T)] // CHECK:STDOUT: %struct_type.a.loc10_62.1: type = struct_type {.a: %T} [symbolic = %struct_type.a.loc10_62.2 (constants.%struct_type.a)] -// CHECK:STDOUT: %ptr.loc10_63.1: type = ptr_type %struct_type.a [symbolic = %ptr.loc10_63.2 (constants.%ptr.48a)] +// CHECK:STDOUT: %ptr.loc10_63.1: type = ptr_type %struct_type.a.loc10_62.1 [symbolic = %ptr.loc10_63.2 (constants.%ptr.48a)] // CHECK:STDOUT: %T.loc10_43.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_43.2 (constants.%T)] // CHECK:STDOUT: %return.param: ref @CallExplicitGenericParamWithGenericArg.%ptr.loc10_63.2 (%ptr.48a) = out_param call_param0 // CHECK:STDOUT: %return: ref @CallExplicitGenericParamWithGenericArg.%ptr.loc10_63.2 (%ptr.48a) = return_slot %return.param @@ -313,7 +313,7 @@ fn F() { // CHECK:STDOUT: generic fn @ExplicitGenericParam(%T.loc4_25.1: type) { // CHECK:STDOUT: %T.loc4_25.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc4_25.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type @ExplicitGenericParam.%T.loc4_25.2 (%T) [symbolic = %ptr.loc4_39.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type %T.loc4_25.2 [symbolic = %ptr.loc4_39.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr.79f) [symbolic = %require_complete (constants.%require_complete.6e5)] @@ -347,7 +347,7 @@ fn F() { // CHECK:STDOUT: %T.loc10_43.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc10_43.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc10_43.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc10_43.2 (constants.%T.patt)] // CHECK:STDOUT: %struct_type.a.loc10_62.2: type = struct_type {.a: @CallExplicitGenericParamWithGenericArg.%T.loc10_43.2 (%T)} [symbolic = %struct_type.a.loc10_62.2 (constants.%struct_type.a)] -// CHECK:STDOUT: %ptr.loc10_63.2: type = ptr_type @CallExplicitGenericParamWithGenericArg.%struct_type.a.loc10_62.2 (%struct_type.a) [symbolic = %ptr.loc10_63.2 (constants.%ptr.48a)] +// CHECK:STDOUT: %ptr.loc10_63.2: type = ptr_type %struct_type.a.loc10_62.2 [symbolic = %ptr.loc10_63.2 (constants.%ptr.48a)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @CallExplicitGenericParamWithGenericArg.%ptr.loc10_63.2 (%ptr.48a) [symbolic = %require_complete (constants.%require_complete.86d)] @@ -444,7 +444,7 @@ fn F() { // CHECK:STDOUT: %return.param_patt: @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr) = out_param_pattern %return.patt, call_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: %ptr.loc4_39.1: type = ptr_type %T [symbolic = %ptr.loc4_39.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc4_39.1: type = ptr_type %T.ref.loc4_38 [symbolic = %ptr.loc4_39.2 (constants.%ptr)] // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr) = out_param call_param0 // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr) = return_slot %return.param @@ -466,7 +466,7 @@ fn F() { // CHECK:STDOUT: generic fn @ExplicitGenericParam(%T.loc4_25.1: type) { // CHECK:STDOUT: %T.loc4_25.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc4_25.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type @ExplicitGenericParam.%T.loc4_25.2 (%T) [symbolic = %ptr.loc4_39.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type %T.loc4_25.2 [symbolic = %ptr.loc4_39.2 (constants.%ptr)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @ExplicitGenericParam.%ptr.loc4_39.2 (%ptr) [symbolic = %require_complete (constants.%require_complete)] @@ -490,7 +490,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %ExplicitGenericParam.specific_fn.loc7_3.2: = specific_function constants.%ExplicitGenericParam, @ExplicitGenericParam(%T.loc6_34.2) [symbolic = %ExplicitGenericParam.specific_fn.loc7_3.2 (constants.%ExplicitGenericParam.specific_fn)] -// CHECK:STDOUT: %ptr: type = ptr_type @CallExplicitGenericParamConst.%T.loc6_34.2 (%T) [symbolic = %ptr (constants.%ptr)] +// CHECK:STDOUT: %ptr: type = ptr_type %T.loc6_34.2 [symbolic = %ptr (constants.%ptr)] // CHECK:STDOUT: %require_complete: = require_complete_type @CallExplicitGenericParamConst.%ptr (%ptr) [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%T.patt.loc6_34.1: type) { @@ -575,7 +575,7 @@ fn F() { // CHECK:STDOUT: %return.param_patt: @ExplicitAndAlsoDeduced.%ptr.loc6_47.2 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_46: type = name_ref T, %T.loc6_27.1 [symbolic = %T.loc6_27.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc6_47.1: type = ptr_type %T [symbolic = %ptr.loc6_47.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc6_47.1: type = ptr_type %T.ref.loc6_46 [symbolic = %ptr.loc6_47.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc6_27.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_27.2 (constants.%T)] // CHECK:STDOUT: %x.param: @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc6_40: type = name_ref T, %T.loc6_27.1 [symbolic = %T.loc6_27.2 (constants.%T)] @@ -588,7 +588,7 @@ fn F() { // CHECK:STDOUT: %return.param_patt: %ptr.6db = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %A.ref.loc10: type = name_ref A, file.%A.decl [concrete = constants.%A] -// CHECK:STDOUT: %ptr: type = ptr_type %A [concrete = constants.%ptr.6db] +// CHECK:STDOUT: %ptr: type = ptr_type %A.ref.loc10 [concrete = constants.%ptr.6db] // CHECK:STDOUT: %return.param: ref %ptr.6db = out_param call_param0 // CHECK:STDOUT: %return: ref %ptr.6db = return_slot %return.param // CHECK:STDOUT: } @@ -605,7 +605,7 @@ fn F() { // CHECK:STDOUT: generic fn @ExplicitAndAlsoDeduced(%T.loc6_27.1: type) { // CHECK:STDOUT: %T.loc6_27.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc6_27.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc6_27.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc6_27.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc6_47.2: type = ptr_type @ExplicitAndAlsoDeduced.%T.loc6_27.2 (%T) [symbolic = %ptr.loc6_47.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc6_47.2: type = ptr_type %T.loc6_27.2 [symbolic = %ptr.loc6_47.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc6_43: = require_complete_type @ExplicitAndAlsoDeduced.%ptr.loc6_47.2 (%ptr.79f) [symbolic = %require_complete.loc6_43 (constants.%require_complete.6e5)] @@ -711,7 +711,7 @@ fn F() { // CHECK:STDOUT: %return.param_patt: @ImplicitGenericParam.%ptr.loc4_45.2 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_44: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc4_45.1: type = ptr_type %T [symbolic = %ptr.loc4_45.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_45.1: type = ptr_type %T.ref.loc4_44 [symbolic = %ptr.loc4_45.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_25.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %x.param: @ImplicitGenericParam.%T.loc4_25.2 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.1 [symbolic = %T.loc4_25.2 (constants.%T)] @@ -727,7 +727,7 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc6_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc6_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc6_40 [concrete = constants.%ptr.235] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 // CHECK:STDOUT: %.loc6: type = splice_block %i32.loc6_32 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.loc6_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -742,7 +742,7 @@ fn F() { // CHECK:STDOUT: generic fn @ImplicitGenericParam(%T.loc4_25.1: type) { // CHECK:STDOUT: %T.loc4_25.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_25.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc4_25.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_25.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc4_45.2: type = ptr_type @ImplicitGenericParam.%T.loc4_25.2 (%T) [symbolic = %ptr.loc4_45.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_45.2: type = ptr_type %T.loc4_25.2 [symbolic = %ptr.loc4_45.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc4_41: = require_complete_type @ImplicitGenericParam.%ptr.loc4_45.2 (%ptr.79f) [symbolic = %require_complete.loc4_41 (constants.%require_complete.6e5)] diff --git a/toolchain/check/testdata/function/generic/no_prelude/call.carbon b/toolchain/check/testdata/function/generic/no_prelude/call.carbon index 2a5e6027e74e..e2bcec9adf0b 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/call.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/call.carbon @@ -122,12 +122,12 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: %return.param_patt: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12_39: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_40: type = ptr_type %T [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_40: type = ptr_type %T.ref.loc12_39 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc12_19.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %x.param: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = value_param call_param0 // CHECK:STDOUT: %.loc12: type = splice_block %ptr.loc12_33.1 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] { // CHECK:STDOUT: %T.ref.loc12_32: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_33.1: type = ptr_type %T [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_33.1: type = ptr_type %T.ref.loc12_32 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = bind_name x, %x.param // CHECK:STDOUT: %return.param: ref @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = out_param call_param1 @@ -195,7 +195,7 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: generic fn @CallGenericPtr(%T.loc12_19.1: type) { // CHECK:STDOUT: %T.loc12_19.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc12_19.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_19.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc12_33.2: type = ptr_type @CallGenericPtr.%T.loc12_19.2 (%T) [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_33.2: type = ptr_type %T.loc12_19.2 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) [symbolic = %require_complete (constants.%require_complete.6e5)] @@ -205,7 +205,7 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Function.ref: %Function.type = name_ref Function, file.%Function.decl [concrete = constants.%Function] // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc13: type = ptr_type %T [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc13: type = ptr_type %T.ref.loc13 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: %x.ref: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = name_ref x, %x // CHECK:STDOUT: %Function.specific_fn.loc13_10.1: = specific_function %Function.ref, @Function(constants.%ptr.79f) [symbolic = %Function.specific_fn.loc13_10.2 (constants.%Function.specific_fn.4d7)] // CHECK:STDOUT: %Function.call: init @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = call %Function.specific_fn.loc13_10.1(%x.ref) @@ -335,12 +335,12 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: %return.param_patt: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc12_39: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_40: type = ptr_type %T [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_40: type = ptr_type %T.ref.loc12_39 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc12_19.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %x.param: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = value_param call_param0 // CHECK:STDOUT: %.loc12: type = splice_block %ptr.loc12_33.1 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] { // CHECK:STDOUT: %T.ref.loc12_32: type = name_ref T, %T.loc12_19.1 [symbolic = %T.loc12_19.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_33.1: type = ptr_type %T [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_33.1: type = ptr_type %T.ref.loc12_32 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = bind_name x, %x.param // CHECK:STDOUT: %return.param: ref @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) = out_param call_param1 @@ -407,7 +407,7 @@ fn CallSpecific(x: C) -> C { // CHECK:STDOUT: generic fn @CallGenericPtr(%T.loc12_19.1: type) { // CHECK:STDOUT: %T.loc12_19.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_19.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc12_19.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_19.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc12_33.2: type = ptr_type @CallGenericPtr.%T.loc12_19.2 (%T) [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc12_33.2: type = ptr_type %T.loc12_19.2 [symbolic = %ptr.loc12_33.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @CallGenericPtr.%ptr.loc12_33.2 (%ptr.79f) [symbolic = %require_complete (constants.%require_complete.6e5)] 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 15a254dae889..4aafaf31e36f 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 @@ -51,7 +51,7 @@ fn F(T:! type, U:! type) { // CHECK:STDOUT: %U.patt.loc11_16.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc11_16.2 (constants.%U.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %ptr.loc12_11.2: type = ptr_type @F.%T.loc11_6.2 (%T) [symbolic = %ptr.loc12_11.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc12_11.2: type = ptr_type %T.loc11_6.2 [symbolic = %ptr.loc12_11.2 (constants.%ptr)] // CHECK:STDOUT: %require_complete.loc12: = require_complete_type @F.%ptr.loc12_11.2 (%ptr) [symbolic = %require_complete.loc12 (constants.%require_complete.6e5)] // CHECK:STDOUT: %require_complete.loc17: = require_complete_type @F.%U.loc11_16.2 (%U) [symbolic = %require_complete.loc17 (constants.%require_complete.b54)] // CHECK:STDOUT: @@ -64,7 +64,7 @@ fn F(T:! type, U:! type) { // CHECK:STDOUT: %p.var: ref @F.%ptr.loc12_11.2 (%ptr) = var p // CHECK:STDOUT: %.loc12_11: type = splice_block %ptr.loc12_11.1 [symbolic = %ptr.loc12_11.2 (constants.%ptr)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_11.1: type = ptr_type %T [symbolic = %ptr.loc12_11.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc12_11.1: type = ptr_type %T.ref [symbolic = %ptr.loc12_11.2 (constants.%ptr)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref @F.%ptr.loc12_11.2 (%ptr) = bind_name p, %p.var // CHECK:STDOUT: name_binding_decl { 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 0d6e54182fa8..a523f9b9a412 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 @@ -37,13 +37,13 @@ fn F(T:! type, p: T**) -> T* { // CHECK:STDOUT: %return.param_patt: @F.%ptr.loc11_20.2 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc11_27: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc11_28: type = ptr_type %T [symbolic = %ptr.loc11_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc11_28: type = ptr_type %T.ref.loc11_27 [symbolic = %ptr.loc11_20.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc11_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%ptr.loc11_21.2 (%ptr.a13) = value_param call_param0 // CHECK:STDOUT: %.loc11: type = splice_block %ptr.loc11_21.1 [symbolic = %ptr.loc11_21.2 (constants.%ptr.a13)] { // CHECK:STDOUT: %T.ref.loc11_19: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc11_20.1: type = ptr_type %T [symbolic = %ptr.loc11_20.2 (constants.%ptr.79f)] -// CHECK:STDOUT: %ptr.loc11_21.1: type = ptr_type %ptr.79f [symbolic = %ptr.loc11_21.2 (constants.%ptr.a13)] +// CHECK:STDOUT: %ptr.loc11_20.1: type = ptr_type %T.ref.loc11_19 [symbolic = %ptr.loc11_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc11_21.1: type = ptr_type %ptr.loc11_20.1 [symbolic = %ptr.loc11_21.2 (constants.%ptr.a13)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: @F.%ptr.loc11_21.2 (%ptr.a13) = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref @F.%ptr.loc11_20.2 (%ptr.79f) = out_param call_param1 @@ -54,8 +54,8 @@ fn F(T:! type, p: T**) -> T* { // CHECK:STDOUT: generic fn @F(%T.loc11_6.1: type) { // CHECK:STDOUT: %T.loc11_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc11_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc11_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc11_20.2: type = ptr_type @F.%T.loc11_6.2 (%T) [symbolic = %ptr.loc11_20.2 (constants.%ptr.79f)] -// CHECK:STDOUT: %ptr.loc11_21.2: type = ptr_type @F.%ptr.loc11_20.2 (%ptr.79f) [symbolic = %ptr.loc11_21.2 (constants.%ptr.a13)] +// CHECK:STDOUT: %ptr.loc11_20.2: type = ptr_type %T.loc11_6.2 [symbolic = %ptr.loc11_20.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc11_21.2: type = ptr_type %ptr.loc11_20.2 [symbolic = %ptr.loc11_21.2 (constants.%ptr.a13)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc11_24: = require_complete_type @F.%ptr.loc11_20.2 (%ptr.79f) [symbolic = %require_complete.loc11_24 (constants.%require_complete.6e5)] 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 c0145a4b99b5..1bcc93f99d8b 100644 --- a/toolchain/check/testdata/function/generic/no_prelude/type_param.carbon +++ b/toolchain/check/testdata/function/generic/no_prelude/type_param.carbon @@ -41,7 +41,7 @@ fn F(T:! type) { // CHECK:STDOUT: %T.patt.loc11_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc11_6.2 (constants.%T.patt)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: -// CHECK:STDOUT: %ptr.loc12_11.2: type = ptr_type @F.%T.loc11_6.2 (%T) [symbolic = %ptr.loc12_11.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc12_11.2: type = ptr_type %T.loc11_6.2 [symbolic = %ptr.loc12_11.2 (constants.%ptr)] // CHECK:STDOUT: %require_complete.loc12: = require_complete_type @F.%ptr.loc12_11.2 (%ptr) [symbolic = %require_complete.loc12 (constants.%require_complete.6e5)] // CHECK:STDOUT: %require_complete.loc13: = require_complete_type @F.%T.loc11_6.2 (%T) [symbolic = %require_complete.loc13 (constants.%require_complete.4ae)] // CHECK:STDOUT: @@ -54,7 +54,7 @@ fn F(T:! type) { // CHECK:STDOUT: %p.var: ref @F.%ptr.loc12_11.2 (%ptr) = var p // CHECK:STDOUT: %.loc12_11: type = splice_block %ptr.loc12_11.1 [symbolic = %ptr.loc12_11.2 (constants.%ptr)] { // CHECK:STDOUT: %T.ref.loc12: type = name_ref T, %T.loc11_6.1 [symbolic = %T.loc11_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_11.1: type = ptr_type %T [symbolic = %ptr.loc12_11.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc12_11.1: type = ptr_type %T.ref.loc12 [symbolic = %ptr.loc12_11.2 (constants.%ptr)] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref @F.%ptr.loc12_11.2 (%ptr) = bind_name p, %p.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/function/generic/param_in_type.carbon b/toolchain/check/testdata/function/generic/param_in_type.carbon index f3cb51aa2246..3e6f09807ce1 100644 --- a/toolchain/check/testdata/function/generic/param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/param_in_type.carbon @@ -71,8 +71,8 @@ fn F(N:! i32, a: array(i32, N)*); // CHECK:STDOUT: %int.convert_checked.loc11_29.1: init Core.IntLiteral = call %bound_method.loc11_29.2(%N.ref) [symbolic = %int.convert_checked.loc11_29.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc11_29.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc11_29.1 [symbolic = %int.convert_checked.loc11_29.2 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc11_29.2: Core.IntLiteral = converted %N.ref, %.loc11_29.1 [symbolic = %int.convert_checked.loc11_29.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc11_30.1: type = array_type %.loc11_29.2, %i32 [symbolic = %array_type.loc11_30.2 (constants.%array_type)] -// CHECK:STDOUT: %ptr.loc11_31.1: type = ptr_type %array_type [symbolic = %ptr.loc11_31.2 (constants.%ptr)] +// CHECK:STDOUT: %array_type.loc11_30.1: type = array_type %.loc11_29.2, %i32.loc11_24 [symbolic = %array_type.loc11_30.2 (constants.%array_type)] +// CHECK:STDOUT: %ptr.loc11_31.1: type = ptr_type %array_type.loc11_30.1 [symbolic = %ptr.loc11_31.2 (constants.%ptr)] // CHECK:STDOUT: } // CHECK:STDOUT: %a: @F.%ptr.loc11_31.2 (%ptr) = bind_name a, %a.param // CHECK:STDOUT: } @@ -84,8 +84,8 @@ fn F(N:! i32, a: array(i32, N)*); // CHECK:STDOUT: %Convert.bound: = bound_method %N.loc11_6.2, constants.%Convert.960 [symbolic = %Convert.bound (constants.%Convert.bound)] // CHECK:STDOUT: %bound_method.loc11_29.3: = bound_method %N.loc11_6.2, constants.%Convert.specific_fn [symbolic = %bound_method.loc11_29.3 (constants.%bound_method)] // CHECK:STDOUT: %int.convert_checked.loc11_29.2: init Core.IntLiteral = call %bound_method.loc11_29.3(%N.loc11_6.2) [symbolic = %int.convert_checked.loc11_29.2 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc11_30.2: type = array_type %int.convert_checked.loc11_29.2, %i32 [symbolic = %array_type.loc11_30.2 (constants.%array_type)] -// CHECK:STDOUT: %ptr.loc11_31.2: type = ptr_type @F.%array_type.loc11_30.2 (%array_type) [symbolic = %ptr.loc11_31.2 (constants.%ptr)] +// CHECK:STDOUT: %array_type.loc11_30.2: type = array_type %int.convert_checked.loc11_29.2, constants.%i32 [symbolic = %array_type.loc11_30.2 (constants.%array_type)] +// CHECK:STDOUT: %ptr.loc11_31.2: type = ptr_type %array_type.loc11_30.2 [symbolic = %ptr.loc11_31.2 (constants.%ptr)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%N.patt.loc11_6.1: %i32, %a.param_patt: @F.%ptr.loc11_31.2 (%ptr)); // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/redeclare.carbon b/toolchain/check/testdata/function/generic/redeclare.carbon index e97eeb622247..5246412678a0 100644 --- a/toolchain/check/testdata/function/generic/redeclare.carbon +++ b/toolchain/check/testdata/function/generic/redeclare.carbon @@ -121,7 +121,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.%ptr.loc4_20.2 (%ptr) = out_param_pattern %return.patt, call_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: %ptr.loc4_20.1: type = ptr_type %T [symbolic = %ptr.loc4_20.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc4_20.1: type = ptr_type %T.ref.loc4 [symbolic = %ptr.loc4_20.2 (constants.%ptr)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %return.param.loc4: ref @F.%ptr.loc4_20.2 (%ptr) = out_param call_param0 // CHECK:STDOUT: %return.loc4: ref @F.%ptr.loc4_20.2 (%ptr) = return_slot %return.param.loc4 @@ -132,7 +132,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.%ptr.loc4_20.2 (%ptr) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6: type = name_ref T, %T.loc6 [symbolic = %T.loc4_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc6: type = ptr_type %T [symbolic = %ptr.loc4_20.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc6: type = ptr_type %T.ref.loc6 [symbolic = %ptr.loc4_20.2 (constants.%ptr)] // CHECK:STDOUT: %T.loc6: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %return.param.loc6: ref @F.%ptr.loc4_20.2 (%ptr) = out_param call_param0 // CHECK:STDOUT: %return.loc6: ref @F.%ptr.loc4_20.2 (%ptr) = return_slot %return.param.loc6 @@ -142,7 +142,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: generic fn @F(%T.loc4_6.1: type) { // CHECK:STDOUT: %T.loc4_6.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc4: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc4_20.2: type = ptr_type @F.%T.loc4_6.2 (%T) [symbolic = %ptr.loc4_20.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc4_20.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_20.2 (constants.%ptr)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.%ptr.loc4_20.2 (%ptr) [symbolic = %require_complete (constants.%require_complete)] @@ -208,7 +208,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.1.%ptr.loc4_30.2 (%ptr.79f) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T)] // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U)] // CHECK:STDOUT: %return.param: ref @F.1.%ptr.loc4_30.2 (%ptr.79f) = out_param call_param0 @@ -221,7 +221,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.2.%ptr.loc13_30.2 (%ptr.b51) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_16.1 [symbolic = %U.loc13_16.2 (constants.%U)] -// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] +// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] // CHECK:STDOUT: %T.loc13_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc13_6.2 (constants.%T)] // CHECK:STDOUT: %U.loc13_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc13_16.2 (constants.%U)] // CHECK:STDOUT: %return.param: ref @F.2.%ptr.loc13_30.2 (%ptr.b51) = out_param call_param0 @@ -234,7 +234,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.patt.loc4_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_6.2 (constants.%T.patt)] // CHECK:STDOUT: %U.loc4_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U)] // CHECK:STDOUT: %U.patt.loc4_16.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_16.2 (constants.%U.patt)] -// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type @F.1.%T.loc4_6.2 (%T) [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%T.patt.loc4_6.1: type, %U.patt.loc4_16.1: type) -> @F.1.%ptr.loc4_30.2 (%ptr.79f); // CHECK:STDOUT: } @@ -244,7 +244,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.patt.loc13_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc13_6.2 (constants.%T.patt)] // CHECK:STDOUT: %U.loc13_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc13_16.2 (constants.%U)] // CHECK:STDOUT: %U.patt.loc13_16.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc13_16.2 (constants.%U.patt)] -// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type @F.2.%U.loc13_16.2 (%U) [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] +// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.loc13_16.2 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.2.%ptr.loc13_30.2 (%ptr.b51) [symbolic = %require_complete (constants.%require_complete)] @@ -313,7 +313,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.1.%ptr.loc4_30.2 (%ptr.79f) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] -// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.8b3 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] // CHECK:STDOUT: %return.param: ref @F.1.%ptr.loc4_30.2 (%ptr.79f) = out_param call_param0 @@ -326,7 +326,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.2.%ptr.loc13_30.2 (%ptr.b51) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T.loc13_16.1 [symbolic = %T.loc13_16.2 (constants.%T.336)] -// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %T.336 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] +// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %T.ref.loc13 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] // CHECK:STDOUT: %U.loc13_6.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %T.loc13_16.1: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %return.param: ref @F.2.%ptr.loc13_30.2 (%ptr.b51) = out_param call_param0 @@ -339,7 +339,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.patt.loc4_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.e01)] // CHECK:STDOUT: %U.loc4_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] // CHECK:STDOUT: %U.patt.loc4_16.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.7a9)] -// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type @F.1.%T.loc4_6.2 (%T.8b3) [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%T.patt.loc4_6.1: type, %U.patt.loc4_16.1: type) -> @F.1.%ptr.loc4_30.2 (%ptr.79f); // CHECK:STDOUT: } @@ -349,7 +349,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U.patt.loc13_6.2: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.e01)] // CHECK:STDOUT: %T.loc13_16.2: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %T.patt.loc13_16.2: type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.7a9)] -// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type @F.2.%T.loc13_16.2 (%T.336) [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] +// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %T.loc13_16.2 [symbolic = %ptr.loc13_30.2 (constants.%ptr.b51)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.2.%ptr.loc13_30.2 (%ptr.b51) [symbolic = %require_complete (constants.%require_complete)] @@ -418,7 +418,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.1.%ptr.loc4_30.2 (%ptr.79f131.1) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.1 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] -// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.8b3 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f131.1)] +// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: %T.loc4_6.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc4_6.2 (constants.%T.8b3)] // CHECK:STDOUT: %U.loc4_16.1: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] // CHECK:STDOUT: %return.param: ref @F.1.%ptr.loc4_30.2 (%ptr.79f131.1) = out_param call_param0 @@ -431,7 +431,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %return.param_patt: @F.2.%ptr.loc13_30.2 (%ptr.79f131.2) = out_param_pattern %return.patt, call_param0 // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_6.1 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] -// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.8b3 [symbolic = %ptr.loc13_30.2 (constants.%ptr.79f131.2)] +// CHECK:STDOUT: %ptr.loc13_30.1: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.2 (constants.%ptr.79f131.2)] // CHECK:STDOUT: %U.loc13_6.1: type = bind_symbolic_name U, 0 [symbolic = %U.loc13_6.2 (constants.%U.8b3)] // CHECK:STDOUT: %T.loc13_16.1: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %return.param: ref @F.2.%ptr.loc13_30.2 (%ptr.79f131.2) = out_param call_param0 @@ -444,7 +444,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.patt.loc4_6.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc4_6.2 (constants.%T.patt.e01)] // CHECK:STDOUT: %U.loc4_16.2: type = bind_symbolic_name U, 1 [symbolic = %U.loc4_16.2 (constants.%U.336)] // CHECK:STDOUT: %U.patt.loc4_16.2: type = symbolic_binding_pattern U, 1 [symbolic = %U.patt.loc4_16.2 (constants.%U.patt.7a9)] -// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type @F.1.%T.loc4_6.2 (%T.8b3) [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f131.1)] +// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.loc4_6.2 [symbolic = %ptr.loc4_30.2 (constants.%ptr.79f131.1)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%T.patt.loc4_6.1: type, %U.patt.loc4_16.1: type) -> @F.1.%ptr.loc4_30.2 (%ptr.79f131.1); // CHECK:STDOUT: } @@ -454,7 +454,7 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U.patt.loc13_6.2: type = symbolic_binding_pattern U, 0 [symbolic = %U.patt.loc13_6.2 (constants.%U.patt.e01)] // CHECK:STDOUT: %T.loc13_16.2: type = bind_symbolic_name T, 1 [symbolic = %T.loc13_16.2 (constants.%T.336)] // CHECK:STDOUT: %T.patt.loc13_16.2: type = symbolic_binding_pattern T, 1 [symbolic = %T.patt.loc13_16.2 (constants.%T.patt.7a9)] -// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type @F.2.%U.loc13_6.2 (%U.8b3) [symbolic = %ptr.loc13_30.2 (constants.%ptr.79f131.2)] +// CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.loc13_6.2 [symbolic = %ptr.loc13_30.2 (constants.%ptr.79f131.2)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete: = require_complete_type @F.2.%ptr.loc13_30.2 (%ptr.79f131.2) [symbolic = %require_complete (constants.%require_complete)] diff --git a/toolchain/check/testdata/generic/template_dependence.carbon b/toolchain/check/testdata/generic/template_dependence.carbon index 8d255c99352b..aa4dd78b9827 100644 --- a/toolchain/check/testdata/generic/template_dependence.carbon +++ b/toolchain/check/testdata/generic/template_dependence.carbon @@ -58,13 +58,13 @@ fn F(template T:! type, U:! type) -> (T, U) { // CHECK:STDOUT: %return.param_patt: @F.%ptr.loc4_29.2 (%ptr.79f) = out_param_pattern %return.patt, call_param1 // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_36: type = name_ref T, %T.loc4_15.1 [template = %T.loc4_15.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc4_37: type = ptr_type %T [template = %ptr.loc4_29.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_37: type = ptr_type %T.ref.loc4_36 [template = %ptr.loc4_29.2 (constants.%ptr.79f)] // CHECK:STDOUT: %T.loc4_15.1: type = bind_symbolic_name T, 0, template [template = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: %x.param: @F.%ptr.loc4_30.2 (%ptr.a13) = value_param call_param0 // CHECK:STDOUT: %.loc4: type = splice_block %ptr.loc4_30.1 [template = %ptr.loc4_30.2 (constants.%ptr.a13)] { // CHECK:STDOUT: %T.ref.loc4_28: type = name_ref T, %T.loc4_15.1 [template = %T.loc4_15.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc4_29.1: type = ptr_type %T [template = %ptr.loc4_29.2 (constants.%ptr.79f)] -// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %ptr.79f [template = %ptr.loc4_30.2 (constants.%ptr.a13)] +// CHECK:STDOUT: %ptr.loc4_29.1: type = ptr_type %T.ref.loc4_28 [template = %ptr.loc4_29.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_30.1: type = ptr_type %ptr.loc4_29.1 [template = %ptr.loc4_30.2 (constants.%ptr.a13)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @F.%ptr.loc4_30.2 (%ptr.a13) = bind_name x, %x.param // CHECK:STDOUT: %return.param: ref @F.%ptr.loc4_29.2 (%ptr.79f) = out_param call_param1 @@ -75,8 +75,8 @@ fn F(template T:! type, U:! type) -> (T, U) { // CHECK:STDOUT: generic fn @F(%T.loc4_15.1: type) { // CHECK:STDOUT: %T.loc4_15.2: type = bind_symbolic_name T, 0, template [template = %T.loc4_15.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc4_15.2: type = symbolic_binding_pattern T, 0, template [template = %T.patt.loc4_15.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc4_29.2: type = ptr_type @F.%T.loc4_15.2 (%T) [template = %ptr.loc4_29.2 (constants.%ptr.79f)] -// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type @F.%ptr.loc4_29.2 (%ptr.79f) [template = %ptr.loc4_30.2 (constants.%ptr.a13)] +// CHECK:STDOUT: %ptr.loc4_29.2: type = ptr_type %T.loc4_15.2 [template = %ptr.loc4_29.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %ptr.loc4_29.2 [template = %ptr.loc4_30.2 (constants.%ptr.a13)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: %require_complete.loc4_33: = require_complete_type @F.%ptr.loc4_29.2 (%ptr.79f) [template = %require_complete.loc4_33 (constants.%require_complete.6e5)] diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index a50986c8e176..4397c366d91a 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -117,7 +117,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32.loc12 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %array_type = bind_name x, %x.var // CHECK:STDOUT: %b.ref: bool = name_ref b, %b diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index daad0df44327..a7315fc3c67a 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -252,7 +252,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !if.expr.else.loc23: // CHECK:STDOUT: %int_32.loc23_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc23: type = ptr_type %i32 [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr.loc23: type = ptr_type %i32.loc23_32 [concrete = constants.%ptr] // CHECK:STDOUT: br !if.expr.result.loc23(%ptr.loc23) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc23: @@ -283,7 +283,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !if.expr.else.loc24: // CHECK:STDOUT: %int_32.loc24_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc24_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc24: type = ptr_type %i32 [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr.loc24: type = ptr_type %i32.loc24_33 [concrete = constants.%ptr] // CHECK:STDOUT: br !if.expr.result.loc24(%ptr.loc24) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc24: @@ -356,7 +356,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: !if.expr.else.loc30: // CHECK:STDOUT: %int_32.loc30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc30 [concrete = constants.%ptr] // CHECK:STDOUT: br !if.expr.result.loc30(%ptr) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc30: diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index bde38e20ae66..02a481160110 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -651,7 +651,7 @@ fn CallF() { // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%N)> [symbolic = %I.type (constants.%I.type.8a1)] // CHECK:STDOUT: %Self: @V.%I.type (%I.type.8a1) = bind_symbolic_name Self, 1 [symbolic = %Self (constants.%Self.3a0)] // CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self [symbolic = %Self.as_type (constants.%Self.as_type.72b)] -// CHECK:STDOUT: %array_type: type = array_type %N, @V.%Self.as_type (%Self.as_type.72b) [symbolic = %array_type (constants.%array_type)] +// CHECK:STDOUT: %array_type: type = array_type %N, %Self.as_type [symbolic = %array_type (constants.%array_type)] // CHECK:STDOUT: %require_complete: = require_complete_type @V.%array_type (%array_type) [symbolic = %require_complete (constants.%require_complete)] // CHECK:STDOUT: // CHECK:STDOUT: assoc_const V:! @V.%array_type (%array_type); 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 d95d7b76a1a1..e78b646c09df 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -444,13 +444,13 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] // CHECK:STDOUT: %Self.as_type.loc188_50: type = facet_access_type %Self.ref.loc188_50 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc188_50: type = converted %Self.ref.loc188_50, %Self.as_type.loc188_50 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %array_type.loc188_57.2: type = array_type %int_4, %Self.as_type [symbolic = %array_type.loc188_57.1 (constants.%array_type.873)] +// CHECK:STDOUT: %array_type.loc188_57.2: type = array_type %int_4, %.loc188_50 [symbolic = %array_type.loc188_57.1 (constants.%array_type.873)] // CHECK:STDOUT: %x.param: @F.13.%tuple.type (%tuple.type.229) = value_param call_param0 // CHECK:STDOUT: %.loc188_38.1: type = splice_block %.loc188_38.3 [symbolic = %tuple.type (constants.%tuple.type.229)] { // CHECK:STDOUT: %Self.ref.loc188_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc188_16.2: type = facet_access_type %Self.ref.loc188_12 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc188_16: type = converted %Self.ref.loc188_12, %Self.as_type.loc188_16.2 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %ptr.loc188_16.2: type = ptr_type %Self.as_type [symbolic = %ptr.loc188_16.1 (constants.%ptr.e87)] +// CHECK:STDOUT: %ptr.loc188_16.2: type = ptr_type %.loc188_16 [symbolic = %ptr.loc188_16.1 (constants.%ptr.e87)] // CHECK:STDOUT: %Self.ref.loc188_24: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc188_24: type = facet_access_type %Self.ref.loc188_24 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc188_24: type = converted %Self.ref.loc188_24, %Self.as_type.loc188_24 [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] @@ -766,11 +766,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } { // CHECK:STDOUT: %SelfNestedBadParam.ref.loc200_65: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [concrete = constants.%SelfNestedBadParam] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] -// CHECK:STDOUT: %array_type: type = array_type %int_4, %SelfNestedBadParam [concrete = constants.%array_type.a41] +// CHECK:STDOUT: %array_type: type = array_type %int_4, %SelfNestedBadParam.ref.loc200_65 [concrete = constants.%array_type.a41] // CHECK:STDOUT: %x.param: %tuple.type.a7d = value_param call_param0 // CHECK:STDOUT: %.loc200_53.1: type = splice_block %.loc200_53.3 [concrete = constants.%tuple.type.a7d] { // CHECK:STDOUT: %SelfNestedBadParam.ref.loc200_14: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [concrete = constants.%SelfNestedBadParam] -// CHECK:STDOUT: %ptr: type = ptr_type %SelfNestedBadParam [concrete = constants.%ptr.4cd] +// CHECK:STDOUT: %ptr: type = ptr_type %SelfNestedBadParam.ref.loc200_14 [concrete = constants.%ptr.4cd] // CHECK:STDOUT: %int_32.loc200_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc200_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc200_49: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] @@ -799,11 +799,11 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: } { // CHECK:STDOUT: %SelfNestedBadParam.ref: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [concrete = constants.%SelfNestedBadParam] // CHECK:STDOUT: %int_4: Core.IntLiteral = int_value 4 [concrete = constants.%int_4] -// CHECK:STDOUT: %array_type: type = array_type %int_4, %SelfNestedBadParam [concrete = constants.%array_type.a41] +// CHECK:STDOUT: %array_type: type = array_type %int_4, %SelfNestedBadParam.ref [concrete = constants.%array_type.a41] // CHECK:STDOUT: %x.param: %tuple.type.eb9 = value_param call_param0 // CHECK:STDOUT: %.loc213_78.1: type = splice_block %.loc213_78.3 [concrete = constants.%tuple.type.eb9] { // CHECK:STDOUT: %SelfNestedBadReturnType.ref.loc213_14: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [concrete = constants.%SelfNestedBadReturnType] -// CHECK:STDOUT: %ptr: type = ptr_type %SelfNestedBadReturnType [concrete = constants.%ptr.612] +// CHECK:STDOUT: %ptr: type = ptr_type %SelfNestedBadReturnType.ref.loc213_14 [concrete = constants.%ptr.612] // CHECK:STDOUT: %SelfNestedBadReturnType.ref.loc213_45: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [concrete = constants.%SelfNestedBadReturnType] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] @@ -1072,10 +1072,10 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: generic fn @F.13(@SelfNested.%Self: %SelfNested.type) { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc188_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc188_16.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %ptr.loc188_16.1: type = ptr_type @F.13.%Self.as_type.loc188_16.1 (%Self.as_type) [symbolic = %ptr.loc188_16.1 (constants.%ptr.e87)] +// CHECK:STDOUT: %ptr.loc188_16.1: type = ptr_type %Self.as_type.loc188_16.1 [symbolic = %ptr.loc188_16.1 (constants.%ptr.e87)] // CHECK:STDOUT: %struct_type.x.y.loc188_37.1: type = struct_type {.x: @F.13.%Self.as_type.loc188_16.1 (%Self.as_type), .y: %i32} [symbolic = %struct_type.x.y.loc188_37.1 (constants.%struct_type.x.y.81e)] // CHECK:STDOUT: %tuple.type: type = tuple_type (@F.13.%ptr.loc188_16.1 (%ptr.e87), @F.13.%struct_type.x.y.loc188_37.1 (%struct_type.x.y.81e)) [symbolic = %tuple.type (constants.%tuple.type.229)] -// CHECK:STDOUT: %array_type.loc188_57.1: type = array_type constants.%int_4, @F.13.%Self.as_type.loc188_16.1 (%Self.as_type) [symbolic = %array_type.loc188_57.1 (constants.%array_type.873)] +// CHECK:STDOUT: %array_type.loc188_57.1: type = array_type constants.%int_4, %Self.as_type.loc188_16.1 [symbolic = %array_type.loc188_57.1 (constants.%array_type.873)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%x.param_patt: @F.13.%tuple.type (%tuple.type.229)) -> @F.13.%array_type.loc188_57.1 (%array_type.873); // 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 cf6f1a4e0f12..63a95879c2fb 100644 --- a/toolchain/check/testdata/impl/no_prelude/import_generic.carbon +++ b/toolchain/check/testdata/impl/no_prelude/import_generic.carbon @@ -154,7 +154,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc12_14.1 [symbolic = %T.loc12_14.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc12_32.1: type = ptr_type %T [symbolic = %ptr.loc12_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc12_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc12_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc12_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc12_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %T.loc12_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: } @@ -196,7 +196,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.cd2(%T.loc12_14.1: type) { // CHECK:STDOUT: %T.loc12_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc12_14.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc12_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc12_32.2: type = ptr_type @impl.cd2.%T.loc12_14.2 (%T) [symbolic = %ptr.loc12_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc12_32.2: type = ptr_type %T.loc12_14.2 [symbolic = %ptr.loc12_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc12_33.2: type = facet_type <@I, @I(%ptr.loc12_32.2)> [symbolic = %I.type.loc12_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %require_complete: = require_complete_type @impl.cd2.%I.type.loc12_33.2 (%I.type.0e2) [symbolic = %require_complete (constants.%require_complete.0e6)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.cd2(%T.loc12_14.2) [symbolic = %impl_witness (constants.%impl_witness.465)] @@ -336,7 +336,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc20_14.1 [symbolic = %T.loc20_14.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc20_32.1: type = ptr_type %T [symbolic = %ptr.loc20_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc20_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc20_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc20_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %T.loc20_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: } @@ -347,7 +347,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%Main.C [concrete = constants.%C] // CHECK:STDOUT: %I.ref: %I.type.dac = name_ref I, imports.%Main.I [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc26_14.1 [symbolic = %T.loc26_14.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc26_32.1: type = ptr_type %T [symbolic = %ptr.loc26_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc26_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc26_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc26_33.1: type = facet_type <@I, @I(constants.%ptr)> [symbolic = %I.type.loc26_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %T.loc26_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: } @@ -387,7 +387,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.cd2fdc.1(imports.%Main.import_ref.5ab3ec.3: type) [from "import_generic.carbon"] { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] -// CHECK:STDOUT: %ptr: type = ptr_type @impl.cd2fdc.1.%T (%T) [symbolic = %ptr (constants.%ptr)] +// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = %ptr (constants.%ptr)] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(%ptr)> [symbolic = %I.type (constants.%I.type.0e2)] // CHECK:STDOUT: %require_complete: = require_complete_type @impl.cd2fdc.1.%I.type (%I.type.0e2) [symbolic = %require_complete (constants.%require_complete.0e6)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.cd2fdc.1(%T) [symbolic = %impl_witness (constants.%impl_witness.46542c.1)] @@ -427,7 +427,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.cd2fdc.2(%T.loc20_14.1: type) { // CHECK:STDOUT: %T.loc20_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc20_14.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc20_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type @impl.cd2fdc.2.%T.loc20_14.2 (%T) [symbolic = %ptr.loc20_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type %T.loc20_14.2 [symbolic = %ptr.loc20_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc20_33.2: type = facet_type <@I, @I(%ptr.loc20_32.2)> [symbolic = %I.type.loc20_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.cd2fdc.2(%T.loc20_14.2) [symbolic = %impl_witness (constants.%impl_witness.46542c.2)] // CHECK:STDOUT: @@ -437,7 +437,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.cd2fdc.3(%T.loc26_14.1: type) { // CHECK:STDOUT: %T.loc26_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc26_14.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc26_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type @impl.cd2fdc.3.%T.loc26_14.2 (%T) [symbolic = %ptr.loc26_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type %T.loc26_14.2 [symbolic = %ptr.loc26_32.2 (constants.%ptr)] // CHECK:STDOUT: %I.type.loc26_33.2: type = facet_type <@I, @I(%ptr.loc26_32.2)> [symbolic = %I.type.loc26_33.2 (constants.%I.type.0e2)] // CHECK:STDOUT: %require_complete: = require_complete_type @impl.cd2fdc.3.%I.type.loc26_33.2 (%I.type.0e2) [symbolic = %require_complete (constants.%require_complete.0e6)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.cd2fdc.3(%T.loc26_14.2) [symbolic = %impl_witness (constants.%impl_witness.46542c.3)] @@ -594,7 +594,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, file.%J.decl [concrete = constants.%J.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc17_14.1 [symbolic = %T.loc17_14.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc17_32.1: type = ptr_type %T [symbolic = %ptr.loc17_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc17_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc17_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc17_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc17_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %T.loc17_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc17_14.2 (constants.%T)] // CHECK:STDOUT: } @@ -630,7 +630,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.dfd(%T.loc17_14.1: type) { // CHECK:STDOUT: %T.loc17_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc17_14.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc17_14.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc17_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc17_32.2: type = ptr_type @impl.dfd.%T.loc17_14.2 (%T) [symbolic = %ptr.loc17_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc17_32.2: type = ptr_type %T.loc17_14.2 [symbolic = %ptr.loc17_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc17_33.2: type = facet_type <@J, @J(%ptr.loc17_32.2)> [symbolic = %J.type.loc17_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.dfd(%T.loc17_14.2) [symbolic = %impl_witness (constants.%impl_witness.b80)] // CHECK:STDOUT: @@ -753,7 +753,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] // CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%Main.J [concrete = constants.%J.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc20_14.1 [symbolic = %T.loc20_14.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc20_32.1: type = ptr_type %T [symbolic = %ptr.loc20_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc20_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc20_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc20_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %T.loc20_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: } @@ -764,7 +764,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%Main.D [concrete = constants.%D] // CHECK:STDOUT: %J.ref: %J.type.2b8 = name_ref J, imports.%Main.J [concrete = constants.%J.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc26_14.1 [symbolic = %T.loc26_14.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc26_32.1: type = ptr_type %T [symbolic = %ptr.loc26_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc26_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc26_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc26_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc26_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %T.loc26_14.1: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: } @@ -798,7 +798,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.dfd2f7.1(imports.%Main.import_ref.5ab3ec.3: type) [from "fail_import_generic_decl.carbon"] { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %T.patt: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt (constants.%T.patt)] -// CHECK:STDOUT: %ptr: type = ptr_type @impl.dfd2f7.1.%T (%T) [symbolic = %ptr (constants.%ptr)] +// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = %ptr (constants.%ptr)] // CHECK:STDOUT: %J.type: type = facet_type <@J, @J(%ptr)> [symbolic = %J.type (constants.%J.type.628)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.dfd2f7.1(%T) [symbolic = %impl_witness (constants.%impl_witness.b80f53.1)] // CHECK:STDOUT: @@ -832,7 +832,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.dfd2f7.2(%T.loc20_14.1: type) { // CHECK:STDOUT: %T.loc20_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc20_14.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc20_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type @impl.dfd2f7.2.%T.loc20_14.2 (%T) [symbolic = %ptr.loc20_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc20_32.2: type = ptr_type %T.loc20_14.2 [symbolic = %ptr.loc20_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc20_33.2: type = facet_type <@J, @J(%ptr.loc20_32.2)> [symbolic = %J.type.loc20_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.dfd2f7.2(%T.loc20_14.2) [symbolic = %impl_witness (constants.%impl_witness.b80f53.2)] // CHECK:STDOUT: @@ -842,7 +842,7 @@ impl forall [T:! type] D as J(T*) {} // CHECK:STDOUT: generic impl @impl.dfd2f7.3(%T.loc26_14.1: type) { // CHECK:STDOUT: %T.loc26_14.2: type = bind_symbolic_name T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: %T.patt.loc26_14.2: type = symbolic_binding_pattern T, 0 [symbolic = %T.patt.loc26_14.2 (constants.%T.patt)] -// CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type @impl.dfd2f7.3.%T.loc26_14.2 (%T) [symbolic = %ptr.loc26_32.2 (constants.%ptr)] +// CHECK:STDOUT: %ptr.loc26_32.2: type = ptr_type %T.loc26_14.2 [symbolic = %ptr.loc26_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc26_33.2: type = facet_type <@J, @J(%ptr.loc26_32.2)> [symbolic = %J.type.loc26_33.2 (constants.%J.type.628)] // CHECK:STDOUT: %require_complete: = require_complete_type @impl.dfd2f7.3.%J.type.loc26_33.2 (%J.type.628) [symbolic = %require_complete (constants.%require_complete.c60)] // CHECK:STDOUT: %impl_witness: = impl_witness (), @impl.dfd2f7.3(%T.loc26_14.2) [symbolic = %impl_witness (constants.%impl_witness.b80f53.3)] 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 6a22371bf782..3836dd2c39d4 100644 --- a/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon +++ b/toolchain/check/testdata/impl/no_prelude/self_in_signature.carbon @@ -170,7 +170,7 @@ impl D as SelfNested { // CHECK:STDOUT: %Self.ref.loc28_12: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc28_16.2: type = facet_access_type %Self.ref.loc28_12 [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %.loc28_16: type = converted %Self.ref.loc28_12, %Self.as_type.loc28_16.2 [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.e1e)] -// CHECK:STDOUT: %ptr.loc28_16.2: type = ptr_type %Self.as_type.e1e [symbolic = %ptr.loc28_16.1 (constants.%ptr.e87)] +// CHECK:STDOUT: %ptr.loc28_16.2: type = ptr_type %.loc28_16 [symbolic = %ptr.loc28_16.1 (constants.%ptr.e87)] // CHECK:STDOUT: %Self.ref.loc28_24: %SelfNested.type = name_ref Self, @SelfNested.%Self [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc28_24: type = facet_access_type %Self.ref.loc28_24 [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.e1e)] // CHECK:STDOUT: %.loc28_24: type = converted %Self.ref.loc28_24, %Self.as_type.loc28_24 [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.e1e)] @@ -249,7 +249,7 @@ impl D as SelfNested { // CHECK:STDOUT: %x.param: %tuple.type.a17 = value_param call_param0 // CHECK:STDOUT: %.loc32_31.1: type = splice_block %.loc32_31.3 [concrete = constants.%tuple.type.a17] { // CHECK:STDOUT: %C.ref.loc32_12: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc32_12 [concrete = constants.%ptr.019] // CHECK:STDOUT: %C.ref.loc32_21: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc32_29.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc32_29.2: type = converted %.loc32_29.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -274,7 +274,7 @@ impl D as SelfNested { // CHECK:STDOUT: %x.param: %tuple.type.a5f = value_param call_param0 // CHECK:STDOUT: %.loc36_37.1: type = splice_block %.loc36_37.3 [concrete = constants.%tuple.type.a5f] { // CHECK:STDOUT: %Self.ref.loc36_12: type = name_ref Self, @impl.82d.%D.ref [concrete = constants.%D] -// CHECK:STDOUT: %ptr: type = ptr_type %D [concrete = constants.%ptr.19c] +// CHECK:STDOUT: %ptr: type = ptr_type %Self.ref.loc36_12 [concrete = constants.%ptr.19c] // CHECK:STDOUT: %Self.ref.loc36_24: type = name_ref Self, @impl.82d.%D.ref [concrete = constants.%D] // CHECK:STDOUT: %.loc36_35.1: %empty_tuple.type = tuple_literal () // CHECK:STDOUT: %.loc36_35.2: type = converted %.loc36_35.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] @@ -332,7 +332,7 @@ impl D as SelfNested { // CHECK:STDOUT: generic fn @F.4(@SelfNested.%Self: %SelfNested.type) { // CHECK:STDOUT: %Self: %SelfNested.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self.2ff)] // CHECK:STDOUT: %Self.as_type.loc28_16.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc28_16.1 (constants.%Self.as_type.e1e)] -// CHECK:STDOUT: %ptr.loc28_16.1: type = ptr_type @F.4.%Self.as_type.loc28_16.1 (%Self.as_type.e1e) [symbolic = %ptr.loc28_16.1 (constants.%ptr.e87)] +// CHECK:STDOUT: %ptr.loc28_16.1: type = ptr_type %Self.as_type.loc28_16.1 [symbolic = %ptr.loc28_16.1 (constants.%ptr.e87)] // CHECK:STDOUT: %struct_type.x.y.loc28_36.1: type = struct_type {.x: @F.4.%Self.as_type.loc28_16.1 (%Self.as_type.e1e), .y: %empty_tuple.type} [symbolic = %struct_type.x.y.loc28_36.1 (constants.%struct_type.x.y.270)] // CHECK:STDOUT: %tuple.type: type = tuple_type (@F.4.%ptr.loc28_16.1 (%ptr.e87), @F.4.%struct_type.x.y.loc28_36.1 (%struct_type.x.y.270)) [symbolic = %tuple.type (constants.%tuple.type.46b)] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/impl/use_assoc_const.carbon b/toolchain/check/testdata/impl/use_assoc_const.carbon index f284480657be..fd711b346bce 100644 --- a/toolchain/check/testdata/impl/use_assoc_const.carbon +++ b/toolchain/check/testdata/impl/use_assoc_const.carbon @@ -3223,7 +3223,7 @@ fn F() { // CHECK:STDOUT: %int.convert_checked.loc5_37.2: init Core.IntLiteral = call %bound_method.loc5_37.3(%N.ref) [symbolic = %int.convert_checked.loc5_37.1 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc5_37.1: Core.IntLiteral = value_of_initializer %int.convert_checked.loc5_37.2 [symbolic = %int.convert_checked.loc5_37.1 (constants.%int.convert_checked)] // CHECK:STDOUT: %.loc5_37.2: Core.IntLiteral = converted %N.ref, %.loc5_37.1 [symbolic = %int.convert_checked.loc5_37.1 (constants.%int.convert_checked)] -// CHECK:STDOUT: %array_type.loc5_38.2: type = array_type %.loc5_37.2, bool [symbolic = %array_type.loc5_38.1 (constants.%array_type.a05)] +// CHECK:STDOUT: %array_type.loc5_38.2: type = array_type %.loc5_37.2, %.loc5_31.2 [symbolic = %array_type.loc5_38.1 (constants.%array_type.a05)] // CHECK:STDOUT: %self.param: @F.1.%Self.as_type.loc5_14.1 (%Self.as_type.b70) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.as_type.loc5_14.1 (constants.%Self.as_type.b70)] { // CHECK:STDOUT: %Self.ref: %I.type = name_ref Self, @I.%Self [symbolic = %Self (constants.%Self.826)] @@ -3258,7 +3258,7 @@ fn F() { // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc9_31.1: type = value_of_initializer %bool.make_type [concrete = bool] // CHECK:STDOUT: %.loc9_31.2: type = converted %bool.make_type, %.loc9_31.1 [concrete = bool] -// CHECK:STDOUT: %array_type: type = array_type %int_2, bool [concrete = constants.%array_type.c9b] +// CHECK:STDOUT: %array_type: type = array_type %int_2, %.loc9_31.2 [concrete = constants.%array_type.c9b] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @impl.dd2.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = bind_name self, %self.param diff --git a/toolchain/check/testdata/index/array_element_access.carbon b/toolchain/check/testdata/index/array_element_access.carbon index be6e2168ccec..43a83eb1af29 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -75,7 +75,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] -// CHECK:STDOUT: %array_type: type = array_type %int_2, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_2, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index 909ea37f5950..6fae8681887c 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -110,7 +110,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc13: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc13: type = array_type %int_3.loc13, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc13: type = array_type %int_3.loc13, %i32.loc13 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %array_type = bind_name b, %b.param // CHECK:STDOUT: } @@ -123,7 +123,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc21: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc21: type = array_type %int_3.loc21, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc21: type = array_type %int_3.loc21, %i32.loc21 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %array_type = bind_name b, %b.param // CHECK:STDOUT: } @@ -176,7 +176,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc14_21: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc14: type = array_type %int_3.loc14_21, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc14: type = array_type %int_3.loc14_21, %i32.loc14 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { @@ -201,7 +201,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc17_14: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc17_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc17_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc17_11 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %pa: ref %ptr.235 = bind_name pa, %pa.var // CHECK:STDOUT: %a.ref.loc18: ref %array_type = name_ref a, %a @@ -272,7 +272,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc22_21: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc22: type = array_type %int_3.loc22_21, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc22: type = array_type %int_3.loc22_21, %i32.loc22 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: %a.ref: ref %array_type = name_ref a, %a diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index 5af56f8f89cc..54d4a8799f23 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -79,7 +79,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon index 520cb9531071..f1f8655c2b7e 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -68,7 +68,7 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon b/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon index 9b75e13c2d10..0325aa65d017 100644 --- a/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon +++ b/toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon @@ -67,7 +67,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = bind_name a, %a.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index c9c0e7ae18b9..c492432f9cf4 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -103,7 +103,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3] -// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_3, %i32.loc13 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %array_type = bind_name b, %b.param // CHECK:STDOUT: } @@ -137,7 +137,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %.loc19_14: type = splice_block %ptr.loc19 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc19_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc19: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc19: type = ptr_type %i32.loc19_11 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %pb: ref %ptr.235 = bind_name pb, %pb.var // CHECK:STDOUT: %b.ref.loc24: %array_type = name_ref b, %b @@ -188,7 +188,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %.loc32_14: type = splice_block %ptr.loc32 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc32_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc32_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc32: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc32: type = ptr_type %i32.loc32_11 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %pf: ref %ptr.235 = bind_name pf, %pf.var // CHECK:STDOUT: %F.ref.loc37: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index e1e371db7071..e96d03e3ee86 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -80,7 +80,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] -// CHECK:STDOUT: %array_type: type = array_type %int_2, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_2, %i32.loc11 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %array_type = bind_name c, %c.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon b/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon index 506a922271f5..db433b5497a6 100644 --- a/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon +++ b/toolchain/check/testdata/interface/min_prelude/compound_member_access.carbon @@ -904,7 +904,7 @@ fn Works() { // CHECK:STDOUT: %Self.ref: %L1.type = name_ref Self, @L1.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_24.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc5_24.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc5_24.2: type = converted %Self.ref, %Self.as_type.loc5_24.2 [symbolic = %Self.as_type.loc5_24.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %ptr.loc5_24.2: type = ptr_type %Self.as_type [symbolic = %ptr.loc5_24.1 (constants.%ptr.72f01d.1)] +// CHECK:STDOUT: %ptr.loc5_24.2: type = ptr_type %.loc5_24.2 [symbolic = %ptr.loc5_24.1 (constants.%ptr.72f01d.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %self: @S1.%ptr.loc5_24.1 (%ptr.72f01d.1) = bind_name self, %self.param // CHECK:STDOUT: } @@ -927,7 +927,7 @@ fn Works() { // CHECK:STDOUT: generic fn @S1(@L1.%Self: %L1.type) { // CHECK:STDOUT: %Self: %L1.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc5_24.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc5_24.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %ptr.loc5_24.1: type = ptr_type @S1.%Self.as_type.loc5_24.1 (%Self.as_type) [symbolic = %ptr.loc5_24.1 (constants.%ptr.72f01d.1)] +// CHECK:STDOUT: %ptr.loc5_24.1: type = ptr_type %Self.as_type.loc5_24.1 [symbolic = %ptr.loc5_24.1 (constants.%ptr.72f01d.1)] // CHECK:STDOUT: // CHECK:STDOUT: fn[addr %self.param_patt: @S1.%ptr.loc5_24.1 (%ptr.72f01d.1)](); // CHECK:STDOUT: } @@ -947,7 +947,7 @@ fn Works() { // CHECK:STDOUT: %.loc12_8.2: type = fn_type_with_self_type constants.%S1.type, %L1.facet [symbolic = %.loc12_8.2 (constants.%.e74b40.1)] // CHECK:STDOUT: %impl.elem1.loc12_8.2: @Simple4.%.loc12_8.2 (%.e74b40.1) = impl_witness_access %T.as_wit.iface0.loc10_4.2, element1 [symbolic = %impl.elem1.loc12_8.2 (constants.%impl.elem1.094686.1)] // CHECK:STDOUT: %specific_impl_fn.loc12_8.2: = specific_impl_function %impl.elem1.loc12_8.2, @S1(%L1.facet) [symbolic = %specific_impl_fn.loc12_8.2 (constants.%specific_impl_fn.e8e9e6.1)] -// CHECK:STDOUT: %ptr: type = ptr_type @Simple4.%T.as_type.loc9_23.2 (%T.as_type) [symbolic = %ptr (constants.%ptr.72f01d.2)] +// CHECK:STDOUT: %ptr: type = ptr_type %T.as_type.loc9_23.2 [symbolic = %ptr (constants.%ptr.72f01d.2)] // CHECK:STDOUT: %require_complete.loc12: = require_complete_type @Simple4.%ptr (%ptr.72f01d.2) [symbolic = %require_complete.loc12 (constants.%require_complete.9326df.1)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%T.patt.loc9_12.1: %L1.type, %x.param_patt: @Simple4.%T.as_type.loc9_23.2 (%T.as_type)) { @@ -1005,7 +1005,7 @@ fn Works() { // CHECK:STDOUT: %.loc19_8: type = fn_type_with_self_type constants.%S1.type, %L1.facet [symbolic = %.loc19_8 (constants.%.e74b40.2)] // CHECK:STDOUT: %impl.elem1.loc19_8.2: @Compound4.%.loc19_8 (%.e74b40.2) = impl_witness_access %V.as_wit.iface0.loc17_4.2, element1 [symbolic = %impl.elem1.loc19_8.2 (constants.%impl.elem1.094686.2)] // CHECK:STDOUT: %specific_impl_fn.loc19_8.2: = specific_impl_function %impl.elem1.loc19_8.2, @S1(%L1.facet) [symbolic = %specific_impl_fn.loc19_8.2 (constants.%specific_impl_fn.e8e9e6.2)] -// CHECK:STDOUT: %ptr: type = ptr_type @Compound4.%V.as_type.loc16_25.2 (%V.as_type) [symbolic = %ptr (constants.%ptr.72f01d.3)] +// CHECK:STDOUT: %ptr: type = ptr_type %V.as_type.loc16_25.2 [symbolic = %ptr (constants.%ptr.72f01d.3)] // CHECK:STDOUT: %require_complete.loc19: = require_complete_type @Compound4.%ptr (%ptr.72f01d.3) [symbolic = %require_complete.loc19 (constants.%require_complete.9326df.2)] // CHECK:STDOUT: // CHECK:STDOUT: fn(%V.patt.loc16_14.1: %L1.type, %y.param_patt: @Compound4.%V.as_type.loc16_25.2 (%V.as_type)) { @@ -1188,7 +1188,7 @@ fn Works() { // CHECK:STDOUT: %Self.ref: %L2.type = name_ref Self, @L2.%Self [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc6_24.2: type = facet_access_type %Self.ref [symbolic = %Self.as_type.loc6_24.1 (constants.%Self.as_type)] // CHECK:STDOUT: %.loc6_24.2: type = converted %Self.ref, %Self.as_type.loc6_24.2 [symbolic = %Self.as_type.loc6_24.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %ptr.loc6_24.2: type = ptr_type %Self.as_type [symbolic = %ptr.loc6_24.1 (constants.%ptr.f3e54b.1)] +// CHECK:STDOUT: %ptr.loc6_24.2: type = ptr_type %.loc6_24.2 [symbolic = %ptr.loc6_24.1 (constants.%ptr.f3e54b.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %self: @S2.%ptr.loc6_24.1 (%ptr.f3e54b.1) = bind_name self, %self.param // CHECK:STDOUT: } @@ -1211,7 +1211,7 @@ fn Works() { // CHECK:STDOUT: generic fn @S2(@L2.%Self: %L2.type) { // CHECK:STDOUT: %Self: %L2.type = bind_symbolic_name Self, 0 [symbolic = %Self (constants.%Self)] // CHECK:STDOUT: %Self.as_type.loc6_24.1: type = facet_access_type %Self [symbolic = %Self.as_type.loc6_24.1 (constants.%Self.as_type)] -// CHECK:STDOUT: %ptr.loc6_24.1: type = ptr_type @S2.%Self.as_type.loc6_24.1 (%Self.as_type) [symbolic = %ptr.loc6_24.1 (constants.%ptr.f3e54b.1)] +// CHECK:STDOUT: %ptr.loc6_24.1: type = ptr_type %Self.as_type.loc6_24.1 [symbolic = %ptr.loc6_24.1 (constants.%ptr.f3e54b.1)] // CHECK:STDOUT: // CHECK:STDOUT: fn[addr %self.param_patt: @S2.%ptr.loc6_24.1 (%ptr.f3e54b.1)](); // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/import.carbon b/toolchain/check/testdata/interface/no_prelude/import.carbon index f3d4edec6d42..865e25fd444e 100644 --- a/toolchain/check/testdata/interface/no_prelude/import.carbon +++ b/toolchain/check/testdata/interface/no_prelude/import.carbon @@ -253,7 +253,7 @@ var f: ForwardDeclared* = &f_ref.f; // CHECK:STDOUT: %f.var: ref %ptr = var f // CHECK:STDOUT: %.loc16_23: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %ForwardDeclared.ref.loc16: type = name_ref ForwardDeclared, imports.%Main.ForwardDeclared [concrete = constants.%ForwardDeclared.type] -// CHECK:STDOUT: %ptr: type = ptr_type %ForwardDeclared.type [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %ForwardDeclared.ref.loc16 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %f: ref %ptr = bind_name f, %f.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon b/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon index 678a4a9397a0..43dafc7ae4cc 100644 --- a/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon +++ b/toolchain/check/testdata/interface/no_prelude/syntactic_merge.carbon @@ -1123,7 +1123,7 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %const [concrete = constants.%const] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const: type = const_type %C [concrete = constants.%const] +// CHECK:STDOUT: %const: type = const_type %C.ref [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc6_15.1: %const = bind_symbolic_name a, 0 [symbolic = %a.loc6_15.2 (constants.%a)] // CHECK:STDOUT: } @@ -1132,8 +1132,8 @@ interface Foo(a:! const (const C)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc18: type = splice_block %const.loc18_19 [concrete = constants.%const] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %const.loc18_26: type = const_type %C [concrete = constants.%const] -// CHECK:STDOUT: %const.loc18_19: type = const_type %const [concrete = constants.%const] +// CHECK:STDOUT: %const.loc18_26: type = const_type %C.ref [concrete = constants.%const] +// CHECK:STDOUT: %const.loc18_19: type = const_type %const.loc18_26 [concrete = constants.%const] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc18_15.1: %const = bind_symbolic_name a, 0 [symbolic = %a.loc18_15.2 (constants.%a)] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/generic.carbon b/toolchain/check/testdata/let/generic.carbon index aa16b9b25e80..694287ba1731 100644 --- a/toolchain/check/testdata/let/generic.carbon +++ b/toolchain/check/testdata/let/generic.carbon @@ -58,7 +58,7 @@ fn F() { // CHECK:STDOUT: %p.var: ref %ptr = var p // CHECK:STDOUT: %.loc13_11: type = splice_block %ptr [symbolic = constants.%ptr] { // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T [symbolic = constants.%T] -// CHECK:STDOUT: %ptr: type = ptr_type %T [symbolic = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %T.ref.loc13 [symbolic = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr = bind_name p, %p.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index dd1fda789095..1b25fe72dca0 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -256,7 +256,7 @@ fn Main() { // CHECK:STDOUT: %.loc23_13: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc23 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr.235 = bind_name p, %p.var // CHECK:STDOUT: %p.ref.loc24: ref %ptr.235 = name_ref p, %p 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 43aa15cd0fb9..4991c7b27681 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 @@ -218,7 +218,7 @@ fn Main() { // CHECK:STDOUT: %i32.loc39_3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_32.loc39_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc39_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc39_9 [concrete = constants.%ptr.235] // CHECK:STDOUT: assign %i32.loc39_3, %ptr // CHECK:STDOUT: %int_1.loc44: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc44: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] diff --git a/toolchain/check/testdata/operators/overloaded/add.carbon b/toolchain/check/testdata/operators/overloaded/add.carbon index 7e667adc211f..559818a2b4c4 100644 --- a/toolchain/check/testdata/operators/overloaded/add.carbon +++ b/toolchain/check/testdata/operators/overloaded/add.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/bit_and.carbon b/toolchain/check/testdata/operators/overloaded/bit_and.carbon index c93dc2d04a47..27a5c09f3ea4 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_and.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_and.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/bit_or.carbon b/toolchain/check/testdata/operators/overloaded/bit_or.carbon index bdada6fbc02a..5922fbd8b1f0 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_or.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_or.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon index 04c30c895aa9..5d8ff1643d3e 100644 --- a/toolchain/check/testdata/operators/overloaded/bit_xor.carbon +++ b/toolchain/check/testdata/operators/overloaded/bit_xor.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/dec.carbon b/toolchain/check/testdata/operators/overloaded/dec.carbon index 9f337ec39139..b05e87f661a4 100644 --- a/toolchain/check/testdata/operators/overloaded/dec.carbon +++ b/toolchain/check/testdata/operators/overloaded/dec.carbon @@ -78,7 +78,7 @@ fn TestOp() { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc18_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/div.carbon b/toolchain/check/testdata/operators/overloaded/div.carbon index 7e6762084df6..c6ba4b31579c 100644 --- a/toolchain/check/testdata/operators/overloaded/div.carbon +++ b/toolchain/check/testdata/operators/overloaded/div.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 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 8660c50479ab..ee452f99292d 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_assign_non_ref.carbon @@ -133,7 +133,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc16_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: } @@ -155,7 +155,7 @@ fn TestAddAssignNonRef(a: C, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc19_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc19_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc19_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 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 368e6d6c3f9b..7a1878dfde3e 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 @@ -179,7 +179,7 @@ fn TestAssign(b: D) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc20_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc20_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc20_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/inc.carbon b/toolchain/check/testdata/operators/overloaded/inc.carbon index b64850d87496..d9c3b20c7352 100644 --- a/toolchain/check/testdata/operators/overloaded/inc.carbon +++ b/toolchain/check/testdata/operators/overloaded/inc.carbon @@ -78,7 +78,7 @@ fn TestOp() { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc18_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/left_shift.carbon b/toolchain/check/testdata/operators/overloaded/left_shift.carbon index 5b01a7f0afc1..b0119f836f83 100644 --- a/toolchain/check/testdata/operators/overloaded/left_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/left_shift.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/mod.carbon b/toolchain/check/testdata/operators/overloaded/mod.carbon index 80f2968341f3..df8f5b4356f7 100644 --- a/toolchain/check/testdata/operators/overloaded/mod.carbon +++ b/toolchain/check/testdata/operators/overloaded/mod.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/mul.carbon b/toolchain/check/testdata/operators/overloaded/mul.carbon index 01a26a272559..e2ca5f0e95ea 100644 --- a/toolchain/check/testdata/operators/overloaded/mul.carbon +++ b/toolchain/check/testdata/operators/overloaded/mul.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/right_shift.carbon b/toolchain/check/testdata/operators/overloaded/right_shift.carbon index d01d762457aa..ccca467f626e 100644 --- a/toolchain/check/testdata/operators/overloaded/right_shift.carbon +++ b/toolchain/check/testdata/operators/overloaded/right_shift.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/operators/overloaded/sub.carbon b/toolchain/check/testdata/operators/overloaded/sub.carbon index c074a713f4a7..8d8ca1b94551 100644 --- a/toolchain/check/testdata/operators/overloaded/sub.carbon +++ b/toolchain/check/testdata/operators/overloaded/sub.carbon @@ -119,7 +119,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %a.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc30: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc30_18: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc30_18 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.019 = bind_name a, %a.param // CHECK:STDOUT: %b.param: %C = value_param call_param1 @@ -165,7 +165,7 @@ fn TestAssign(a: C*, b: C) { // CHECK:STDOUT: %self.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref.loc23_20: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr: type = ptr_type %C.ref.loc23_20 [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %self: %ptr.019 = bind_name self, %self.param // CHECK:STDOUT: %other.param: %C = value_param call_param1 diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index bafc97e2b122..2064961cb292 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -124,7 +124,7 @@ fn F() { // CHECK:STDOUT: %int_32.loc14_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc14_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc14: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] -// CHECK:STDOUT: %ptr.loc14: type = ptr_type %struct_type.a.b.501 [concrete = constants.%ptr.3ee] +// CHECK:STDOUT: %ptr.loc14: type = ptr_type %struct_type.a.b.loc14 [concrete = constants.%ptr.3ee] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr.3ee = bind_name p, %p.var // CHECK:STDOUT: name_binding_decl { @@ -139,7 +139,7 @@ fn F() { // CHECK:STDOUT: %.loc15_13: type = splice_block %ptr.loc15 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc15: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc15: type = ptr_type %i32.loc15 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %q: ref %ptr.235 = bind_name q, %q.var // CHECK:STDOUT: name_binding_decl { @@ -154,7 +154,7 @@ fn F() { // CHECK:STDOUT: %.loc16_13: type = splice_block %ptr.loc16 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc16: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc16: type = ptr_type %i32.loc16 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %r: ref %ptr.235 = bind_name r, %r.var // CHECK:STDOUT: name_binding_decl { @@ -206,7 +206,7 @@ fn F() { // CHECK:STDOUT: %.loc19_14: type = splice_block %ptr.loc19 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc19: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc19: type = ptr_type %i32.loc19 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %t0: ref %ptr.235 = bind_name t0, %t0.var // CHECK:STDOUT: name_binding_decl { @@ -222,7 +222,7 @@ fn F() { // CHECK:STDOUT: %.loc20_14: type = splice_block %ptr.loc20 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc20: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc20: type = ptr_type %i32.loc20 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %t1: ref %ptr.235 = bind_name t1, %t1.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/pointer/arrow.carbon b/toolchain/check/testdata/pointer/arrow.carbon index 80969bd01a8b..700e3bef489c 100644 --- a/toolchain/check/testdata/pointer/arrow.carbon +++ b/toolchain/check/testdata/pointer/arrow.carbon @@ -60,7 +60,7 @@ fn Foo(ptr: C*) { // CHECK:STDOUT: %ptr.param: %ptr.019 = value_param call_param0 // CHECK:STDOUT: %.loc16: type = splice_block %ptr.loc16_14 [concrete = constants.%ptr.019] { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] -// CHECK:STDOUT: %ptr.loc16_14: type = ptr_type %C [concrete = constants.%ptr.019] +// CHECK:STDOUT: %ptr.loc16_14: type = ptr_type %C.ref [concrete = constants.%ptr.019] // CHECK:STDOUT: } // CHECK:STDOUT: %ptr.loc16_8: %ptr.019 = bind_name ptr, %ptr.param // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index 16be3c8ee897..053b15dc0543 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -94,7 +94,7 @@ fn F() -> i32 { // CHECK:STDOUT: %.loc13_13: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc13 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr = bind_name p, %p.var // CHECK:STDOUT: %p.ref: ref %ptr = name_ref p, %p diff --git a/toolchain/check/testdata/pointer/fail_address_of_value.carbon b/toolchain/check/testdata/pointer/fail_address_of_value.carbon index a856cdd8929c..f4bd43519f8c 100644 --- a/toolchain/check/testdata/pointer/fail_address_of_value.carbon +++ b/toolchain/check/testdata/pointer/fail_address_of_value.carbon @@ -267,7 +267,7 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: %addr.loc79: %ptr.db7 = addr_of [concrete = ] // CHECK:STDOUT: %int_32.loc84: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc84: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const: type = const_type %i32 [concrete = constants.%const] +// CHECK:STDOUT: %const: type = const_type %i32.loc84 [concrete = constants.%const] // CHECK:STDOUT: %ptr: type = ptr_type %const [concrete = constants.%ptr.36b] // CHECK:STDOUT: %addr.loc84: %ptr.db7 = addr_of [concrete = ] // CHECK:STDOUT: return @@ -299,7 +299,7 @@ fn AddressOfParam(param: i32) { // CHECK:STDOUT: %.loc100_22: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc100: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc100: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc100 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %param_addr: ref %ptr.235 = bind_name param_addr, %param_addr.var // CHECK:STDOUT: return diff --git a/toolchain/check/testdata/pointer/fail_type_mismatch.carbon b/toolchain/check/testdata/pointer/fail_type_mismatch.carbon index e78d3af8bcd3..ef690ca50be1 100644 --- a/toolchain/check/testdata/pointer/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/pointer/fail_type_mismatch.carbon @@ -53,14 +53,14 @@ fn ConstMismatch(p: const {}*) -> const ({}*) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc11_43: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_44: type = converted %.loc11_43, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %ptr.loc11_44: type = ptr_type %empty_struct_type [concrete = constants.%ptr.c28] -// CHECK:STDOUT: %const.loc11_35: type = const_type %ptr.c28 [concrete = constants.%const.987] +// CHECK:STDOUT: %ptr.loc11_44: type = ptr_type %.loc11_44 [concrete = constants.%ptr.c28] +// CHECK:STDOUT: %const.loc11_35: type = const_type %ptr.loc11_44 [concrete = constants.%const.987] // CHECK:STDOUT: %p.param: %ptr.bf9 = value_param call_param0 // CHECK:STDOUT: %.loc11_29: type = splice_block %ptr.loc11_29 [concrete = constants.%ptr.bf9] { // CHECK:STDOUT: %.loc11_28: %empty_struct_type = struct_literal () // CHECK:STDOUT: %.loc11_21: type = converted %.loc11_28, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %const.loc11_21: type = const_type %empty_struct_type [concrete = constants.%const.c48] -// CHECK:STDOUT: %ptr.loc11_29: type = ptr_type %const.c48 [concrete = constants.%ptr.bf9] +// CHECK:STDOUT: %const.loc11_21: type = const_type %.loc11_21 [concrete = constants.%const.c48] +// CHECK:STDOUT: %ptr.loc11_29: type = ptr_type %const.loc11_21 [concrete = constants.%ptr.bf9] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.bf9 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %const.987 = out_param call_param1 diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index b122387f780e..19945b5ccdac 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -75,7 +75,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: %.loc5_15: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc5 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a_ref: ref %ptr = bind_name a_ref, %a_ref.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/nested_const.carbon b/toolchain/check/testdata/pointer/nested_const.carbon index 654eeb6024c9..b3dc36a28620 100644 --- a/toolchain/check/testdata/pointer/nested_const.carbon +++ b/toolchain/check/testdata/pointer/nested_const.carbon @@ -49,16 +49,16 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc12_47: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12_47: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc12_41: type = const_type %i32 [concrete = constants.%const.20a] +// CHECK:STDOUT: %const.loc12_41: type = const_type %i32.loc12_47 [concrete = constants.%const.20a] // CHECK:STDOUT: %p.param: %const.fa2 = value_param call_param0 // CHECK:STDOUT: %.loc12: type = splice_block %const.loc12_9 [concrete = constants.%const.fa2] { // CHECK:STDOUT: %int_32.loc12_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc12_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc12_23: type = const_type %i32 [concrete = constants.%const.20a] -// CHECK:STDOUT: %ptr.loc12_32: type = ptr_type %const.20a [concrete = constants.%ptr.36b] -// CHECK:STDOUT: %const.loc12_16: type = const_type %ptr.36b [concrete = constants.%const.58f] -// CHECK:STDOUT: %ptr.loc12_34: type = ptr_type %const.58f [concrete = constants.%ptr.6e8] -// CHECK:STDOUT: %const.loc12_9: type = const_type %ptr.6e8 [concrete = constants.%const.fa2] +// CHECK:STDOUT: %const.loc12_23: type = const_type %i32.loc12_29 [concrete = constants.%const.20a] +// CHECK:STDOUT: %ptr.loc12_32: type = ptr_type %const.loc12_23 [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %const.loc12_16: type = const_type %ptr.loc12_32 [concrete = constants.%const.58f] +// CHECK:STDOUT: %ptr.loc12_34: type = ptr_type %const.loc12_16 [concrete = constants.%ptr.6e8] +// CHECK:STDOUT: %const.loc12_9: type = const_type %ptr.loc12_34 [concrete = constants.%const.fa2] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %const.fa2 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %const.20a = out_param call_param1 diff --git a/toolchain/check/testdata/pointer/types.carbon b/toolchain/check/testdata/pointer/types.carbon index a2d15b97ab01..e8aea996e2f4 100644 --- a/toolchain/check/testdata/pointer/types.carbon +++ b/toolchain/check/testdata/pointer/types.carbon @@ -53,12 +53,12 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc11_20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc11_23: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc11_23: type = ptr_type %i32.loc11_20 [concrete = constants.%ptr.235] // CHECK:STDOUT: %p.param: %ptr.235 = value_param call_param0 // CHECK:STDOUT: %.loc11: type = splice_block %ptr.loc11_14 [concrete = constants.%ptr.235] { // CHECK:STDOUT: %int_32.loc11_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc11_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc11_14: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr.loc11_14: type = ptr_type %i32.loc11_11 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.235 = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param1 @@ -72,14 +72,14 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.loc15_38: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_38: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc15_32: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc15_42: type = ptr_type %const [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %const.loc15_32: type = const_type %i32.loc15_38 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc15_42: type = ptr_type %const.loc15_32 [concrete = constants.%ptr.36b] // CHECK:STDOUT: %p.param: %ptr.36b = value_param call_param0 // CHECK:STDOUT: %.loc15: type = splice_block %ptr.loc15_25 [concrete = constants.%ptr.36b] { // CHECK:STDOUT: %int_32.loc15_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc15_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %const.loc15_16: type = const_type %i32 [concrete = constants.%const] -// CHECK:STDOUT: %ptr.loc15_25: type = ptr_type %const [concrete = constants.%ptr.36b] +// CHECK:STDOUT: %const.loc15_16: type = const_type %i32.loc15_22 [concrete = constants.%const] +// CHECK:STDOUT: %ptr.loc15_25: type = ptr_type %const.loc15_16 [concrete = constants.%ptr.36b] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.36b = bind_name p, %p.param // CHECK:STDOUT: %return.param: ref %ptr.36b = out_param call_param1 diff --git a/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon b/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon index be26739ac23f..734ce8093417 100644 --- a/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon +++ b/toolchain/check/testdata/struct/no_prelude/fail_nested_incomplete.carbon @@ -53,7 +53,7 @@ var p: Incomplete* = &s.a; // CHECK:STDOUT: %p.var: ref %ptr = var p // CHECK:STDOUT: %.loc22_18: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Incomplete.ref.loc22: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] -// CHECK:STDOUT: %ptr: type = ptr_type %Incomplete [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Incomplete.ref.loc22 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr = bind_name p, %p.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon b/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon index 774ffbda44c8..eec7430175f3 100644 --- a/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon +++ b/toolchain/check/testdata/tuple/access/fail_non_tuple_access.carbon @@ -106,7 +106,7 @@ fn Main() { // CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] -// CHECK:STDOUT: %array_type: type = array_type %int_2, %i32 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_2, %i32.loc18 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %non_tuple: ref %array_type = bind_name non_tuple, %non_tuple.var // CHECK:STDOUT: name_binding_decl { diff --git a/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon b/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon index 16e376eb28f4..5458676a9ff4 100644 --- a/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon +++ b/toolchain/check/testdata/tuple/fail_nested_incomplete.carbon @@ -70,7 +70,7 @@ var p: Incomplete* = &t[1]; // CHECK:STDOUT: %p.var: ref %ptr = var p // CHECK:STDOUT: %.loc22_18: type = splice_block %ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %Incomplete.ref.loc22: type = name_ref Incomplete, %Incomplete.decl [concrete = constants.%Incomplete] -// CHECK:STDOUT: %ptr: type = ptr_type %Incomplete [concrete = constants.%ptr] +// CHECK:STDOUT: %ptr: type = ptr_type %Incomplete.ref.loc22 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr = bind_name p, %p.var // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/where_expr/dot_self_index.carbon b/toolchain/check/testdata/where_expr/dot_self_index.carbon index 0875843e2bf1..3875fb627a98 100644 --- a/toolchain/check/testdata/where_expr/dot_self_index.carbon +++ b/toolchain/check/testdata/where_expr/dot_self_index.carbon @@ -117,7 +117,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %.Self.as_wit.iface0.loc18_34.1: = facet_access_witness %.Self.ref, element0 [symbolic = %.Self.as_wit.iface0.loc18_34.2 (constants.%.Self.as_wit.iface0.663)] // CHECK:STDOUT: %impl.elem0.loc18_34.1: type = impl_witness_access %.Self.as_wit.iface0.loc18_34.1, element0 [symbolic = %impl.elem0.loc18_34.2 (constants.%impl.elem0.d0b)] // CHECK:STDOUT: %T.ref.loc18_39: type = name_ref T, %T.loc18_6.1 [symbolic = %T.loc18_6.2 (constants.%T)] -// CHECK:STDOUT: %ptr.loc18_40.1: type = ptr_type %T [symbolic = %ptr.loc18_40.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc18_40.1: type = ptr_type %T.ref.loc18_39 [symbolic = %ptr.loc18_40.2 (constants.%ptr.79f)] // CHECK:STDOUT: %.loc18_28.2: type = where_expr %.Self.1 [symbolic = %Empty_where.type (constants.%Empty_where.type.5a8)] { // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc18_34.1, %ptr.loc18_40.1 // CHECK:STDOUT: } @@ -145,7 +145,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %impl.elem0: type = impl_witness_access %.Self.as_wit.iface0, element0 [symbolic_self = constants.%impl.elem0.1bd] // CHECK:STDOUT: %int_32.loc20_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.loc20_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc20_31 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc20_20.2: type = where_expr %.Self [concrete = constants.%Empty_where.type.52c] { // CHECK:STDOUT: requirement_rewrite %impl.elem0, %ptr // CHECK:STDOUT: } @@ -192,7 +192,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %.Self.as_type.loc18_34.2: type = facet_access_type %.Self.2 [symbolic = %.Self.as_type.loc18_34.2 (constants.%.Self.as_type.a75)] // CHECK:STDOUT: %.Self.as_wit.iface0.loc18_34.2: = facet_access_witness %.Self.2, element0 [symbolic = %.Self.as_wit.iface0.loc18_34.2 (constants.%.Self.as_wit.iface0.663)] // CHECK:STDOUT: %impl.elem0.loc18_34.2: type = impl_witness_access %.Self.as_wit.iface0.loc18_34.2, element0 [symbolic = %impl.elem0.loc18_34.2 (constants.%impl.elem0.d0b)] -// CHECK:STDOUT: %ptr.loc18_40.2: type = ptr_type @H.%T.loc18_6.2 (%T) [symbolic = %ptr.loc18_40.2 (constants.%ptr.79f)] +// CHECK:STDOUT: %ptr.loc18_40.2: type = ptr_type %T.loc18_6.2 [symbolic = %ptr.loc18_40.2 (constants.%ptr.79f)] // CHECK:STDOUT: %Empty_where.type: type = facet_type <@Empty, @Empty(%T.loc18_6.2) where %impl.elem0.loc18_34.2 (constants.%impl.elem0.d0b) = %ptr.loc18_40.2 (constants.%ptr.79f)> [symbolic = %Empty_where.type (constants.%Empty_where.type.5a8)] // CHECK:STDOUT: %V.loc18_43.2: type = bind_symbolic_name V, 1 [symbolic = %V.loc18_43.2 (constants.%V)] // CHECK:STDOUT: %V.patt.loc18_43.2: type = symbolic_binding_pattern V, 1 [symbolic = %V.patt.loc18_43.2 (constants.%V.patt)] diff --git a/toolchain/check/type.cpp b/toolchain/check/type.cpp index 2d4ee442ff2b..f0b5df4a3c55 100644 --- a/toolchain/check/type.cpp +++ b/toolchain/check/type.cpp @@ -152,7 +152,7 @@ auto GetInterfaceType(Context& context, SemIR::InterfaceId interface_id, FacetTypeFromInterface(context, interface_id, specific_id).facet_type_id); } -auto GetPointerType(Context& context, SemIR::TypeId pointee_type_id) +auto GetPointerType(Context& context, SemIR::InstId pointee_type_id) -> SemIR::TypeId { return GetTypeImpl(context, pointee_type_id); } diff --git a/toolchain/check/type.h b/toolchain/check/type.h index 93128f9f42c0..f58e14dc689d 100644 --- a/toolchain/check/type.h +++ b/toolchain/check/type.h @@ -70,7 +70,7 @@ auto GetInterfaceType(Context& context, SemIR::InterfaceId interface_id, SemIR::SpecificId specific_id) -> SemIR::TypeId; // Returns a pointer type whose pointee type is `pointee_type_id`. -auto GetPointerType(Context& context, SemIR::TypeId pointee_type_id) +auto GetPointerType(Context& context, SemIR::InstId pointee_type_id) -> SemIR::TypeId; // Returns a struct type with the given fields. diff --git a/toolchain/check/type_completion.cpp b/toolchain/check/type_completion.cpp index 92249f643a28..fd26eed2fde6 100644 --- a/toolchain/check/type_completion.cpp +++ b/toolchain/check/type_completion.cpp @@ -243,7 +243,7 @@ auto TypeCompleter::ProcessStep() -> bool { auto TypeCompleter::AddNestedIncompleteTypes(SemIR::Inst type_inst) -> bool { CARBON_KIND_SWITCH(type_inst) { case CARBON_KIND(SemIR::ArrayType inst): { - Push(inst.element_type_id); + Push(context_->types().GetTypeIdForTypeInstId(inst.element_type_inst_id)); break; } case CARBON_KIND(SemIR::StructType inst): { @@ -282,7 +282,7 @@ auto TypeCompleter::AddNestedIncompleteTypes(SemIR::Inst type_inst) -> bool { break; } case CARBON_KIND(SemIR::ConstType inst): { - Push(inst.inner_id); + Push(context_->types().GetTypeIdForTypeInstId(inst.inner_id)); break; } case CARBON_KIND(SemIR::FacetType inst): { @@ -335,7 +335,8 @@ auto TypeCompleter::MakePointerValueRepr( // TODO: Should we add `const` qualification to `pointee_id`? return {.kind = SemIR::ValueRepr::Pointer, .aggregate_kind = aggregate_kind, - .type_id = GetPointerType(*context_, pointee_id)}; + .type_id = GetPointerType(*context_, + context_->types().GetInstId(pointee_id))}; } auto TypeCompleter::GetNestedInfo(SemIR::TypeId nested_type_id) const @@ -498,7 +499,7 @@ auto TypeCompleter::BuildInfoForInst(SemIR::TypeId /*type_id*/, -> SemIR::CompleteTypeInfo { // The value representation of `const T` is the same as that of `T`. // Objects are not modifiable through their value representations. - return GetNestedInfo(inst.inner_id); + return GetNestedInfo(context_->types().GetTypeIdForTypeInstId(inst.inner_id)); } // Builds and returns the value representation for the given type. All nested diff --git a/toolchain/check/type_structure.cpp b/toolchain/check/type_structure.cpp index 4de235b743ed..d55c2314231f 100644 --- a/toolchain/check/type_structure.cpp +++ b/toolchain/check/type_structure.cpp @@ -243,7 +243,7 @@ class TypeStructureBuilder { case CARBON_KIND(SemIR::ArrayType array_type): { AppendStructural(TypeStructure::Structural::ConcreteOpenParen); Push(CloseType()); - Push(array_type.element_type_id); + PushInstId(array_type.element_type_inst_id); PushInstId(array_type.bound_id); break; } @@ -261,13 +261,13 @@ class TypeStructureBuilder { case CARBON_KIND(SemIR::ConstType const_type): { // We don't put the `const` into the type structure since it is a // modifier; just move to the inner type. - Push(const_type.inner_id); + PushInstId(const_type.inner_id); break; } case CARBON_KIND(SemIR::PointerType pointer_type): { AppendStructural(TypeStructure::Structural::ConcreteOpenParen); Push(CloseType()); - Push(pointer_type.pointee_id); + PushInstId(pointer_type.pointee_id); break; } case CARBON_KIND(SemIR::TupleType tuple_type): { diff --git a/toolchain/driver/testdata/compile/raw_and_textual_ir.carbon b/toolchain/driver/testdata/compile/raw_and_textual_ir.carbon index 72dc24c3deef..ea3ad14e3141 100644 --- a/toolchain/driver/testdata/compile/raw_and_textual_ir.carbon +++ b/toolchain/driver/testdata/compile/raw_and_textual_ir.carbon @@ -77,7 +77,7 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: inst33: {kind: FunctionDecl, arg0: function0, arg1: inst_block9, type: type(inst34)} // CHECK:STDOUT: inst34: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} // CHECK:STDOUT: inst35: {kind: StructValue, arg0: inst_block_empty, type: type(inst34)} -// CHECK:STDOUT: inst36: {kind: PointerType, arg0: type(inst22), type: type(TypeType)} +// CHECK:STDOUT: inst36: {kind: PointerType, arg0: inst22, type: type(TypeType)} // CHECK:STDOUT: inst37: {kind: NameRef, arg0: name1, arg1: inst17, type: type(inst14)} // CHECK:STDOUT: inst38: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst14)} // CHECK:STDOUT: inst39: {kind: TupleLiteral, arg0: inst_block11, type: type(inst22)} diff --git a/toolchain/driver/testdata/compile/raw_ir.carbon b/toolchain/driver/testdata/compile/raw_ir.carbon index 417d28492eb8..de6b717a2e01 100644 --- a/toolchain/driver/testdata/compile/raw_ir.carbon +++ b/toolchain/driver/testdata/compile/raw_ir.carbon @@ -99,7 +99,7 @@ fn Foo[T:! type](n: T) -> (T, ()) { // CHECK:STDOUT: inst38: {kind: TupleType, arg0: type_block3, type: type(TypeType)} // CHECK:STDOUT: inst39: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} // CHECK:STDOUT: inst40: {kind: StructValue, arg0: inst_block_empty, type: type(inst39)} -// CHECK:STDOUT: inst41: {kind: PointerType, arg0: type(symbolic_constant2), type: type(TypeType)} +// CHECK:STDOUT: inst41: {kind: PointerType, arg0: inst28, type: type(TypeType)} // CHECK:STDOUT: inst42: {kind: RequireCompleteType, arg0: type(symbolic_constant2), type: type(inst(WitnessType))} // CHECK:STDOUT: inst43: {kind: RequireCompleteType, arg0: type(symbolic_constant2), type: type(inst(WitnessType))} // CHECK:STDOUT: inst44: {kind: RequireCompleteType, arg0: type(symbolic_constant3), type: type(inst(WitnessType))} diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index d318a80f669e..0145957e94fc 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -531,7 +531,8 @@ static auto BuildTypeForInst(FileContext& context, InstT /*inst*/) static auto BuildTypeForInst(FileContext& context, SemIR::ArrayType inst) -> llvm::Type* { return llvm::ArrayType::get( - context.GetType(inst.element_type_id), + context.GetType(context.sem_ir().types().GetTypeIdForTypeInstId( + inst.element_type_inst_id)), *context.sem_ir().GetArrayBoundValue(inst.bound_id)); } @@ -558,7 +559,8 @@ static auto BuildTypeForInst(FileContext& context, SemIR::ClassType inst) static auto BuildTypeForInst(FileContext& context, SemIR::ConstType inst) -> llvm::Type* { - return context.GetType(inst.inner_id); + return context.GetType( + context.sem_ir().types().GetTypeIdForTypeInstId(inst.inner_id)); } static auto BuildTypeForInst(FileContext& /*context*/, diff --git a/toolchain/sem_ir/file.h b/toolchain/sem_ir/file.h index cf64e351e2ce..71a987fcbe7e 100644 --- a/toolchain/sem_ir/file.h +++ b/toolchain/sem_ir/file.h @@ -85,6 +85,7 @@ class File : public Printable { -> void; // Returns array bound value from the bound instruction. + // TODO: Move this function elsewhere. auto GetArrayBoundValue(InstId bound_id) const -> std::optional { if (auto bound = insts().TryGetAs( constant_values().GetConstantInstId(bound_id))) { @@ -94,8 +95,10 @@ class File : public Printable { } // Gets the pointee type of the given type, which must be a pointer type. + // TODO: Move this function elsewhere. auto GetPointeeType(TypeId pointer_id) const -> TypeId { - return types().GetAs(pointer_id).pointee_id; + return types().GetTypeIdForTypeInstId( + types().GetAs(pointer_id).pointee_id); } // Returns true if this file is an `impl`. diff --git a/toolchain/sem_ir/stringify_type.cpp b/toolchain/sem_ir/stringify_type.cpp index b973f570d679..a7806e0cae94 100644 --- a/toolchain/sem_ir/stringify_type.cpp +++ b/toolchain/sem_ir/stringify_type.cpp @@ -17,18 +17,17 @@ namespace Carbon::SemIR { -// Map an instruction kind representing a type into an integer describing the -// precedence of that type's syntax. Higher numbers correspond to higher -// precedence. +// Map an instruction kind representing a type expression into an integer +// describing the precedence of that type's syntax. Higher numbers correspond to +// higher precedence. static auto GetTypePrecedence(InstKind kind) -> int { - CARBON_CHECK(kind.is_type() != InstIsType::Never, - "Only called for kinds which can define a type."); if (kind == ConstType::Kind) { return -1; } if (kind == PointerType::Kind) { return -2; } + // TODO: Do any other kinds of type expression need precedence handling? return 0; } @@ -219,7 +218,7 @@ class Stringifier { auto StringifyTypeInst(SemIR::InstId /*inst_id*/, ArrayType inst) -> void { *out_ << "array("; - step_stack_->Push(inst.element_type_id, ", ", inst.bound_id, ")"); + step_stack_->Push(inst.element_type_inst_id, ", ", inst.bound_id, ")"); } auto StringifyTypeInst(SemIR::InstId /*inst_id*/, AssociatedConstantDecl inst) @@ -258,15 +257,14 @@ class Stringifier { *out_ << "const "; // Add parentheses if required. - auto inner_type_inst_id = sem_ir_->types().GetInstId(inst.inner_id); - if (GetTypePrecedence(sem_ir_->insts().Get(inner_type_inst_id).kind()) < + if (GetTypePrecedence(sem_ir_->insts().Get(inst.inner_id).kind()) < GetTypePrecedence(SemIR::ConstType::Kind)) { *out_ << "("; - // Note the inner_type_inst_id ends up here. + // Note the `inst.inner_id` ends up here. step_stack_->PushString(")"); } - step_stack_->PushInstId(inner_type_inst_id); + step_stack_->PushInstId(inst.inner_id); } auto StringifyTypeInst(SemIR::InstId /*inst_id*/, FacetAccessType inst) diff --git a/toolchain/sem_ir/type.cpp b/toolchain/sem_ir/type.cpp index dcb56d466942..9581df5a2289 100644 --- a/toolchain/sem_ir/type.cpp +++ b/toolchain/sem_ir/type.cpp @@ -51,7 +51,7 @@ auto TypeStore::GetObjectRepr(TypeId type_id) const -> TypeId { auto TypeStore::GetUnqualifiedType(TypeId type_id) const -> TypeId { if (auto const_type = TryGetAs(type_id)) { - return const_type->inner_id; + return file_->types().GetTypeIdForTypeInstId(const_type->inner_id); } return type_id; } diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 8aa621d65c10..50782af41ce6 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -192,7 +192,7 @@ struct ArrayType { TypeId type_id; InstId bound_id; - TypeId element_type_id; + InstId element_type_inst_id; }; // Perform a no-op conversion to a compatible type. @@ -256,7 +256,7 @@ struct AssociatedEntityType { TypeId type_id; // The interface in which the entity was declared. - // TODO: Consider storing an `InterfaceId` and `SpecificId` instead. + // TODO: Consider storing a `SpecificInterfaceId` instead. TypeId interface_type_id; }; @@ -606,7 +606,7 @@ struct ConstType { .deduce_through = true}); TypeId type_id; - TypeId inner_id; + InstId inner_id; }; // An action that performs simple conversion to a value expression of a given @@ -1255,7 +1255,7 @@ struct PointerType { .deduce_through = true}); TypeId type_id; - TypeId pointee_id; + InstId pointee_id; }; // An action that performs type refinement for an instruction, by creating an