diff --git a/toolchain/check/eval_inst.cpp b/toolchain/check/eval_inst.cpp index 0b54fdd1a498..f0a1d989170b 100644 --- a/toolchain/check/eval_inst.cpp +++ b/toolchain/check/eval_inst.cpp @@ -730,6 +730,12 @@ auto EvalConstantInst(Context& /*context*/, SemIR::TupleLiteral inst) .type_id = inst.type_id, .elements_id = inst.elements_id}); } +auto EvalConstantInst(Context& context, SemIR::TypeLiteral inst) + -> ConstantEvalResult { + return ConstantEvalResult::Existing( + context.constant_values().Get(inst.value_id)); +} + auto EvalConstantInst(Context& context, SemIR::TypeOfInst inst) -> ConstantEvalResult { // Grab the type from the instruction produced as our operand. diff --git a/toolchain/check/handle_alias.cpp b/toolchain/check/handle_alias.cpp index b83a2ea48bd3..f93d80721044 100644 --- a/toolchain/check/handle_alias.cpp +++ b/toolchain/check/handle_alias.cpp @@ -48,17 +48,15 @@ auto HandleParseNode(Context& context, Parse::AliasId /*node_id*/) -> bool { auto alias_type_id = SemIR::TypeId::None; auto alias_value_id = SemIR::InstId::None; - if (SemIR::IsSingletonInstId(expr_id)) { - // Type (`bool`) and value (`false`) literals provided by the builtin - // structure should be turned into name references. - // TODO: Look into handling `false`, this doesn't do it right now because it - // sees a value instruction instead of a builtin. - alias_type_id = context.insts().Get(expr_id).type_id(); - alias_value_id = expr_id; - } else if (auto inst = context.insts().TryGetAs(expr_id)) { + if (auto inst = context.insts().TryGetAs(expr_id)) { // Pass through name references, albeit changing the name in use. alias_type_id = inst->type_id; alias_value_id = inst->value_id; + } else if (auto inst = + context.insts().TryGetAs(expr_id)) { + // Treat type literals such as `type` or `bool` like name references. + alias_type_id = inst->type_id; + alias_value_id = inst->value_id; } else { CARBON_DIAGNOSTIC(AliasRequiresNameRef, Error, "alias initializer must be a name reference"); diff --git a/toolchain/check/handle_literal.cpp b/toolchain/check/handle_literal.cpp index 22a1f6c5a19a..2ff0bb351d70 100644 --- a/toolchain/check/handle_literal.cpp +++ b/toolchain/check/handle_literal.cpp @@ -73,8 +73,7 @@ auto HandleParseNode(Context& context, Parse::StringLiteralId node_id) -> bool { auto HandleParseNode(Context& context, Parse::BoolTypeLiteralId node_id) -> bool { - auto fn_inst_id = LookupNameInCore(context, node_id, CoreIdentifier::Bool); - auto type_inst_id = PerformCall(context, node_id, fn_inst_id, {}); + auto type_inst_id = MakeBoolTypeLiteral(context, node_id); context.node_stack().Push(node_id, type_inst_id); return true; } @@ -139,7 +138,8 @@ auto HandleParseNode(Context& context, Parse::StringTypeLiteralId node_id) auto HandleParseNode(Context& context, Parse::TypeTypeLiteralId node_id) -> bool { - context.node_stack().Push(node_id, SemIR::TypeType::TypeInstId); + auto type_inst_id = MakeTypeTypeLiteral(context, node_id); + context.node_stack().Push(node_id, type_inst_id); return true; } diff --git a/toolchain/check/literal.cpp b/toolchain/check/literal.cpp index 44d8765750d0..6b43e7d1bec4 100644 --- a/toolchain/check/literal.cpp +++ b/toolchain/check/literal.cpp @@ -13,10 +13,34 @@ #include "toolchain/check/type_completion.h" #include "toolchain/diagnostics/diagnostic.h" #include "toolchain/lex/token_info.h" +#include "toolchain/parse/node_ids.h" #include "toolchain/sem_ir/ids.h" namespace Carbon::Check { +// Adds a TypeLiteral instruction to represent a syntactic type literal. +static auto MakeTypeLiteral(Context& context, SemIR::LocId loc_id, + SemIR::InstId value_id) -> SemIR::TypeInstId { + auto type_inst_id = ExprAsType(context, loc_id, value_id).inst_id; + return AddTypeInst( + context, loc_id, + {.type_id = SemIR::TypeType::TypeId, .value_id = type_inst_id}); +} + +auto MakeTypeTypeLiteral(Context& context, Parse::NodeId node_id) + -> SemIR::TypeInstId { + return MakeTypeLiteral(context, node_id, SemIR::TypeType::TypeInstId); +} + +auto MakeBoolTypeLiteral(Context& context, Parse::NodeId node_id) + -> SemIR::TypeInstId { + auto desugared_loc_id = SemIR::LocId(node_id).AsDesugared(); + auto inst_id = + LookupNameInCore(context, desugared_loc_id, CoreIdentifier::Bool); + inst_id = PerformCall(context, desugared_loc_id, inst_id, {}); + return MakeTypeLiteral(context, node_id, inst_id); +} + auto MakeBoolLiteral(Context& context, SemIR::LocId loc_id, SemIR::BoolValue value) -> SemIR::InstId { return AddInst( @@ -33,33 +57,58 @@ auto MakeIntLiteral(Context& context, Parse::NodeId node_id, IntId int_id) .int_id = int_id}); } +// Returns an instruction with the given constant integer value. +static auto GetOrAddIntValue(Context& context, SemIR::LocId loc_id, + IntId int_id) -> SemIR::InstId { + return GetOrAddInst( + context, loc_id, + {.type_id = GetSingletonType(context, SemIR::IntLiteralType::TypeInstId), + .int_id = int_id}); +} + auto MakeCharTypeLiteral(Context& context, Parse::NodeId node_id) + -> SemIR::TypeInstId { + auto inst_id = LookupNameInCore(context, node_id, CoreIdentifier::Char); + return MakeTypeLiteral(context, node_id, inst_id); +} + +// Returns an instruction representing the type `iN` or `uN`. +static auto GetOrAddIntTypeInst(Context& context, SemIR::LocId loc_id, + SemIR::IntKind int_kind, IntId size_id) -> SemIR::InstId { - return LookupNameInCore(context, node_id, CoreIdentifier::Char); + auto width_id = GetOrAddIntValue(context, loc_id, size_id); + auto fn_inst_id = LookupNameInCore(context, loc_id, + int_kind == SemIR::IntKind::Signed + ? CoreIdentifier::Int + : CoreIdentifier::UInt); + return PerformCall(context, loc_id, fn_inst_id, {width_id}); } auto MakeIntTypeLiteral(Context& context, Parse::NodeId node_id, SemIR::IntKind int_kind, IntId size_id) - -> SemIR::InstId { - auto width_id = MakeIntLiteral(context, node_id, size_id); - auto fn_inst_id = LookupNameInCore(context, node_id, - int_kind == SemIR::IntKind::Signed - ? CoreIdentifier::Int - : CoreIdentifier::UInt); - return PerformCall(context, node_id, fn_inst_id, {width_id}); + -> SemIR::TypeInstId { + auto desugared_loc_id = SemIR::LocId(node_id).AsDesugared(); + auto type_inst_id = + GetOrAddIntTypeInst(context, desugared_loc_id, int_kind, size_id); + return MakeTypeLiteral(context, node_id, type_inst_id); } auto MakeIntType(Context& context, Parse::NodeId node_id, SemIR::IntKind int_kind, IntId size_id) -> SemIR::TypeId { - auto type_inst_id = MakeIntTypeLiteral(context, node_id, int_kind, size_id); + auto desugared_loc_id = SemIR::LocId(node_id).AsDesugared(); + auto type_inst_id = + GetOrAddIntTypeInst(context, desugared_loc_id, int_kind, size_id); return ExprAsType(context, node_id, type_inst_id).type_id; } auto MakeFloatTypeLiteral(Context& context, Parse::NodeId node_id, - IntId size_id) -> SemIR::InstId { - auto width_id = MakeIntLiteral(context, node_id, size_id); - auto fn_inst_id = LookupNameInCore(context, node_id, CoreIdentifier::Float); - return PerformCall(context, node_id, fn_inst_id, {width_id}); + IntId size_id) -> SemIR::TypeInstId { + auto desugared_loc_id = SemIR::LocId(node_id).AsDesugared(); + auto width_id = GetOrAddIntValue(context, desugared_loc_id, size_id); + auto fn_inst_id = + LookupNameInCore(context, desugared_loc_id, CoreIdentifier::Float); + auto call_id = PerformCall(context, desugared_loc_id, fn_inst_id, {width_id}); + return MakeTypeLiteral(context, node_id, call_id); } namespace { @@ -122,7 +171,7 @@ static auto GetStringLiteralRepr(Context& context, SemIR::LocId loc_id, auto MakeStringLiteral(Context& context, Parse::StringLiteralId node_id, StringLiteralValueId value_id) -> SemIR::InstId { - auto str_type = MakeStringType(context, node_id); + auto str_type = MakeStringType(context, SemIR::LocId(node_id).AsDesugared()); if (!RequireCompleteType( context, str_type.type_id, node_id, [&](auto& builder) { CARBON_DIAGNOSTIC(StringLiteralTypeIncomplete, Context, @@ -178,13 +227,20 @@ auto MakeStringLiteral(Context& context, Parse::StringLiteralId node_id, {.type_id = str_type.type_id, .elements_id = elements_id}); } -auto MakeStringTypeLiteral(Context& context, SemIR::LocId loc_id) +// Returns an instruction with the value `str`. +static auto GetOrAddStringTypeInst(Context& context, SemIR::LocId loc_id) -> SemIR::InstId { return LookupNameInCore(context, loc_id, CoreIdentifier::String); } +auto MakeStringTypeLiteral(Context& context, Parse::StringTypeLiteralId node_id) + -> SemIR::TypeInstId { + auto inst_id = GetOrAddStringTypeInst(context, node_id); + return MakeTypeLiteral(context, node_id, inst_id); +} + auto MakeStringType(Context& context, SemIR::LocId loc_id) -> TypeExpr { - auto type_inst_id = MakeStringTypeLiteral(context, loc_id); + auto type_inst_id = GetOrAddStringTypeInst(context, loc_id); return ExprAsType(context, loc_id, type_inst_id); } diff --git a/toolchain/check/literal.h b/toolchain/check/literal.h index b71ac814e07d..fe890dce6939 100644 --- a/toolchain/check/literal.h +++ b/toolchain/check/literal.h @@ -13,6 +13,14 @@ namespace Carbon::Check { +// Forms a TypeType for a `type` literal. +auto MakeTypeTypeLiteral(Context& context, Parse::NodeId node_id) + -> SemIR::TypeInstId; + +// Forms a boolean type for a `bool` literal. +auto MakeBoolTypeLiteral(Context& context, Parse::NodeId node_id) + -> SemIR::TypeInstId; + // Forms a BoolLiteral instruction with the given value and returns it. auto MakeBoolLiteral(Context& context, SemIR::LocId loc_id, SemIR::BoolValue value) -> SemIR::InstId; @@ -24,12 +32,12 @@ auto MakeIntLiteral(Context& context, Parse::NodeId node_id, IntId int_id) // Forms a char type expression for `char` literal. auto MakeCharTypeLiteral(Context& context, Parse::NodeId node_id) - -> SemIR::InstId; + -> SemIR::TypeInstId; // Forms an integer type expression for either an `iN` or `uN` literal. auto MakeIntTypeLiteral(Context& context, Parse::NodeId node_id, SemIR::IntKind int_kind, IntId size_id) - -> SemIR::InstId; + -> SemIR::TypeInstId; // Forms an integer type of the specified kind and bit-width. auto MakeIntType(Context& context, Parse::NodeId node_id, @@ -37,18 +45,18 @@ auto MakeIntType(Context& context, Parse::NodeId node_id, // Forms a floating point type expression for `fN` literal. auto MakeFloatTypeLiteral(Context& context, Parse::NodeId node_id, - IntId size_id) -> SemIR::InstId; + IntId size_id) -> SemIR::TypeInstId; // Forms a string literal value instruction for a given string literal. auto MakeStringLiteral(Context& context, Parse::StringLiteralId node_id, StringLiteralValueId value_id) -> SemIR::InstId; // Forms a string literal type expression for a `str` literal. -auto MakeStringTypeLiteral(Context& context, SemIR::LocId loc_id) - -> SemIR::InstId; +auto MakeStringTypeLiteral(Context& context, Parse::StringTypeLiteralId node_id) + -> SemIR::TypeInstId; // Forms a string type. -auto MakeStringType(Context& context, SemIR::LocId) -> TypeExpr; +auto MakeStringType(Context& context, SemIR::LocId loc_id) -> TypeExpr; } // namespace Carbon::Check diff --git a/toolchain/check/testdata/alias/builtins.carbon b/toolchain/check/testdata/alias/builtins.carbon index 150c8e0817e3..9f3f96669b4c 100644 --- a/toolchain/check/testdata/alias/builtins.carbon +++ b/toolchain/check/testdata/alias/builtins.carbon @@ -10,27 +10,19 @@ // TIP: To dump output, run: // TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/alias/builtins.carbon -// --- fail_i32.carbon +// --- i32.carbon library "[[@TEST_NAME]]"; //@dump-sem-ir-begin -// CHECK:STDERR: fail_i32.carbon:[[@LINE+4]]:11: error: alias initializer must be a name reference [AliasRequiresNameRef] -// CHECK:STDERR: alias a = i32; -// CHECK:STDERR: ^~~ -// CHECK:STDERR: alias a = i32; //@dump-sem-ir-end -// --- fail_bool.carbon +// --- bool.carbon library "[[@TEST_NAME]]"; //@dump-sem-ir-begin -// CHECK:STDERR: fail_bool.carbon:[[@LINE+4]]:11: error: alias initializer must be a name reference [AliasRequiresNameRef] -// CHECK:STDERR: alias b = bool; -// CHECK:STDERR: ^~~~ -// CHECK:STDERR: alias b = bool; //@dump-sem-ir-end @@ -49,7 +41,7 @@ alias a = false; let a_test: bool = a; //@dump-sem-ir-end -// CHECK:STDOUT: --- fail_i32.carbon +// CHECK:STDOUT: --- i32.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] @@ -57,29 +49,21 @@ let a_test: bool = a; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %a: = alias_binding a, [concrete = ] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %a: type = alias_binding a, constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: --- fail_bool.carbon -// CHECK:STDOUT: -// CHECK:STDOUT: constants { -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] -// CHECK:STDOUT: } +// CHECK:STDOUT: --- bool.carbon // CHECK:STDOUT: // CHECK:STDOUT: file { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %b: = alias_binding b, [concrete = ] +// CHECK:STDOUT: %.loc5: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %b: type = alias_binding b, bool [concrete = bool] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_bool_value.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %false: bool = bool_literal false [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -89,11 +73,7 @@ let a_test: bool = a; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_test.patt: %pattern_type.831 = value_binding_pattern a_test [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc12_13.1: type = splice_block %.loc12_13.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc12_13.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc12_13.3: type = converted %Bool.call, %.loc12_13.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc12: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %a_test: bool = value_binding a_test, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/array/bound_values.carbon b/toolchain/check/testdata/array/bound_values.carbon index 60f18f740392..f26923584edb 100644 --- a/toolchain/check/testdata/array/bound_values.carbon +++ b/toolchain/check/testdata/array/bound_values.carbon @@ -92,8 +92,7 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %.loc6_21: type = splice_block %array_type.loc6 [concrete = constants.%array_type] { -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %impl.elem1: %.302 = impl_witness_access constants.%AddWith.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.AddWith.impl.Op] @@ -156,11 +155,9 @@ var b: array(1, 39999999999999999993); // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: %.loc6_24: type = splice_block %array_type.loc6 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc6_11: 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc6: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %int_32.loc6_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %impl.elem0.loc6_18.1: %.1a4 = impl_witness_access constants.%As.impl_witness.e1d, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bbd] // CHECK:STDOUT: %bound_method.loc6_18.1: = bound_method %int_3.loc6, %impl.elem0.loc6_18.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6_18.1: = specific_function %impl.elem0.loc6_18.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/array/import.carbon b/toolchain/check/testdata/array/import.carbon index df7b91a9be88..ea4947e41a80 100644 --- a/toolchain/check/testdata/array/import.carbon +++ b/toolchain/check/testdata/array/import.carbon @@ -95,8 +95,6 @@ fn F() -> array(i32, 1) { // CHECK:STDOUT: %F.call: init %array_type to %.loc6_12.1 = call %F.ref() // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %.loc6_12.2: ref %array_type = temporary %.loc6_12.1, %F.call -// 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: %.loc6_15.1: ref %i32 = array_index %.loc6_12.2, %n.ref // CHECK:STDOUT: %.loc6_15.2: %i32 = acquire_value %.loc6_15.1 // CHECK:STDOUT: %impl.elem0: %.8e2 = impl_witness_access constants.%Copy.impl_witness.f17, element0 [concrete = constants.%Int.as.Copy.impl.Op.664] diff --git a/toolchain/check/testdata/array/index_not_literal.carbon b/toolchain/check/testdata/array/index_not_literal.carbon index 72385a4266c5..c0ae36495a12 100644 --- a/toolchain/check/testdata/array/index_not_literal.carbon +++ b/toolchain/check/testdata/array/index_not_literal.carbon @@ -108,8 +108,6 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %arr.ref: %array_type = name_ref arr, %arr // CHECK:STDOUT: %i.ref: %i32 = name_ref i, %i -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_15.1: ref %array_type = value_as_ref %arr.ref // CHECK:STDOUT: %.loc4_15.2: ref %i32 = array_index %.loc4_15.1, %i.ref // CHECK:STDOUT: %.loc4_15.3: %i32 = acquire_value %.loc4_15.2 @@ -217,8 +215,6 @@ fn F(a: array({}, 3)) -> {} { // CHECK:STDOUT: %struct: %struct_type.index = struct_value (%int_2) [concrete = constants.%struct] // CHECK:STDOUT: %.loc6_23.2: %struct_type.index = converted %.loc6_23.1, %struct [concrete = constants.%struct] // CHECK:STDOUT: %.loc6_24.1: Core.IntLiteral = struct_access %.loc6_23.2, element0 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc6_24.1: = bound_method %.loc6_24.1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/as/adapter_conversion.carbon b/toolchain/check/testdata/as/adapter_conversion.carbon index 09b4941da0de..23097d63efef 100644 --- a/toolchain/check/testdata/as/adapter_conversion.carbon +++ b/toolchain/check/testdata/as/adapter_conversion.carbon @@ -282,18 +282,14 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = value_binding_pattern n [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, @__global_init.%.loc10_16.2 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc9_15.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -305,8 +301,7 @@ var b: B = {.x = ()} as B; // CHECK:STDOUT: %.loc9_23.1: %A = as_compatible %.loc9_15.2 [concrete = constants.%int_1.360] // CHECK:STDOUT: %.loc9_23.2: %A = converted %.loc9_15.2, %.loc9_23.1 [concrete = constants.%int_1.360] // CHECK:STDOUT: %a.ref: %A = name_ref a, file.%a -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10_16.1: %i32 = as_compatible %a.ref // CHECK:STDOUT: %.loc10_16.2: %i32 = converted %a.ref, %.loc10_16.1 // CHECK:STDOUT: diff --git a/toolchain/check/testdata/as/basics.carbon b/toolchain/check/testdata/as/basics.carbon index 64d3412ca2c5..dd177a92efe0 100644 --- a/toolchain/check/testdata/as/basics.carbon +++ b/toolchain/check/testdata/as/basics.carbon @@ -182,6 +182,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t.patt: %pattern_type = value_binding_pattern t [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %.loc5: type = type_literal type [concrete = type] // CHECK:STDOUT: %t: type = value_binding t, @__global_init.%.loc5_24.3 // CHECK:STDOUT: } // CHECK:STDOUT: @@ -190,6 +191,7 @@ let n: {.x: ()} = {.x = ()} as {.x = ()}; // CHECK:STDOUT: %.loc5_17: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc5_21: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc5_22: %tuple.type.b6b = tuple_literal (%.loc5_17, %.loc5_21) [concrete = constants.%tuple] +// CHECK:STDOUT: %.loc5_27: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc5_24.1: type = converted constants.%empty_struct, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %.loc5_24.2: type = converted constants.%empty_struct, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %.loc5_24.3: type = converted %.loc5_22, constants.%tuple.type.b6b [concrete = constants.%tuple.type.b6b] diff --git a/toolchain/check/testdata/basics/parens.carbon b/toolchain/check/testdata/basics/parens.carbon index 45699b9d29cc..fd2017f9bbcb 100644 --- a/toolchain/check/testdata/basics/parens.carbon +++ b/toolchain/check/testdata/basics/parens.carbon @@ -70,20 +70,14 @@ var b: i32 = ((2)); // CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] -// CHECK:STDOUT: %.loc14: type = splice_block %i32.loc14 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var [concrete = %a.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc15: type = splice_block %i32.loc15 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon index 2277ef23d39d..957ed9edbd21 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon @@ -60,215 +60,215 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: import_ir_inst14: {ir_id: import_ir60000004, inst_id: inst48000033} // CHECK:STDOUT: import_ir_inst15: {ir_id: import_ir60000004, inst_id: inst48000012} // CHECK:STDOUT: import_ir_inst16: {ir_id: import_ir60000004, inst_id: inst4800002D} -// CHECK:STDOUT: import_ir_inst17: {ir_id: import_ir60000004, inst_id: inst4800006E} -// CHECK:STDOUT: import_ir_inst18: {ir_id: import_ir60000004, inst_id: inst4800006C} -// CHECK:STDOUT: import_ir_inst19: {ir_id: import_ir60000004, inst_id: inst48000085} -// CHECK:STDOUT: import_ir_inst1A: {ir_id: import_ir60000004, inst_id: inst4800006D} -// CHECK:STDOUT: import_ir_inst1B: {ir_id: import_ir60000004, inst_id: inst48000085} -// CHECK:STDOUT: import_ir_inst1C: {ir_id: import_ir60000004, inst_id: inst48000080} -// CHECK:STDOUT: import_ir_inst1D: {ir_id: import_ir60000004, inst_id: inst48000081} -// CHECK:STDOUT: import_ir_inst1E: {ir_id: import_ir60000004, inst_id: inst48000079} -// CHECK:STDOUT: import_ir_inst1F: {ir_id: import_ir60000004, inst_id: inst4800007B} -// CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir60000004, inst_id: inst4800007C} -// CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir60000004, inst_id: inst4800007D} -// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir60000004, inst_id: inst4800005D} -// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir60000004, inst_id: inst48000074} -// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir60000004, inst_id: inst48000075} -// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir60000004, inst_id: inst48000076} -// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir60000004, inst_id: inst4800007A} -// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir60000004, inst_id: inst4800007F} -// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir60000004, inst_id: inst4800008F} -// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir60000004, inst_id: inst48000096} -// CHECK:STDOUT: import_ir_inst2A: {ir_id: import_ir60000004, inst_id: inst4800009D} -// CHECK:STDOUT: import_ir_inst2B: {ir_id: import_ir60000004, inst_id: inst480000A3} -// CHECK:STDOUT: import_ir_inst2C: {ir_id: import_ir60000004, inst_id: inst480000A4} -// CHECK:STDOUT: import_ir_inst2D: {ir_id: import_ir60000004, inst_id: inst480000A5} -// CHECK:STDOUT: import_ir_inst2E: {ir_id: import_ir60000004, inst_id: inst480000AB} -// CHECK:STDOUT: import_ir_inst2F: {ir_id: import_ir60000004, inst_id: inst48000061} -// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir60000004, inst_id: inst48000067} -// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir60000004, inst_id: inst4800006A} -// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir60000004, inst_id: inst4800005D} -// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir60000004, inst_id: inst4800005F} -// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir60000004, inst_id: inst48000065} -// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir60000004, inst_id: inst48000069} -// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir60000004, inst_id: inst48000070} -// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir60000004, inst_id: inst48000088} -// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir60000004, inst_id: inst48000089} -// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir60000004, inst_id: inst480000C0} -// CHECK:STDOUT: import_ir_inst3A: {ir_id: import_ir60000004, inst_id: inst480000BE} -// CHECK:STDOUT: import_ir_inst3B: {ir_id: import_ir60000004, inst_id: inst480000BC} -// CHECK:STDOUT: import_ir_inst3C: {ir_id: import_ir60000004, inst_id: inst480000BD} -// CHECK:STDOUT: import_ir_inst3D: {ir_id: import_ir60000004, inst_id: inst480000DC} -// CHECK:STDOUT: import_ir_inst3E: {ir_id: import_ir60000004, inst_id: inst480000DA} -// CHECK:STDOUT: import_ir_inst3F: {ir_id: import_ir60000004, inst_id: inst480000D8} -// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir60000004, inst_id: inst480000D9} -// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir60000004, inst_id: inst480000F8} -// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir60000004, inst_id: inst480000F6} -// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir60000004, inst_id: inst480000F4} -// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir60000004, inst_id: inst480000F5} -// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir60000004, inst_id: inst48000114} -// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir60000004, inst_id: inst48000112} -// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir60000004, inst_id: inst48000110} -// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir60000004, inst_id: inst48000111} -// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir60000004, inst_id: inst48000135} -// CHECK:STDOUT: import_ir_inst4A: {ir_id: import_ir60000004, inst_id: inst48000133} -// CHECK:STDOUT: import_ir_inst4B: {ir_id: import_ir60000004, inst_id: inst48000149} -// CHECK:STDOUT: import_ir_inst4C: {ir_id: import_ir60000004, inst_id: inst48000134} -// CHECK:STDOUT: import_ir_inst4D: {ir_id: import_ir60000004, inst_id: inst4800012D} -// CHECK:STDOUT: import_ir_inst4E: {ir_id: import_ir60000004, inst_id: inst4800012F} -// CHECK:STDOUT: import_ir_inst4F: {ir_id: import_ir60000004, inst_id: inst48000132} -// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir60000004, inst_id: inst4800012A} -// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir60000004, inst_id: inst4800012C} -// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir60000004, inst_id: inst48000131} -// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir60000004, inst_id: inst48000137} -// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir60000004, inst_id: inst48000149} -// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir60000004, inst_id: inst48000144} -// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir60000004, inst_id: inst48000145} -// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir60000004, inst_id: inst4800013D} -// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir60000004, inst_id: inst4800013F} -// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir60000004, inst_id: inst48000140} -// CHECK:STDOUT: import_ir_inst5A: {ir_id: import_ir60000004, inst_id: inst48000141} -// CHECK:STDOUT: import_ir_inst5B: {ir_id: import_ir60000004, inst_id: inst4800012A} -// CHECK:STDOUT: import_ir_inst5C: {ir_id: import_ir60000004, inst_id: inst48000139} -// CHECK:STDOUT: import_ir_inst5D: {ir_id: import_ir60000004, inst_id: inst4800013A} -// CHECK:STDOUT: import_ir_inst5E: {ir_id: import_ir60000004, inst_id: inst4800013E} -// CHECK:STDOUT: import_ir_inst5F: {ir_id: import_ir60000004, inst_id: inst48000143} -// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir60000004, inst_id: inst4800014C} -// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir60000004, inst_id: inst4800014D} -// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir60000004, inst_id: inst48000150} -// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir60000004, inst_id: inst48000157} -// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir60000004, inst_id: inst48000155} -// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir60000004, inst_id: inst(TypeType)} -// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir60000004, inst_id: inst48000154} -// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir60000004, inst_id: inst48000171} -// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir60000004, inst_id: inst4800016F} -// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir60000004, inst_id: inst4800016D} -// CHECK:STDOUT: import_ir_inst6A: {ir_id: import_ir60000004, inst_id: inst4800016E} -// CHECK:STDOUT: import_ir_inst6B: {ir_id: import_ir60000004, inst_id: inst480001A7} -// CHECK:STDOUT: import_ir_inst6C: {ir_id: import_ir60000004, inst_id: inst480001A5} -// CHECK:STDOUT: import_ir_inst6D: {ir_id: import_ir60000004, inst_id: inst480001C2} -// CHECK:STDOUT: import_ir_inst6E: {ir_id: import_ir60000004, inst_id: inst480001A6} -// CHECK:STDOUT: import_ir_inst6F: {ir_id: import_ir60000004, inst_id: inst480001C2} -// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir60000004, inst_id: inst480001BD} -// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir60000004, inst_id: inst480001BE} -// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir60000004, inst_id: inst480001B6} -// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir60000004, inst_id: inst480001B8} -// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir60000004, inst_id: inst480001B9} -// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir60000004, inst_id: inst480001BA} -// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir60000004, inst_id: inst48000188} -// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir60000004, inst_id: inst4800018D} -// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir60000004, inst_id: inst480001AF} -// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir60000004, inst_id: inst480001B0} -// CHECK:STDOUT: import_ir_inst7A: {ir_id: import_ir60000004, inst_id: inst480001B1} -// CHECK:STDOUT: import_ir_inst7B: {ir_id: import_ir60000004, inst_id: inst480001B2} -// CHECK:STDOUT: import_ir_inst7C: {ir_id: import_ir60000004, inst_id: inst480001B3} -// CHECK:STDOUT: import_ir_inst7D: {ir_id: import_ir60000004, inst_id: inst480001B7} -// CHECK:STDOUT: import_ir_inst7E: {ir_id: import_ir60000004, inst_id: inst480001BC} -// CHECK:STDOUT: import_ir_inst7F: {ir_id: import_ir60000004, inst_id: inst480001CD} -// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir60000004, inst_id: inst480001D4} -// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir60000004, inst_id: inst480001D8} -// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir60000004, inst_id: inst480001DA} -// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir60000004, inst_id: inst480001DB} -// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir60000004, inst_id: inst480001DC} -// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir60000004, inst_id: inst480001DF} -// CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir60000004, inst_id: inst480001EB} -// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir60000004, inst_id: inst480001F2} -// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir60000004, inst_id: inst480001F6} -// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir60000004, inst_id: inst480001F7} -// CHECK:STDOUT: import_ir_inst8A: {ir_id: import_ir60000004, inst_id: inst480001F8} -// CHECK:STDOUT: import_ir_inst8B: {ir_id: import_ir60000004, inst_id: inst480001FE} -// CHECK:STDOUT: import_ir_inst8C: {ir_id: import_ir60000004, inst_id: inst48000190} -// CHECK:STDOUT: import_ir_inst8D: {ir_id: import_ir60000004, inst_id: inst4800018A} -// CHECK:STDOUT: import_ir_inst8E: {ir_id: import_ir60000004, inst_id: inst480001A0} -// CHECK:STDOUT: import_ir_inst8F: {ir_id: import_ir60000004, inst_id: inst480001A2} -// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir60000004, inst_id: inst48000188} -// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir60000004, inst_id: inst4800018D} -// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir60000004, inst_id: inst48000189} -// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir60000004, inst_id: inst4800018F} -// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir60000004, inst_id: inst48000196} -// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir60000004, inst_id: inst48000199} -// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir60000004, inst_id: inst4800019D} -// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir60000004, inst_id: inst480001A1} -// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir60000004, inst_id: inst480001A9} -// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir60000004, inst_id: inst480001C5} -// CHECK:STDOUT: import_ir_inst9A: {ir_id: import_ir60000004, inst_id: inst480001C6} -// CHECK:STDOUT: import_ir_inst9B: {ir_id: import_ir60000004, inst_id: inst48000239} -// CHECK:STDOUT: import_ir_inst9C: {ir_id: import_ir60000004, inst_id: inst48000237} -// CHECK:STDOUT: import_ir_inst9D: {ir_id: import_ir60000004, inst_id: inst48000258} -// CHECK:STDOUT: import_ir_inst9E: {ir_id: import_ir60000004, inst_id: inst48000238} -// CHECK:STDOUT: import_ir_inst9F: {ir_id: import_ir60000004, inst_id: inst48000258} -// CHECK:STDOUT: import_ir_instA0: {ir_id: import_ir60000004, inst_id: inst48000253} -// CHECK:STDOUT: import_ir_instA1: {ir_id: import_ir60000004, inst_id: inst48000254} -// CHECK:STDOUT: import_ir_instA2: {ir_id: import_ir60000004, inst_id: inst4800024C} -// CHECK:STDOUT: import_ir_instA3: {ir_id: import_ir60000004, inst_id: inst4800024E} -// CHECK:STDOUT: import_ir_instA4: {ir_id: import_ir60000004, inst_id: inst4800024F} -// CHECK:STDOUT: import_ir_instA5: {ir_id: import_ir60000004, inst_id: inst48000250} -// CHECK:STDOUT: import_ir_instA6: {ir_id: import_ir60000004, inst_id: inst48000210} -// CHECK:STDOUT: import_ir_instA7: {ir_id: import_ir60000004, inst_id: inst48000215} -// CHECK:STDOUT: import_ir_instA8: {ir_id: import_ir60000004, inst_id: inst4800021A} -// CHECK:STDOUT: import_ir_instA9: {ir_id: import_ir60000004, inst_id: inst48000243} -// CHECK:STDOUT: import_ir_instAA: {ir_id: import_ir60000004, inst_id: inst48000244} -// CHECK:STDOUT: import_ir_instAB: {ir_id: import_ir60000004, inst_id: inst48000245} -// CHECK:STDOUT: import_ir_instAC: {ir_id: import_ir60000004, inst_id: inst48000246} -// CHECK:STDOUT: import_ir_instAD: {ir_id: import_ir60000004, inst_id: inst48000247} -// CHECK:STDOUT: import_ir_instAE: {ir_id: import_ir60000004, inst_id: inst48000248} -// CHECK:STDOUT: import_ir_instAF: {ir_id: import_ir60000004, inst_id: inst48000249} -// CHECK:STDOUT: import_ir_instB0: {ir_id: import_ir60000004, inst_id: inst4800024D} -// CHECK:STDOUT: import_ir_instB1: {ir_id: import_ir60000004, inst_id: inst48000252} -// CHECK:STDOUT: import_ir_instB2: {ir_id: import_ir60000004, inst_id: inst48000263} -// CHECK:STDOUT: import_ir_instB3: {ir_id: import_ir60000004, inst_id: inst48000269} -// CHECK:STDOUT: import_ir_instB4: {ir_id: import_ir60000004, inst_id: inst4800026D} -// CHECK:STDOUT: import_ir_instB5: {ir_id: import_ir60000004, inst_id: inst4800026F} -// CHECK:STDOUT: import_ir_instB6: {ir_id: import_ir60000004, inst_id: inst48000270} -// CHECK:STDOUT: import_ir_instB7: {ir_id: import_ir60000004, inst_id: inst48000271} -// CHECK:STDOUT: import_ir_instB8: {ir_id: import_ir60000004, inst_id: inst48000274} -// CHECK:STDOUT: import_ir_instB9: {ir_id: import_ir60000004, inst_id: inst4800027E} -// CHECK:STDOUT: import_ir_instBA: {ir_id: import_ir60000004, inst_id: inst48000282} -// CHECK:STDOUT: import_ir_instBB: {ir_id: import_ir60000004, inst_id: inst48000284} -// CHECK:STDOUT: import_ir_instBC: {ir_id: import_ir60000004, inst_id: inst48000285} -// CHECK:STDOUT: import_ir_instBD: {ir_id: import_ir60000004, inst_id: inst48000286} -// CHECK:STDOUT: import_ir_instBE: {ir_id: import_ir60000004, inst_id: inst48000289} -// CHECK:STDOUT: import_ir_instBF: {ir_id: import_ir60000004, inst_id: inst48000295} -// CHECK:STDOUT: import_ir_instC0: {ir_id: import_ir60000004, inst_id: inst4800029C} -// CHECK:STDOUT: import_ir_instC1: {ir_id: import_ir60000004, inst_id: inst480002A0} -// CHECK:STDOUT: import_ir_instC2: {ir_id: import_ir60000004, inst_id: inst480002A1} -// CHECK:STDOUT: import_ir_instC3: {ir_id: import_ir60000004, inst_id: inst480002A2} -// CHECK:STDOUT: import_ir_instC4: {ir_id: import_ir60000004, inst_id: inst480002A8} -// CHECK:STDOUT: import_ir_instC5: {ir_id: import_ir60000004, inst_id: inst4800021D} -// CHECK:STDOUT: import_ir_instC6: {ir_id: import_ir60000004, inst_id: inst48000217} -// CHECK:STDOUT: import_ir_instC7: {ir_id: import_ir60000004, inst_id: inst48000212} -// CHECK:STDOUT: import_ir_instC8: {ir_id: import_ir60000004, inst_id: inst48000231} -// CHECK:STDOUT: import_ir_instC9: {ir_id: import_ir60000004, inst_id: inst48000233} -// CHECK:STDOUT: import_ir_instCA: {ir_id: import_ir60000004, inst_id: inst48000210} -// CHECK:STDOUT: import_ir_instCB: {ir_id: import_ir60000004, inst_id: inst48000215} -// CHECK:STDOUT: import_ir_instCC: {ir_id: import_ir60000004, inst_id: inst4800021A} -// CHECK:STDOUT: import_ir_instCD: {ir_id: import_ir60000004, inst_id: inst48000211} -// CHECK:STDOUT: import_ir_instCE: {ir_id: import_ir60000004, inst_id: inst48000216} -// CHECK:STDOUT: import_ir_instCF: {ir_id: import_ir60000004, inst_id: inst4800021C} -// CHECK:STDOUT: import_ir_instD0: {ir_id: import_ir60000004, inst_id: inst48000224} -// CHECK:STDOUT: import_ir_instD1: {ir_id: import_ir60000004, inst_id: inst48000227} -// CHECK:STDOUT: import_ir_instD2: {ir_id: import_ir60000004, inst_id: inst4800022A} -// CHECK:STDOUT: import_ir_instD3: {ir_id: import_ir60000004, inst_id: inst4800022E} -// CHECK:STDOUT: import_ir_instD4: {ir_id: import_ir60000004, inst_id: inst48000232} -// CHECK:STDOUT: import_ir_instD5: {ir_id: import_ir60000004, inst_id: inst4800023B} -// CHECK:STDOUT: import_ir_instD6: {ir_id: import_ir60000004, inst_id: inst4800025B} -// CHECK:STDOUT: import_ir_instD7: {ir_id: import_ir60000004, inst_id: inst4800025C} +// CHECK:STDOUT: import_ir_inst17: {ir_id: import_ir60000004, inst_id: inst48000072} +// CHECK:STDOUT: import_ir_inst18: {ir_id: import_ir60000004, inst_id: inst48000070} +// CHECK:STDOUT: import_ir_inst19: {ir_id: import_ir60000004, inst_id: inst48000089} +// CHECK:STDOUT: import_ir_inst1A: {ir_id: import_ir60000004, inst_id: inst48000071} +// CHECK:STDOUT: import_ir_inst1B: {ir_id: import_ir60000004, inst_id: inst48000089} +// CHECK:STDOUT: import_ir_inst1C: {ir_id: import_ir60000004, inst_id: inst48000084} +// CHECK:STDOUT: import_ir_inst1D: {ir_id: import_ir60000004, inst_id: inst48000085} +// CHECK:STDOUT: import_ir_inst1E: {ir_id: import_ir60000004, inst_id: inst4800007D} +// CHECK:STDOUT: import_ir_inst1F: {ir_id: import_ir60000004, inst_id: inst4800007F} +// CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir60000004, inst_id: inst48000080} +// CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir60000004, inst_id: inst48000081} +// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir60000004, inst_id: inst48000061} +// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir60000004, inst_id: inst48000078} +// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir60000004, inst_id: inst48000079} +// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir60000004, inst_id: inst4800007A} +// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir60000004, inst_id: inst4800007E} +// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir60000004, inst_id: inst48000083} +// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir60000004, inst_id: inst48000093} +// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir60000004, inst_id: inst4800009A} +// CHECK:STDOUT: import_ir_inst2A: {ir_id: import_ir60000004, inst_id: inst480000A1} +// CHECK:STDOUT: import_ir_inst2B: {ir_id: import_ir60000004, inst_id: inst480000A7} +// CHECK:STDOUT: import_ir_inst2C: {ir_id: import_ir60000004, inst_id: inst480000A8} +// CHECK:STDOUT: import_ir_inst2D: {ir_id: import_ir60000004, inst_id: inst480000A9} +// CHECK:STDOUT: import_ir_inst2E: {ir_id: import_ir60000004, inst_id: inst480000AF} +// CHECK:STDOUT: import_ir_inst2F: {ir_id: import_ir60000004, inst_id: inst48000065} +// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir60000004, inst_id: inst4800006B} +// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir60000004, inst_id: inst4800006E} +// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir60000004, inst_id: inst48000061} +// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir60000004, inst_id: inst48000063} +// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir60000004, inst_id: inst48000069} +// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir60000004, inst_id: inst4800006D} +// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir60000004, inst_id: inst48000074} +// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir60000004, inst_id: inst4800008C} +// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir60000004, inst_id: inst4800008D} +// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir60000004, inst_id: inst480000C4} +// CHECK:STDOUT: import_ir_inst3A: {ir_id: import_ir60000004, inst_id: inst480000C2} +// CHECK:STDOUT: import_ir_inst3B: {ir_id: import_ir60000004, inst_id: inst480000C0} +// CHECK:STDOUT: import_ir_inst3C: {ir_id: import_ir60000004, inst_id: inst480000C1} +// CHECK:STDOUT: import_ir_inst3D: {ir_id: import_ir60000004, inst_id: inst480000E0} +// CHECK:STDOUT: import_ir_inst3E: {ir_id: import_ir60000004, inst_id: inst480000DE} +// CHECK:STDOUT: import_ir_inst3F: {ir_id: import_ir60000004, inst_id: inst480000DC} +// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir60000004, inst_id: inst480000DD} +// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir60000004, inst_id: inst480000FC} +// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir60000004, inst_id: inst480000FA} +// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir60000004, inst_id: inst480000F8} +// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir60000004, inst_id: inst480000F9} +// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir60000004, inst_id: inst48000118} +// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir60000004, inst_id: inst48000116} +// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir60000004, inst_id: inst48000114} +// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir60000004, inst_id: inst48000115} +// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir60000004, inst_id: inst4800013B} +// CHECK:STDOUT: import_ir_inst4A: {ir_id: import_ir60000004, inst_id: inst48000139} +// CHECK:STDOUT: import_ir_inst4B: {ir_id: import_ir60000004, inst_id: inst4800014F} +// CHECK:STDOUT: import_ir_inst4C: {ir_id: import_ir60000004, inst_id: inst4800013A} +// CHECK:STDOUT: import_ir_inst4D: {ir_id: import_ir60000004, inst_id: inst48000132} +// CHECK:STDOUT: import_ir_inst4E: {ir_id: import_ir60000004, inst_id: inst48000134} +// CHECK:STDOUT: import_ir_inst4F: {ir_id: import_ir60000004, inst_id: inst48000137} +// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir60000004, inst_id: inst4800012F} +// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir60000004, inst_id: inst48000131} +// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir60000004, inst_id: inst48000136} +// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir60000004, inst_id: inst4800013D} +// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir60000004, inst_id: inst4800014F} +// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir60000004, inst_id: inst4800014A} +// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir60000004, inst_id: inst4800014B} +// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir60000004, inst_id: inst48000143} +// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir60000004, inst_id: inst48000145} +// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir60000004, inst_id: inst48000146} +// CHECK:STDOUT: import_ir_inst5A: {ir_id: import_ir60000004, inst_id: inst48000147} +// CHECK:STDOUT: import_ir_inst5B: {ir_id: import_ir60000004, inst_id: inst4800012F} +// CHECK:STDOUT: import_ir_inst5C: {ir_id: import_ir60000004, inst_id: inst4800013F} +// CHECK:STDOUT: import_ir_inst5D: {ir_id: import_ir60000004, inst_id: inst48000140} +// CHECK:STDOUT: import_ir_inst5E: {ir_id: import_ir60000004, inst_id: inst48000144} +// CHECK:STDOUT: import_ir_inst5F: {ir_id: import_ir60000004, inst_id: inst48000149} +// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir60000004, inst_id: inst48000152} +// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir60000004, inst_id: inst48000153} +// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir60000004, inst_id: inst48000156} +// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir60000004, inst_id: inst4800015E} +// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir60000004, inst_id: inst4800015C} +// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir60000004, inst_id: inst4800015A} +// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir60000004, inst_id: inst4800015B} +// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir60000004, inst_id: inst48000178} +// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir60000004, inst_id: inst48000176} +// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir60000004, inst_id: inst48000174} +// CHECK:STDOUT: import_ir_inst6A: {ir_id: import_ir60000004, inst_id: inst48000175} +// CHECK:STDOUT: import_ir_inst6B: {ir_id: import_ir60000004, inst_id: inst480001AE} +// CHECK:STDOUT: import_ir_inst6C: {ir_id: import_ir60000004, inst_id: inst480001AC} +// CHECK:STDOUT: import_ir_inst6D: {ir_id: import_ir60000004, inst_id: inst480001C9} +// CHECK:STDOUT: import_ir_inst6E: {ir_id: import_ir60000004, inst_id: inst480001AD} +// CHECK:STDOUT: import_ir_inst6F: {ir_id: import_ir60000004, inst_id: inst480001C9} +// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir60000004, inst_id: inst480001C4} +// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir60000004, inst_id: inst480001C5} +// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir60000004, inst_id: inst480001BD} +// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir60000004, inst_id: inst480001BF} +// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir60000004, inst_id: inst480001C0} +// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir60000004, inst_id: inst480001C1} +// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir60000004, inst_id: inst4800018F} +// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir60000004, inst_id: inst48000194} +// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir60000004, inst_id: inst480001B6} +// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir60000004, inst_id: inst480001B7} +// CHECK:STDOUT: import_ir_inst7A: {ir_id: import_ir60000004, inst_id: inst480001B8} +// CHECK:STDOUT: import_ir_inst7B: {ir_id: import_ir60000004, inst_id: inst480001B9} +// CHECK:STDOUT: import_ir_inst7C: {ir_id: import_ir60000004, inst_id: inst480001BA} +// CHECK:STDOUT: import_ir_inst7D: {ir_id: import_ir60000004, inst_id: inst480001BE} +// CHECK:STDOUT: import_ir_inst7E: {ir_id: import_ir60000004, inst_id: inst480001C3} +// CHECK:STDOUT: import_ir_inst7F: {ir_id: import_ir60000004, inst_id: inst480001D4} +// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir60000004, inst_id: inst480001DB} +// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir60000004, inst_id: inst480001DF} +// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir60000004, inst_id: inst480001E1} +// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir60000004, inst_id: inst480001E2} +// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir60000004, inst_id: inst480001E3} +// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir60000004, inst_id: inst480001E6} +// CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir60000004, inst_id: inst480001F2} +// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir60000004, inst_id: inst480001F9} +// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir60000004, inst_id: inst480001FD} +// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir60000004, inst_id: inst480001FE} +// CHECK:STDOUT: import_ir_inst8A: {ir_id: import_ir60000004, inst_id: inst480001FF} +// CHECK:STDOUT: import_ir_inst8B: {ir_id: import_ir60000004, inst_id: inst48000205} +// CHECK:STDOUT: import_ir_inst8C: {ir_id: import_ir60000004, inst_id: inst48000197} +// CHECK:STDOUT: import_ir_inst8D: {ir_id: import_ir60000004, inst_id: inst48000191} +// CHECK:STDOUT: import_ir_inst8E: {ir_id: import_ir60000004, inst_id: inst480001A7} +// CHECK:STDOUT: import_ir_inst8F: {ir_id: import_ir60000004, inst_id: inst480001A9} +// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir60000004, inst_id: inst4800018F} +// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir60000004, inst_id: inst48000194} +// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir60000004, inst_id: inst48000190} +// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir60000004, inst_id: inst48000196} +// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir60000004, inst_id: inst4800019D} +// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir60000004, inst_id: inst480001A0} +// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir60000004, inst_id: inst480001A4} +// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir60000004, inst_id: inst480001A8} +// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir60000004, inst_id: inst480001B0} +// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir60000004, inst_id: inst480001CC} +// CHECK:STDOUT: import_ir_inst9A: {ir_id: import_ir60000004, inst_id: inst480001CD} +// CHECK:STDOUT: import_ir_inst9B: {ir_id: import_ir60000004, inst_id: inst48000240} +// CHECK:STDOUT: import_ir_inst9C: {ir_id: import_ir60000004, inst_id: inst4800023E} +// CHECK:STDOUT: import_ir_inst9D: {ir_id: import_ir60000004, inst_id: inst4800025F} +// CHECK:STDOUT: import_ir_inst9E: {ir_id: import_ir60000004, inst_id: inst4800023F} +// CHECK:STDOUT: import_ir_inst9F: {ir_id: import_ir60000004, inst_id: inst4800025F} +// CHECK:STDOUT: import_ir_instA0: {ir_id: import_ir60000004, inst_id: inst4800025A} +// CHECK:STDOUT: import_ir_instA1: {ir_id: import_ir60000004, inst_id: inst4800025B} +// CHECK:STDOUT: import_ir_instA2: {ir_id: import_ir60000004, inst_id: inst48000253} +// CHECK:STDOUT: import_ir_instA3: {ir_id: import_ir60000004, inst_id: inst48000255} +// CHECK:STDOUT: import_ir_instA4: {ir_id: import_ir60000004, inst_id: inst48000256} +// CHECK:STDOUT: import_ir_instA5: {ir_id: import_ir60000004, inst_id: inst48000257} +// CHECK:STDOUT: import_ir_instA6: {ir_id: import_ir60000004, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_instA7: {ir_id: import_ir60000004, inst_id: inst4800021C} +// CHECK:STDOUT: import_ir_instA8: {ir_id: import_ir60000004, inst_id: inst48000221} +// CHECK:STDOUT: import_ir_instA9: {ir_id: import_ir60000004, inst_id: inst4800024A} +// CHECK:STDOUT: import_ir_instAA: {ir_id: import_ir60000004, inst_id: inst4800024B} +// CHECK:STDOUT: import_ir_instAB: {ir_id: import_ir60000004, inst_id: inst4800024C} +// CHECK:STDOUT: import_ir_instAC: {ir_id: import_ir60000004, inst_id: inst4800024D} +// CHECK:STDOUT: import_ir_instAD: {ir_id: import_ir60000004, inst_id: inst4800024E} +// CHECK:STDOUT: import_ir_instAE: {ir_id: import_ir60000004, inst_id: inst4800024F} +// CHECK:STDOUT: import_ir_instAF: {ir_id: import_ir60000004, inst_id: inst48000250} +// CHECK:STDOUT: import_ir_instB0: {ir_id: import_ir60000004, inst_id: inst48000254} +// CHECK:STDOUT: import_ir_instB1: {ir_id: import_ir60000004, inst_id: inst48000259} +// CHECK:STDOUT: import_ir_instB2: {ir_id: import_ir60000004, inst_id: inst4800026A} +// CHECK:STDOUT: import_ir_instB3: {ir_id: import_ir60000004, inst_id: inst48000270} +// CHECK:STDOUT: import_ir_instB4: {ir_id: import_ir60000004, inst_id: inst48000274} +// CHECK:STDOUT: import_ir_instB5: {ir_id: import_ir60000004, inst_id: inst48000276} +// CHECK:STDOUT: import_ir_instB6: {ir_id: import_ir60000004, inst_id: inst48000277} +// CHECK:STDOUT: import_ir_instB7: {ir_id: import_ir60000004, inst_id: inst48000278} +// CHECK:STDOUT: import_ir_instB8: {ir_id: import_ir60000004, inst_id: inst4800027B} +// CHECK:STDOUT: import_ir_instB9: {ir_id: import_ir60000004, inst_id: inst48000285} +// CHECK:STDOUT: import_ir_instBA: {ir_id: import_ir60000004, inst_id: inst48000289} +// CHECK:STDOUT: import_ir_instBB: {ir_id: import_ir60000004, inst_id: inst4800028B} +// CHECK:STDOUT: import_ir_instBC: {ir_id: import_ir60000004, inst_id: inst4800028C} +// CHECK:STDOUT: import_ir_instBD: {ir_id: import_ir60000004, inst_id: inst4800028D} +// CHECK:STDOUT: import_ir_instBE: {ir_id: import_ir60000004, inst_id: inst48000290} +// CHECK:STDOUT: import_ir_instBF: {ir_id: import_ir60000004, inst_id: inst4800029C} +// CHECK:STDOUT: import_ir_instC0: {ir_id: import_ir60000004, inst_id: inst480002A3} +// CHECK:STDOUT: import_ir_instC1: {ir_id: import_ir60000004, inst_id: inst480002A7} +// CHECK:STDOUT: import_ir_instC2: {ir_id: import_ir60000004, inst_id: inst480002A8} +// CHECK:STDOUT: import_ir_instC3: {ir_id: import_ir60000004, inst_id: inst480002A9} +// CHECK:STDOUT: import_ir_instC4: {ir_id: import_ir60000004, inst_id: inst480002AF} +// CHECK:STDOUT: import_ir_instC5: {ir_id: import_ir60000004, inst_id: inst48000224} +// CHECK:STDOUT: import_ir_instC6: {ir_id: import_ir60000004, inst_id: inst4800021E} +// CHECK:STDOUT: import_ir_instC7: {ir_id: import_ir60000004, inst_id: inst48000219} +// CHECK:STDOUT: import_ir_instC8: {ir_id: import_ir60000004, inst_id: inst48000238} +// CHECK:STDOUT: import_ir_instC9: {ir_id: import_ir60000004, inst_id: inst4800023A} +// CHECK:STDOUT: import_ir_instCA: {ir_id: import_ir60000004, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_instCB: {ir_id: import_ir60000004, inst_id: inst4800021C} +// CHECK:STDOUT: import_ir_instCC: {ir_id: import_ir60000004, inst_id: inst48000221} +// CHECK:STDOUT: import_ir_instCD: {ir_id: import_ir60000004, inst_id: inst48000218} +// CHECK:STDOUT: import_ir_instCE: {ir_id: import_ir60000004, inst_id: inst4800021D} +// CHECK:STDOUT: import_ir_instCF: {ir_id: import_ir60000004, inst_id: inst48000223} +// CHECK:STDOUT: import_ir_instD0: {ir_id: import_ir60000004, inst_id: inst4800022B} +// CHECK:STDOUT: import_ir_instD1: {ir_id: import_ir60000004, inst_id: inst4800022E} +// CHECK:STDOUT: import_ir_instD2: {ir_id: import_ir60000004, inst_id: inst48000231} +// CHECK:STDOUT: import_ir_instD3: {ir_id: import_ir60000004, inst_id: inst48000235} +// CHECK:STDOUT: import_ir_instD4: {ir_id: import_ir60000004, inst_id: inst48000239} +// CHECK:STDOUT: import_ir_instD5: {ir_id: import_ir60000004, inst_id: inst48000242} +// CHECK:STDOUT: import_ir_instD6: {ir_id: import_ir60000004, inst_id: inst48000262} +// CHECK:STDOUT: import_ir_instD7: {ir_id: import_ir60000004, inst_id: inst48000263} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: instF, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst60000011, name0: inst6000003C}} -// CHECK:STDOUT: name_scope60000001: {inst: inst60000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: inst6000004C}} -// CHECK:STDOUT: name_scope60000002: {inst: inst6000004D, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst60000068}} -// CHECK:STDOUT: name_scope60000003: {inst: inst6000004F, parent_scope: name_scope60000002, has_error: false, extended_scopes: [], names: {name4: inst60000051}} -// CHECK:STDOUT: name_scope60000004: {inst: inst6000006E, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000005: {inst: inst600000A3, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000006: {inst: inst600000A7, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000007: {inst: inst600000AB, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000008: {inst: inst600000AF, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000009: {inst: inst600000B3, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000A: {inst: inst600000D1, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000B: {inst: inst600000D5, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000C: {inst: inst600000D9, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000D: {inst: inst6000011D, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: instF, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst60000011, name0: inst6000003E}} +// CHECK:STDOUT: name_scope60000001: {inst: inst60000011, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: inst6000004E}} +// CHECK:STDOUT: name_scope60000002: {inst: inst6000004F, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst6000006A}} +// CHECK:STDOUT: name_scope60000003: {inst: inst60000051, parent_scope: name_scope60000002, has_error: false, extended_scopes: [], names: {name4: inst60000053}} +// CHECK:STDOUT: name_scope60000004: {inst: inst60000070, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000005: {inst: inst600000A5, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000006: {inst: inst600000A9, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000007: {inst: inst600000AD, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000008: {inst: inst600000B1, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000009: {inst: inst600000B5, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000A: {inst: inst600000D3, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000B: {inst: inst600000D7, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000C: {inst: inst600000DB, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000D: {inst: inst6000011F, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name60000000: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0, is_unused: 0} // CHECK:STDOUT: entity_name60000001: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0} @@ -336,39 +336,39 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: entity_name6000003F: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, is_unused: 0} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function60000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block60000011, call_params_id: inst_block60000012, return_type_inst_id: inst6000002F, return_form_inst_id: inst60000031, return_patterns_id: inst_block60000010, body: [inst_block60000019]} -// CHECK:STDOUT: function60000001: {name: name4, parent_scope: name_scope60000003, call_param_patterns_id: inst_block6000001F, return_type_inst_id: inst6000005E, return_form_inst_id: inst6000005F, return_patterns_id: inst_block60000021} -// CHECK:STDOUT: function60000002: {name: name4, parent_scope: name_scope60000004, call_param_patterns_id: inst_block6000002B, return_type_inst_id: inst6000007E, return_form_inst_id: inst6000007F, return_patterns_id: inst_block6000002D} -// CHECK:STDOUT: function60000003: {name: name4, parent_scope: name_scope60000009, call_param_patterns_id: inst_block60000042, return_type_inst_id: inst600000C6, return_form_inst_id: inst600000C7, return_patterns_id: inst_block60000044} -// CHECK:STDOUT: function60000004: {name: name4, parent_scope: name_scope6000000C, call_param_patterns_id: inst_block60000050, return_type_inst_id: inst600000EB, return_form_inst_id: inst600000EC, return_patterns_id: inst_block60000052} -// CHECK:STDOUT: function60000005: {name: name4, parent_scope: name_scope6000000D, call_param_patterns_id: inst_block6000006D, return_type_inst_id: inst6000012F, return_form_inst_id: inst60000130, return_patterns_id: inst_block6000006F} +// CHECK:STDOUT: function60000000: {name: name0, parent_scope: name_scope0, call_param_patterns_id: inst_block60000011, call_params_id: inst_block60000012, return_type_inst_id: inst60000030, return_form_inst_id: inst60000032, return_patterns_id: inst_block60000010, body: [inst_block60000019]} +// CHECK:STDOUT: function60000001: {name: name4, parent_scope: name_scope60000003, call_param_patterns_id: inst_block6000001F, return_type_inst_id: inst60000060, return_form_inst_id: inst60000061, return_patterns_id: inst_block60000021} +// CHECK:STDOUT: function60000002: {name: name4, parent_scope: name_scope60000004, call_param_patterns_id: inst_block6000002B, return_type_inst_id: inst60000080, return_form_inst_id: inst60000081, return_patterns_id: inst_block6000002D} +// CHECK:STDOUT: function60000003: {name: name4, parent_scope: name_scope60000009, call_param_patterns_id: inst_block60000042, return_type_inst_id: inst600000C8, return_form_inst_id: inst600000C9, return_patterns_id: inst_block60000044} +// CHECK:STDOUT: function60000004: {name: name4, parent_scope: name_scope6000000C, call_param_patterns_id: inst_block60000050, return_type_inst_id: inst600000ED, return_form_inst_id: inst600000EE, return_patterns_id: inst_block60000052} +// CHECK:STDOUT: function60000005: {name: name4, parent_scope: name_scope6000000D, call_param_patterns_id: inst_block6000006D, return_type_inst_id: inst60000131, return_form_inst_id: inst60000132, return_patterns_id: inst_block6000006F} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: interfaces: // CHECK:STDOUT: interface60000000: {name: name3, parent_scope: name_scope60000001, require_impls_block_id: require_block_empty} // CHECK:STDOUT: associated_constants: {} // CHECK:STDOUT: impls: -// CHECK:STDOUT: impl60000000: {self: inst60000099, constraint: inst6000009A, witness: inst6000006D} -// CHECK:STDOUT: impl60000001: {self: inst600000A4, constraint: inst600000A5, witness: inst600000A2} -// CHECK:STDOUT: impl60000002: {self: inst600000A8, constraint: inst600000A9, witness: inst600000A6} -// CHECK:STDOUT: impl60000003: {self: inst600000AC, constraint: inst600000AD, witness: inst600000AA} -// CHECK:STDOUT: impl60000004: {self: inst600000B0, constraint: inst600000B1, witness: inst600000AE} -// CHECK:STDOUT: impl60000005: {self: inst600000B8, constraint: inst600000B9, witness: inst600000B2} -// CHECK:STDOUT: impl60000006: {self: inst600000D2, constraint: inst600000D3, witness: inst600000D0} -// CHECK:STDOUT: impl60000007: {self: inst600000D6, constraint: inst600000D7, witness: inst600000D4} -// CHECK:STDOUT: impl60000008: {self: inst6000010F, constraint: inst60000110, witness: inst600000D8} -// CHECK:STDOUT: impl60000009: {self: inst6000015D, constraint: inst6000015E, witness: inst6000011C} +// CHECK:STDOUT: impl60000000: {self: inst6000009B, constraint: inst6000009C, witness: inst6000006F} +// CHECK:STDOUT: impl60000001: {self: inst600000A6, constraint: inst600000A7, witness: inst600000A4} +// CHECK:STDOUT: impl60000002: {self: inst600000AA, constraint: inst600000AB, witness: inst600000A8} +// CHECK:STDOUT: impl60000003: {self: inst600000AE, constraint: inst600000AF, witness: inst600000AC} +// CHECK:STDOUT: impl60000004: {self: inst600000B2, constraint: inst600000B3, witness: inst600000B0} +// CHECK:STDOUT: impl60000005: {self: inst600000BA, constraint: inst600000BB, witness: inst600000B4} +// CHECK:STDOUT: impl60000006: {self: inst600000D4, constraint: inst600000D5, witness: inst600000D2} +// CHECK:STDOUT: impl60000007: {self: inst600000D8, constraint: inst600000D9, witness: inst600000D6} +// CHECK:STDOUT: impl60000008: {self: inst60000111, constraint: inst60000112, witness: inst600000DA} +// CHECK:STDOUT: impl60000009: {self: inst6000015F, constraint: inst60000160, witness: inst6000011E} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic60000000: {decl: inst6000003C, bindings: inst_block60000015, self_specific_id: specific60000000, decl_block_id: inst_block60000017, definition_block_id: inst_block60000091} -// CHECK:STDOUT: generic60000001: {decl: inst6000004F, bindings: inst_block6000001C, self_specific_id: specific60000001, decl_block_id: inst_block_empty, definition_block_id: inst_block60000026} -// CHECK:STDOUT: generic60000002: {decl: inst60000054, bindings: inst_block60000022, self_specific_id: specific60000002, decl_block_id: inst_block60000023, definition_block_id: inst_block} -// CHECK:STDOUT: generic60000003: {decl: inst6000006E, bindings: inst_block60000037, self_specific_id: specific60000004, decl_block_id: inst_block60000039, definition_block_id: inst_block6000003B} -// CHECK:STDOUT: generic60000004: {decl: inst60000075, bindings: inst_block6000002E, self_specific_id: specific60000007, decl_block_id: inst_block6000002F, definition_block_id: inst_block60000034} -// CHECK:STDOUT: generic60000005: {decl: inst600000B3, bindings: inst_block6000003F, self_specific_id: specific6000000B, decl_block_id: inst_block60000041, definition_block_id: inst_block60000049} -// CHECK:STDOUT: generic60000006: {decl: inst600000BE, bindings: inst_block60000045, self_specific_id: specific6000000D, decl_block_id: inst_block60000046, definition_block_id: inst_block_empty} -// CHECK:STDOUT: generic60000007: {decl: inst600000D9, bindings: inst_block60000060, self_specific_id: specific6000000E, decl_block_id: inst_block60000064, definition_block_id: inst_block60000066} -// CHECK:STDOUT: generic60000008: {decl: inst600000E0, bindings: inst_block60000053, self_specific_id: specific60000011, decl_block_id: inst_block60000055, definition_block_id: inst_block6000005D} -// CHECK:STDOUT: generic60000009: {decl: inst6000011D, bindings: inst_block6000007F, self_specific_id: specific60000017, decl_block_id: inst_block60000083, definition_block_id: inst_block60000085} -// CHECK:STDOUT: generic6000000A: {decl: inst60000124, bindings: inst_block60000070, self_specific_id: specific6000001A, decl_block_id: inst_block60000072, definition_block_id: inst_block6000007C} +// CHECK:STDOUT: generic60000000: {decl: inst6000003E, bindings: inst_block60000015, self_specific_id: specific60000000, decl_block_id: inst_block60000017, definition_block_id: inst_block60000091} +// CHECK:STDOUT: generic60000001: {decl: inst60000051, bindings: inst_block6000001C, self_specific_id: specific60000001, decl_block_id: inst_block_empty, definition_block_id: inst_block60000026} +// CHECK:STDOUT: generic60000002: {decl: inst60000056, bindings: inst_block60000022, self_specific_id: specific60000002, decl_block_id: inst_block60000023, definition_block_id: inst_block} +// CHECK:STDOUT: generic60000003: {decl: inst60000070, bindings: inst_block60000037, self_specific_id: specific60000004, decl_block_id: inst_block60000039, definition_block_id: inst_block6000003B} +// CHECK:STDOUT: generic60000004: {decl: inst60000077, bindings: inst_block6000002E, self_specific_id: specific60000007, decl_block_id: inst_block6000002F, definition_block_id: inst_block60000034} +// CHECK:STDOUT: generic60000005: {decl: inst600000B5, bindings: inst_block6000003F, self_specific_id: specific6000000B, decl_block_id: inst_block60000041, definition_block_id: inst_block60000049} +// CHECK:STDOUT: generic60000006: {decl: inst600000C0, bindings: inst_block60000045, self_specific_id: specific6000000D, decl_block_id: inst_block60000046, definition_block_id: inst_block_empty} +// CHECK:STDOUT: generic60000007: {decl: inst600000DB, bindings: inst_block60000060, self_specific_id: specific6000000E, decl_block_id: inst_block60000064, definition_block_id: inst_block60000066} +// CHECK:STDOUT: generic60000008: {decl: inst600000E2, bindings: inst_block60000053, self_specific_id: specific60000011, decl_block_id: inst_block60000055, definition_block_id: inst_block6000005D} +// CHECK:STDOUT: generic60000009: {decl: inst6000011F, bindings: inst_block6000007F, self_specific_id: specific60000017, decl_block_id: inst_block60000083, definition_block_id: inst_block60000085} +// CHECK:STDOUT: generic6000000A: {decl: inst60000126, bindings: inst_block60000070, self_specific_id: specific6000001A, decl_block_id: inst_block60000072, definition_block_id: inst_block6000007C} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific60000000: {generic: generic60000000, args: inst_block60000016, decl_block_id: inst_block60000018, definition_block_id: inst_block} // CHECK:STDOUT: specific60000001: {generic: generic60000001, args: inst_block6000001D, decl_block_id: inst_block_empty, definition_block_id: inst_block6000001E} @@ -422,14 +422,14 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst60000025)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} -// CHECK:STDOUT: 'type(inst6000002C)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000002C)} -// CHECK:STDOUT: 'type(inst60000028)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000002C)} -// CHECK:STDOUT: 'type(inst6000003D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} +// CHECK:STDOUT: 'type(inst60000026)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000026)} +// CHECK:STDOUT: 'type(inst6000002D)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000002D)} +// CHECK:STDOUT: 'type(inst60000029)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000002D)} +// CHECK:STDOUT: 'type(inst6000003F)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000026)} // CHECK:STDOUT: 'type(symbolic_constant60000003)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant60000003)} // CHECK:STDOUT: 'type(inst(WitnessType))': @@ -443,17 +443,17 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: 'type(symbolic_constant6000000A)': // CHECK:STDOUT: value_repr: {kind: pointer, type: type(symbolic_constant60000011)} // CHECK:STDOUT: 'type(inst(InstType))': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} -// CHECK:STDOUT: 'type(inst6000004E)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000004E)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000026)} +// CHECK:STDOUT: 'type(inst60000050)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000050)} // CHECK:STDOUT: 'type(inst(SpecificFunctionType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(SpecificFunctionType))} // CHECK:STDOUT: 'type(inst(RequireSpecificDefinitionType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(RequireSpecificDefinitionType))} // CHECK:STDOUT: 'type(symbolic_constant60000146)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000026)} // CHECK:STDOUT: 'type(symbolic_constant6000014A)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000026)} // CHECK:STDOUT: 'type(inst(BoundMethodType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(BoundMethodType))} // CHECK:STDOUT: facet_types: @@ -466,379 +466,381 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: inst60000012: {kind: FacetType, arg0: facet_type60000000, type: type(TypeType)} // CHECK:STDOUT: inst60000013: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} // CHECK:STDOUT: inst60000014: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} -// CHECK:STDOUT: inst60000015: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst60000015: {kind: TypeLiteral, arg0: inst(TypeType), type: type(TypeType)} // CHECK:STDOUT: inst60000016: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst60000017: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst60000018: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst60000019: {kind: SymbolicBindingPattern, arg0: entity_name60000001, type: type(inst60000018)} -// CHECK:STDOUT: inst6000001A: {kind: NameRef, arg0: name1, arg1: inst60000015, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: PointerType, arg0: inst6000001A, type: type(TypeType)} -// CHECK:STDOUT: inst6000001C: {kind: PointerType, arg0: inst60000016, type: type(TypeType)} +// CHECK:STDOUT: inst60000018: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst60000019: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst6000001A: {kind: SymbolicBindingPattern, arg0: entity_name60000001, type: type(inst60000019)} +// CHECK:STDOUT: inst6000001B: {kind: NameRef, arg0: name1, arg1: inst60000016, type: type(TypeType)} +// CHECK:STDOUT: inst6000001C: {kind: PointerType, arg0: inst6000001B, type: type(TypeType)} // CHECK:STDOUT: inst6000001D: {kind: PointerType, arg0: inst60000017, type: type(TypeType)} -// CHECK:STDOUT: inst6000001E: {kind: ValueBinding, arg0: entity_name60000002, arg1: inst60000038, type: type(symbolic_constant60000004)} -// CHECK:STDOUT: inst6000001F: {kind: PatternType, arg0: inst6000001C, type: type(TypeType)} -// CHECK:STDOUT: inst60000020: {kind: ValueBindingPattern, arg0: entity_name60000002, type: type(symbolic_constant60000006)} -// CHECK:STDOUT: inst60000021: {kind: PatternType, arg0: inst6000001D, type: type(TypeType)} -// CHECK:STDOUT: inst60000022: {kind: ValueParamPattern, arg0: inst60000020, arg1: call_param0, type: type(symbolic_constant60000006)} -// CHECK:STDOUT: inst60000023: {kind: NameRef, arg0: name1, arg1: inst60000015, type: type(TypeType)} -// CHECK:STDOUT: inst60000024: {kind: PointerType, arg0: inst60000023, type: type(TypeType)} -// CHECK:STDOUT: inst60000025: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000026: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000025)} -// CHECK:STDOUT: inst60000027: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000025)} -// CHECK:STDOUT: inst60000028: {kind: TupleType, arg0: inst_block6000000A, type: type(TypeType)} -// CHECK:STDOUT: inst60000029: {kind: TupleLiteral, arg0: inst_block60000009, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002A: {kind: TupleValue, arg0: inst_block6000000B, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002B: {kind: TupleValue, arg0: inst_block6000000C, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002C: {kind: PointerType, arg0: inst60000028, type: type(TypeType)} -// CHECK:STDOUT: inst6000002D: {kind: Converted, arg0: inst60000027, arg1: inst60000025, type: type(TypeType)} -// CHECK:STDOUT: inst6000002E: {kind: TupleType, arg0: inst_block6000000E, type: type(TypeType)} -// CHECK:STDOUT: inst6000002F: {kind: Converted, arg0: inst60000029, arg1: inst6000002E, type: type(TypeType)} -// CHECK:STDOUT: inst60000030: {kind: TupleType, arg0: inst_block6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst60000031: {kind: InitForm, arg0: inst6000002F, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000032: {kind: InitForm, arg0: inst6000002E, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000033: {kind: InitForm, arg0: inst60000030, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000034: {kind: PatternType, arg0: inst6000002E, type: type(TypeType)} -// CHECK:STDOUT: inst60000035: {kind: ReturnSlotPattern, arg0: inst6000002F, type: type(symbolic_constant6000000E)} -// CHECK:STDOUT: inst60000036: {kind: PatternType, arg0: inst60000030, type: type(TypeType)} -// CHECK:STDOUT: inst60000037: {kind: OutParamPattern, arg0: inst60000035, arg1: call_param1, type: type(symbolic_constant6000000E)} -// CHECK:STDOUT: inst60000038: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant60000004)} -// CHECK:STDOUT: inst60000039: {kind: SpliceBlock, arg0: inst_block60000007, arg1: inst6000001B, type: type(TypeType)} -// CHECK:STDOUT: inst6000003A: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant6000000A)} -// CHECK:STDOUT: inst6000003B: {kind: ReturnSlot, arg0: inst6000002E, arg1: inst6000003A, type: type(symbolic_constant6000000A)} -// CHECK:STDOUT: inst6000003C: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block60000014, type: type(inst6000003D)} -// CHECK:STDOUT: inst6000003D: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000003E: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003D)} -// CHECK:STDOUT: inst6000003F: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000040: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000001E: {kind: PointerType, arg0: inst60000018, type: type(TypeType)} +// CHECK:STDOUT: inst6000001F: {kind: ValueBinding, arg0: entity_name60000002, arg1: inst6000003A, type: type(symbolic_constant60000004)} +// CHECK:STDOUT: inst60000020: {kind: PatternType, arg0: inst6000001D, type: type(TypeType)} +// CHECK:STDOUT: inst60000021: {kind: ValueBindingPattern, arg0: entity_name60000002, type: type(symbolic_constant60000006)} +// CHECK:STDOUT: inst60000022: {kind: PatternType, arg0: inst6000001E, type: type(TypeType)} +// CHECK:STDOUT: inst60000023: {kind: ValueParamPattern, arg0: inst60000021, arg1: call_param0, type: type(symbolic_constant60000006)} +// CHECK:STDOUT: inst60000024: {kind: NameRef, arg0: name1, arg1: inst60000016, type: type(TypeType)} +// CHECK:STDOUT: inst60000025: {kind: PointerType, arg0: inst60000024, type: type(TypeType)} +// CHECK:STDOUT: inst60000026: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000027: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000026)} +// CHECK:STDOUT: inst60000028: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000026)} +// CHECK:STDOUT: inst60000029: {kind: TupleType, arg0: inst_block6000000A, type: type(TypeType)} +// CHECK:STDOUT: inst6000002A: {kind: TupleLiteral, arg0: inst_block60000009, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002B: {kind: TupleValue, arg0: inst_block6000000B, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002C: {kind: TupleValue, arg0: inst_block6000000C, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002D: {kind: PointerType, arg0: inst60000029, type: type(TypeType)} +// CHECK:STDOUT: inst6000002E: {kind: Converted, arg0: inst60000028, arg1: inst60000026, type: type(TypeType)} +// CHECK:STDOUT: inst6000002F: {kind: TupleType, arg0: inst_block6000000E, type: type(TypeType)} +// CHECK:STDOUT: inst60000030: {kind: Converted, arg0: inst6000002A, arg1: inst6000002F, type: type(TypeType)} +// CHECK:STDOUT: inst60000031: {kind: TupleType, arg0: inst_block6000000F, type: type(TypeType)} +// CHECK:STDOUT: inst60000032: {kind: InitForm, arg0: inst60000030, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000033: {kind: InitForm, arg0: inst6000002F, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000034: {kind: InitForm, arg0: inst60000031, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000035: {kind: PatternType, arg0: inst6000002F, type: type(TypeType)} +// CHECK:STDOUT: inst60000036: {kind: ReturnSlotPattern, arg0: inst60000030, type: type(symbolic_constant6000000E)} +// CHECK:STDOUT: inst60000037: {kind: PatternType, arg0: inst60000031, type: type(TypeType)} +// CHECK:STDOUT: inst60000038: {kind: OutParamPattern, arg0: inst60000036, arg1: call_param1, type: type(symbolic_constant6000000E)} +// CHECK:STDOUT: inst60000039: {kind: SpliceBlock, arg0: inst_block60000005, arg1: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst6000003A: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant60000004)} +// CHECK:STDOUT: inst6000003B: {kind: SpliceBlock, arg0: inst_block60000007, arg1: inst6000001C, type: type(TypeType)} +// CHECK:STDOUT: inst6000003C: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant6000000A)} +// CHECK:STDOUT: inst6000003D: {kind: ReturnSlot, arg0: inst6000002F, arg1: inst6000003C, type: type(symbolic_constant6000000A)} +// CHECK:STDOUT: inst6000003E: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block60000014, type: type(inst6000003F)} +// CHECK:STDOUT: inst6000003F: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000040: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003F)} // CHECK:STDOUT: inst60000041: {kind: RequireCompleteType, arg0: inst6000001D, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000042: {kind: PointerType, arg0: inst6000002E, type: type(TypeType)} -// CHECK:STDOUT: inst60000043: {kind: RequireCompleteType, arg0: inst6000002E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000044: {kind: RequireCompleteType, arg0: inst6000002E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000045: {kind: RequireCompleteType, arg0: inst60000030, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000046: {kind: NameRef, arg0: name2, arg1: inst6000001E, type: type(symbolic_constant60000004)} -// CHECK:STDOUT: inst60000047: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000025)} -// CHECK:STDOUT: inst60000048: {kind: TupleLiteral, arg0: inst_block6000001A, type: type(symbolic_constant6000000A)} -// CHECK:STDOUT: inst60000049: {kind: RequireCompleteType, arg0: inst6000002E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000004A: {kind: TupleAccess, arg0: inst6000003A, arg1: element0, type: type(symbolic_constant60000004)} -// CHECK:STDOUT: inst6000004B: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000004C: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name60000003, type: type(TypeType)} -// CHECK:STDOUT: inst6000004D: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst6000004E: {kind: FacetType, arg0: facet_type60000001, type: type(TypeType)} -// CHECK:STDOUT: inst6000004F: {kind: InterfaceWithSelfDecl, arg0: interface60000000} -// CHECK:STDOUT: inst60000050: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000051: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst60000069)} -// CHECK:STDOUT: inst60000052: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name60000005} -// CHECK:STDOUT: inst60000053: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000054: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(symbolic_constant60000015)} -// CHECK:STDOUT: inst60000055: {kind: FunctionType, arg0: function60000001, arg1: specific60000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000056: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000015)} -// CHECK:STDOUT: inst60000057: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000050, type: type(TypeType)} -// CHECK:STDOUT: inst60000058: {kind: PatternType, arg0: inst60000057, type: type(TypeType)} -// CHECK:STDOUT: inst60000059: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant6000001B)} -// CHECK:STDOUT: inst6000005A: {kind: OutParamPattern, arg0: inst60000059, arg1: call_param1, type: type(symbolic_constant6000001B)} -// CHECK:STDOUT: inst6000005B: {kind: ValueBindingPattern, arg0: entity_name60000008, type: type(symbolic_constant6000001B)} -// CHECK:STDOUT: inst6000005C: {kind: ValueParamPattern, arg0: inst6000005B, arg1: call_param0, type: type(symbolic_constant6000001B)} -// CHECK:STDOUT: inst6000005D: {kind: InitForm, arg0: inst60000057, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst6000005E: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000005F: {kind: ImportRefLoaded, arg0: import_ir_instC, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000060: {kind: ImportRefLoaded, arg0: import_ir_instD, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000061: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000062: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000061, type: type(TypeType)} -// CHECK:STDOUT: inst60000063: {kind: PatternType, arg0: inst60000062, type: type(TypeType)} -// CHECK:STDOUT: inst60000064: {kind: InitForm, arg0: inst60000062, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000065: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000066: {kind: FunctionType, arg0: function60000001, arg1: specific60000003, type: type(TypeType)} -// CHECK:STDOUT: inst60000067: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000029)} -// CHECK:STDOUT: inst60000068: {kind: ImportRefUnloaded, arg0: import_ir_inst15, arg1: entity_name} -// CHECK:STDOUT: inst60000069: {kind: AssociatedEntityType, arg0: interface60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000006A: {kind: ImportRefLoaded, arg0: import_ir_inst16, arg1: entity_name, type: type(symbolic_constant60000019)} -// CHECK:STDOUT: inst6000006B: {kind: AssociatedEntity, arg0: element0, arg1: inst6000006A, type: type(inst60000069)} -// CHECK:STDOUT: inst6000006C: {kind: LookupImplWitness, arg0: inst6000001C, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000006D: {kind: ImportRefUnloaded, arg0: import_ir_inst17, arg1: entity_name} -// CHECK:STDOUT: inst6000006E: {kind: ImplDecl, arg0: impl60000000, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000006F: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000070: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000006F, type: type(TypeType)} -// CHECK:STDOUT: inst60000071: {kind: ConstType, arg0: inst60000070, type: type(TypeType)} -// CHECK:STDOUT: inst60000072: {kind: ImportRefUnloaded, arg0: import_ir_inst19, arg1: entity_name} -// CHECK:STDOUT: inst60000073: {kind: ImplWitnessTable, arg0: inst_block60000027, arg1: impl60000000} -// CHECK:STDOUT: inst60000074: {kind: ImplWitness, arg0: inst60000073, arg1: specific60000004, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000075: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant60000031)} -// CHECK:STDOUT: inst60000076: {kind: FunctionType, arg0: function60000002, arg1: specific60000004, type: type(TypeType)} -// CHECK:STDOUT: inst60000077: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000031)} -// CHECK:STDOUT: inst60000078: {kind: PatternType, arg0: inst60000071, type: type(TypeType)} -// CHECK:STDOUT: inst60000079: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000036)} -// CHECK:STDOUT: inst6000007A: {kind: OutParamPattern, arg0: inst60000079, arg1: call_param1, type: type(symbolic_constant60000036)} -// CHECK:STDOUT: inst6000007B: {kind: ValueBindingPattern, arg0: entity_name6000000F, type: type(symbolic_constant60000036)} -// CHECK:STDOUT: inst6000007C: {kind: ValueParamPattern, arg0: inst6000007B, arg1: call_param0, type: type(symbolic_constant60000036)} -// CHECK:STDOUT: inst6000007D: {kind: InitForm, arg0: inst60000071, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst6000007E: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000007F: {kind: ImportRefLoaded, arg0: import_ir_inst21, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000080: {kind: ImportRefLoaded, arg0: import_ir_inst22, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000081: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000082: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000081, type: type(TypeType)} -// CHECK:STDOUT: inst60000083: {kind: ConstType, arg0: inst60000082, type: type(TypeType)} -// CHECK:STDOUT: inst60000084: {kind: PatternType, arg0: inst60000083, type: type(TypeType)} -// CHECK:STDOUT: inst60000085: {kind: InitForm, arg0: inst60000083, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000086: {kind: LookupImplWitness, arg0: inst6000006F, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000087: {kind: FunctionType, arg0: function60000001, arg1: specific60000005, type: type(TypeType)} -// CHECK:STDOUT: inst60000088: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000045)} -// CHECK:STDOUT: inst60000089: {kind: FunctionTypeWithSelfType, arg0: inst60000087, arg1: inst6000006F, type: type(TypeType)} -// CHECK:STDOUT: inst6000008A: {kind: ImplWitnessAccess, arg0: inst60000086, arg1: element0, type: type(symbolic_constant60000047)} -// CHECK:STDOUT: inst6000008B: {kind: SpecificImplFunction, arg0: inst6000008A, arg1: specific60000006, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000008C: {kind: InitForm, arg0: inst60000070, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst6000008D: {kind: PatternType, arg0: inst60000070, type: type(TypeType)} -// CHECK:STDOUT: inst6000008E: {kind: RequireCompleteType, arg0: inst60000070, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000008F: {kind: RequireCompleteType, arg0: inst60000071, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000090: {kind: RequireCompleteType, arg0: inst60000083, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000091: {kind: RequireCompleteType, arg0: inst60000082, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000092: {kind: LookupImplWitness, arg0: inst60000081, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000093: {kind: FunctionType, arg0: function60000001, arg1: specific60000008, type: type(TypeType)} -// CHECK:STDOUT: inst60000094: {kind: FunctionTypeWithSelfType, arg0: inst60000093, arg1: inst60000081, type: type(TypeType)} -// CHECK:STDOUT: inst60000095: {kind: ImplWitnessAccess, arg0: inst60000092, arg1: element0, type: type(symbolic_constant60000059)} -// CHECK:STDOUT: inst60000096: {kind: SpecificImplFunction, arg0: inst60000095, arg1: specific60000009, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000097: {kind: PatternType, arg0: inst6000004E, type: type(TypeType)} -// CHECK:STDOUT: inst60000098: {kind: SymbolicBindingPattern, arg0: entity_name60000015, type: type(inst60000097)} -// CHECK:STDOUT: inst60000099: {kind: ImportRefLoaded, arg0: import_ir_inst30, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009A: {kind: ImportRefLoaded, arg0: import_ir_inst31, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009B: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst6000009C: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst6000009D: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000009C, type: type(TypeType)} -// CHECK:STDOUT: inst6000009E: {kind: ConstType, arg0: inst6000009D, type: type(TypeType)} -// CHECK:STDOUT: inst6000009F: {kind: ImplWitness, arg0: inst60000073, arg1: specific6000000A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000A0: {kind: FunctionType, arg0: function60000002, arg1: specific6000000A, type: type(TypeType)} -// CHECK:STDOUT: inst600000A1: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000064)} -// CHECK:STDOUT: inst600000A2: {kind: ImportRefUnloaded, arg0: import_ir_inst39, arg1: entity_name} -// CHECK:STDOUT: inst600000A3: {kind: ImplDecl, arg0: impl60000001, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000A4: {kind: ImportRefLoaded, arg0: import_ir_inst3B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000A5: {kind: ImportRefLoaded, arg0: import_ir_inst3C, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000A6: {kind: ImportRefUnloaded, arg0: import_ir_inst3D, arg1: entity_name} -// CHECK:STDOUT: inst600000A7: {kind: ImplDecl, arg0: impl60000002, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000A8: {kind: ImportRefLoaded, arg0: import_ir_inst3F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000A9: {kind: ImportRefLoaded, arg0: import_ir_inst40, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000AA: {kind: ImportRefUnloaded, arg0: import_ir_inst41, arg1: entity_name} -// CHECK:STDOUT: inst600000AB: {kind: ImplDecl, arg0: impl60000003, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000AC: {kind: ImportRefLoaded, arg0: import_ir_inst43, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000AD: {kind: ImportRefLoaded, arg0: import_ir_inst44, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000AE: {kind: ImportRefUnloaded, arg0: import_ir_inst45, arg1: entity_name} -// CHECK:STDOUT: inst600000AF: {kind: ImplDecl, arg0: impl60000004, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000B0: {kind: ImportRefLoaded, arg0: import_ir_inst47, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B1: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B2: {kind: ImportRefLoaded, arg0: import_ir_inst49, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000B3: {kind: ImplDecl, arg0: impl60000005, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000B4: {kind: ImportRefUnloaded, arg0: import_ir_inst4B, arg1: entity_name} -// CHECK:STDOUT: inst600000B5: {kind: ImplWitnessTable, arg0: inst_block6000003C, arg1: impl60000005} -// CHECK:STDOUT: inst600000B6: {kind: ImplWitness, arg0: inst600000B5, arg1: specific6000000B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000B7: {kind: SymbolicBindingPattern, arg0: entity_name60000019, type: type(inst60000018)} -// CHECK:STDOUT: inst600000B8: {kind: ImportRefLoaded, arg0: import_ir_inst4E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B9: {kind: ImportRefLoaded, arg0: import_ir_inst4F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000BA: {kind: ImportRefLoaded, arg0: import_ir_inst50, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000BB: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst600000BC: {kind: PointerType, arg0: inst600000BB, type: type(TypeType)} -// CHECK:STDOUT: inst600000BD: {kind: ImplWitness, arg0: inst600000B5, arg1: specific6000000C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000BE: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant60000070)} -// CHECK:STDOUT: inst600000BF: {kind: FunctionType, arg0: function60000003, arg1: specific6000000B, type: type(TypeType)} -// CHECK:STDOUT: inst600000C0: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000070)} -// CHECK:STDOUT: inst600000C1: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000074)} -// CHECK:STDOUT: inst600000C2: {kind: OutParamPattern, arg0: inst600000C1, arg1: call_param1, type: type(symbolic_constant60000074)} -// CHECK:STDOUT: inst600000C3: {kind: ValueBindingPattern, arg0: entity_name6000001A, type: type(symbolic_constant60000074)} -// CHECK:STDOUT: inst600000C4: {kind: ValueParamPattern, arg0: inst600000C3, arg1: call_param0, type: type(symbolic_constant60000074)} -// CHECK:STDOUT: inst600000C5: {kind: InitForm, arg0: inst6000001C, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000C6: {kind: ImportRefLoaded, arg0: import_ir_inst59, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000C7: {kind: ImportRefLoaded, arg0: import_ir_inst5A, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000C8: {kind: ImportRefLoaded, arg0: import_ir_inst5B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000C9: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst600000CA: {kind: PointerType, arg0: inst600000C9, type: type(TypeType)} -// CHECK:STDOUT: inst600000CB: {kind: PatternType, arg0: inst600000CA, type: type(TypeType)} -// CHECK:STDOUT: inst600000CC: {kind: InitForm, arg0: inst600000CA, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000CD: {kind: FunctionType, arg0: function60000003, arg1: specific6000000C, type: type(TypeType)} -// CHECK:STDOUT: inst600000CE: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000080)} -// CHECK:STDOUT: inst600000CF: {kind: RequireCompleteType, arg0: inst600000BC, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000D0: {kind: ImportRefUnloaded, arg0: import_ir_inst63, arg1: entity_name} -// CHECK:STDOUT: inst600000D1: {kind: ImplDecl, arg0: impl60000006, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000D2: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000D3: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000D4: {kind: ImportRefUnloaded, arg0: import_ir_inst67, arg1: entity_name} -// CHECK:STDOUT: inst600000D5: {kind: ImplDecl, arg0: impl60000007, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000D6: {kind: ImportRefLoaded, arg0: import_ir_inst69, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000D7: {kind: ImportRefLoaded, arg0: import_ir_inst6A, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000D8: {kind: ImportRefUnloaded, arg0: import_ir_inst6B, arg1: entity_name} -// CHECK:STDOUT: inst600000D9: {kind: ImplDecl, arg0: impl60000008, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000DA: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst600000DB: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst600000DA, type: type(TypeType)} -// CHECK:STDOUT: inst600000DC: {kind: TupleType, arg0: inst_block6000004A, type: type(TypeType)} -// CHECK:STDOUT: inst600000DD: {kind: ImportRefUnloaded, arg0: import_ir_inst6D, arg1: entity_name} -// CHECK:STDOUT: inst600000DE: {kind: ImplWitnessTable, arg0: inst_block6000004B, arg1: impl60000008} -// CHECK:STDOUT: inst600000DF: {kind: ImplWitness, arg0: inst600000DE, arg1: specific6000000E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E0: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant60000089)} -// CHECK:STDOUT: inst600000E1: {kind: FunctionType, arg0: function60000004, arg1: specific6000000E, type: type(TypeType)} -// CHECK:STDOUT: inst600000E2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000089)} -// CHECK:STDOUT: inst600000E3: {kind: TupleType, arg0: inst_block6000004D, type: type(TypeType)} -// CHECK:STDOUT: inst600000E4: {kind: TupleValue, arg0: inst_block6000004C, type: type(inst600000E3)} -// CHECK:STDOUT: inst600000E5: {kind: PatternType, arg0: inst600000DC, type: type(TypeType)} -// CHECK:STDOUT: inst600000E6: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant6000008F)} -// CHECK:STDOUT: inst600000E7: {kind: OutParamPattern, arg0: inst600000E6, arg1: call_param1, type: type(symbolic_constant6000008F)} -// CHECK:STDOUT: inst600000E8: {kind: ValueBindingPattern, arg0: entity_name6000001E, type: type(symbolic_constant6000008F)} -// CHECK:STDOUT: inst600000E9: {kind: ValueParamPattern, arg0: inst600000E8, arg1: call_param0, type: type(symbolic_constant6000008F)} -// CHECK:STDOUT: inst600000EA: {kind: InitForm, arg0: inst600000DC, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000EB: {kind: ImportRefLoaded, arg0: import_ir_inst74, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000EC: {kind: ImportRefLoaded, arg0: import_ir_inst75, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000ED: {kind: ImportRefLoaded, arg0: import_ir_inst76, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst600000EE: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst600000EF: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst600000F0: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst600000EF, type: type(TypeType)} -// CHECK:STDOUT: inst600000F1: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst600000F2: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst600000F1, type: type(TypeType)} -// CHECK:STDOUT: inst600000F3: {kind: TupleType, arg0: inst_block60000054, type: type(TypeType)} -// CHECK:STDOUT: inst600000F4: {kind: PatternType, arg0: inst600000F3, type: type(TypeType)} -// CHECK:STDOUT: inst600000F5: {kind: InitForm, arg0: inst600000F3, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000F6: {kind: LookupImplWitness, arg0: inst600000DA, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000F7: {kind: FunctionType, arg0: function60000001, arg1: specific6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst600000F8: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000A3)} -// CHECK:STDOUT: inst600000F9: {kind: FunctionTypeWithSelfType, arg0: inst600000F7, arg1: inst600000DA, type: type(TypeType)} -// CHECK:STDOUT: inst600000FA: {kind: ImplWitnessAccess, arg0: inst600000F6, arg1: element0, type: type(symbolic_constant600000A5)} -// CHECK:STDOUT: inst600000FB: {kind: SpecificImplFunction, arg0: inst600000FA, arg1: specific60000010, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000FC: {kind: InitForm, arg0: inst600000DB, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst600000FD: {kind: PatternType, arg0: inst600000DB, type: type(TypeType)} -// CHECK:STDOUT: inst600000FE: {kind: RequireCompleteType, arg0: inst600000DB, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000FF: {kind: RequireCompleteType, arg0: inst600000DC, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000100: {kind: RequireCompleteType, arg0: inst600000F3, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000101: {kind: RequireCompleteType, arg0: inst600000F0, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000102: {kind: LookupImplWitness, arg0: inst600000EF, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000103: {kind: FunctionType, arg0: function60000001, arg1: specific60000012, type: type(TypeType)} -// CHECK:STDOUT: inst60000104: {kind: FunctionTypeWithSelfType, arg0: inst60000103, arg1: inst600000EF, type: type(TypeType)} -// CHECK:STDOUT: inst60000105: {kind: ImplWitnessAccess, arg0: inst60000102, arg1: element0, type: type(symbolic_constant600000BD)} -// CHECK:STDOUT: inst60000106: {kind: SpecificImplFunction, arg0: inst60000105, arg1: specific60000013, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000107: {kind: RequireCompleteType, arg0: inst600000F2, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000108: {kind: LookupImplWitness, arg0: inst600000F1, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000109: {kind: FunctionType, arg0: function60000001, arg1: specific60000014, type: type(TypeType)} -// CHECK:STDOUT: inst6000010A: {kind: FunctionTypeWithSelfType, arg0: inst60000109, arg1: inst600000F1, type: type(TypeType)} -// CHECK:STDOUT: inst6000010B: {kind: ImplWitnessAccess, arg0: inst60000108, arg1: element0, type: type(symbolic_constant600000C3)} -// CHECK:STDOUT: inst6000010C: {kind: SpecificImplFunction, arg0: inst6000010B, arg1: specific60000015, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000010D: {kind: SymbolicBindingPattern, arg0: entity_name60000029, type: type(inst60000097)} -// CHECK:STDOUT: inst6000010E: {kind: SymbolicBindingPattern, arg0: entity_name6000002A, type: type(inst60000097)} -// CHECK:STDOUT: inst6000010F: {kind: ImportRefLoaded, arg0: import_ir_inst8E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000110: {kind: ImportRefLoaded, arg0: import_ir_inst8F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000111: {kind: ImportRefLoaded, arg0: import_ir_inst90, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000112: {kind: ImportRefLoaded, arg0: import_ir_inst91, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000113: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000114: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000115: {kind: TupleValue, arg0: inst_block60000061, type: type(inst600000E3)} -// CHECK:STDOUT: inst60000116: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000113, type: type(TypeType)} -// CHECK:STDOUT: inst60000117: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst60000114, type: type(TypeType)} -// CHECK:STDOUT: inst60000118: {kind: TupleType, arg0: inst_block60000062, type: type(TypeType)} -// CHECK:STDOUT: inst60000119: {kind: ImplWitness, arg0: inst600000DE, arg1: specific60000016, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000011A: {kind: FunctionType, arg0: function60000004, arg1: specific60000016, type: type(TypeType)} -// CHECK:STDOUT: inst6000011B: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000D4)} -// CHECK:STDOUT: inst6000011C: {kind: ImportRefUnloaded, arg0: import_ir_inst9B, arg1: entity_name} -// CHECK:STDOUT: inst6000011D: {kind: ImplDecl, arg0: impl60000009, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000011E: {kind: SymbolicBinding, arg0: entity_name6000002B, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst6000011F: {kind: SymbolicBindingType, arg0: entity_name6000002B, arg1: inst6000011E, type: type(TypeType)} -// CHECK:STDOUT: inst60000120: {kind: TupleType, arg0: inst_block60000067, type: type(TypeType)} -// CHECK:STDOUT: inst60000121: {kind: ImportRefUnloaded, arg0: import_ir_inst9D, arg1: entity_name} -// CHECK:STDOUT: inst60000122: {kind: ImplWitnessTable, arg0: inst_block60000068, arg1: impl60000009} -// CHECK:STDOUT: inst60000123: {kind: ImplWitness, arg0: inst60000122, arg1: specific60000017, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000124: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant600000DC)} -// CHECK:STDOUT: inst60000125: {kind: FunctionType, arg0: function60000005, arg1: specific60000017, type: type(TypeType)} -// CHECK:STDOUT: inst60000126: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000DC)} -// CHECK:STDOUT: inst60000127: {kind: TupleType, arg0: inst_block6000006A, type: type(TypeType)} -// CHECK:STDOUT: inst60000128: {kind: TupleValue, arg0: inst_block60000069, type: type(inst60000127)} -// CHECK:STDOUT: inst60000129: {kind: PatternType, arg0: inst60000120, type: type(TypeType)} -// CHECK:STDOUT: inst6000012A: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant600000E2)} -// CHECK:STDOUT: inst6000012B: {kind: OutParamPattern, arg0: inst6000012A, arg1: call_param1, type: type(symbolic_constant600000E2)} -// CHECK:STDOUT: inst6000012C: {kind: ValueBindingPattern, arg0: entity_name6000002D, type: type(symbolic_constant600000E2)} -// CHECK:STDOUT: inst6000012D: {kind: ValueParamPattern, arg0: inst6000012C, arg1: call_param0, type: type(symbolic_constant600000E2)} -// CHECK:STDOUT: inst6000012E: {kind: InitForm, arg0: inst60000120, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst6000012F: {kind: ImportRefLoaded, arg0: import_ir_instA4, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000130: {kind: ImportRefLoaded, arg0: import_ir_instA5, arg1: entity_name, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000131: {kind: ImportRefLoaded, arg0: import_ir_instA6, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000132: {kind: ImportRefLoaded, arg0: import_ir_instA7, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000133: {kind: ImportRefLoaded, arg0: import_ir_instA8, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000134: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000135: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000134, type: type(TypeType)} -// CHECK:STDOUT: inst60000136: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000137: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst60000136, type: type(TypeType)} -// CHECK:STDOUT: inst60000138: {kind: SymbolicBinding, arg0: entity_name6000002B, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000139: {kind: SymbolicBindingType, arg0: entity_name6000002B, arg1: inst60000138, type: type(TypeType)} -// CHECK:STDOUT: inst6000013A: {kind: TupleType, arg0: inst_block60000071, type: type(TypeType)} -// CHECK:STDOUT: inst6000013B: {kind: PatternType, arg0: inst6000013A, type: type(TypeType)} -// CHECK:STDOUT: inst6000013C: {kind: InitForm, arg0: inst6000013A, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst6000013D: {kind: LookupImplWitness, arg0: inst6000011E, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000013E: {kind: FunctionType, arg0: function60000001, arg1: specific60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000013F: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000FB)} -// CHECK:STDOUT: inst60000140: {kind: FunctionTypeWithSelfType, arg0: inst6000013E, arg1: inst6000011E, type: type(TypeType)} -// CHECK:STDOUT: inst60000141: {kind: ImplWitnessAccess, arg0: inst6000013D, arg1: element0, type: type(symbolic_constant600000FD)} -// CHECK:STDOUT: inst60000142: {kind: SpecificImplFunction, arg0: inst60000141, arg1: specific60000019, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000143: {kind: InitForm, arg0: inst6000011F, arg1: call_param1, type: type(inst(FormType))} -// CHECK:STDOUT: inst60000144: {kind: PatternType, arg0: inst6000011F, type: type(TypeType)} -// CHECK:STDOUT: inst60000145: {kind: RequireCompleteType, arg0: inst6000011F, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000146: {kind: RequireCompleteType, arg0: inst60000120, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000147: {kind: RequireCompleteType, arg0: inst6000013A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000148: {kind: RequireCompleteType, arg0: inst60000135, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000149: {kind: LookupImplWitness, arg0: inst60000134, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000014A: {kind: FunctionType, arg0: function60000001, arg1: specific6000001B, type: type(TypeType)} -// CHECK:STDOUT: inst6000014B: {kind: FunctionTypeWithSelfType, arg0: inst6000014A, arg1: inst60000134, type: type(TypeType)} -// CHECK:STDOUT: inst6000014C: {kind: ImplWitnessAccess, arg0: inst60000149, arg1: element0, type: type(symbolic_constant6000011B)} -// CHECK:STDOUT: inst6000014D: {kind: SpecificImplFunction, arg0: inst6000014C, arg1: specific6000001C, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000014E: {kind: RequireCompleteType, arg0: inst60000137, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000014F: {kind: LookupImplWitness, arg0: inst60000136, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000150: {kind: FunctionType, arg0: function60000001, arg1: specific6000001D, type: type(TypeType)} -// CHECK:STDOUT: inst60000151: {kind: FunctionTypeWithSelfType, arg0: inst60000150, arg1: inst60000136, type: type(TypeType)} -// CHECK:STDOUT: inst60000152: {kind: ImplWitnessAccess, arg0: inst6000014F, arg1: element0, type: type(symbolic_constant60000121)} -// CHECK:STDOUT: inst60000153: {kind: SpecificImplFunction, arg0: inst60000152, arg1: specific6000001E, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000154: {kind: RequireCompleteType, arg0: inst60000139, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000155: {kind: LookupImplWitness, arg0: inst60000138, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000156: {kind: FunctionType, arg0: function60000001, arg1: specific6000001F, type: type(TypeType)} -// CHECK:STDOUT: inst60000157: {kind: FunctionTypeWithSelfType, arg0: inst60000156, arg1: inst60000138, type: type(TypeType)} -// CHECK:STDOUT: inst60000158: {kind: ImplWitnessAccess, arg0: inst60000155, arg1: element0, type: type(symbolic_constant60000127)} -// CHECK:STDOUT: inst60000159: {kind: SpecificImplFunction, arg0: inst60000158, arg1: specific60000020, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000015A: {kind: SymbolicBindingPattern, arg0: entity_name6000003D, type: type(inst60000097)} -// CHECK:STDOUT: inst6000015B: {kind: SymbolicBindingPattern, arg0: entity_name6000003E, type: type(inst60000097)} -// CHECK:STDOUT: inst6000015C: {kind: SymbolicBindingPattern, arg0: entity_name6000003F, type: type(inst60000097)} -// CHECK:STDOUT: inst6000015D: {kind: ImportRefLoaded, arg0: import_ir_instC8, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000015E: {kind: ImportRefLoaded, arg0: import_ir_instC9, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000015F: {kind: ImportRefLoaded, arg0: import_ir_instCA, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000160: {kind: ImportRefLoaded, arg0: import_ir_instCB, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000161: {kind: ImportRefLoaded, arg0: import_ir_instCC, arg1: entity_name, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000162: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000163: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000164: {kind: SymbolicBinding, arg0: entity_name6000002B, arg1: inst, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000165: {kind: TupleValue, arg0: inst_block60000080, type: type(inst60000127)} -// CHECK:STDOUT: inst60000166: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000162, type: type(TypeType)} -// CHECK:STDOUT: inst60000167: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst60000163, type: type(TypeType)} -// CHECK:STDOUT: inst60000168: {kind: SymbolicBindingType, arg0: entity_name6000002B, arg1: inst60000164, type: type(TypeType)} -// CHECK:STDOUT: inst60000169: {kind: TupleType, arg0: inst_block60000081, type: type(TypeType)} -// CHECK:STDOUT: inst6000016A: {kind: ImplWitness, arg0: inst60000122, arg1: specific60000021, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000016B: {kind: FunctionType, arg0: function60000005, arg1: specific60000021, type: type(TypeType)} -// CHECK:STDOUT: inst6000016C: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant6000013C)} -// CHECK:STDOUT: inst6000016D: {kind: RequireSpecificDefinition, arg0: specific6000000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst6000016E: {kind: RequireSpecificDefinition, arg0: specific6000000B, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst6000016F: {kind: RequireSpecificDefinition, arg0: specific60000022, type: type(inst(RequireSpecificDefinitionType))} -// CHECK:STDOUT: inst60000170: {kind: LookupImplWitness, arg0: inst6000001C, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000171: {kind: LookupImplWitness, arg0: inst6000001D, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000172: {kind: FacetValue, arg0: inst6000001C, arg1: inst_block60000088, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000173: {kind: FunctionType, arg0: function60000001, arg1: specific60000023, type: type(TypeType)} -// CHECK:STDOUT: inst60000174: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000144)} -// CHECK:STDOUT: inst60000175: {kind: FunctionTypeWithSelfType, arg0: inst60000173, arg1: inst60000172, type: type(TypeType)} -// CHECK:STDOUT: inst60000176: {kind: ImplWitnessAccess, arg0: inst60000170, arg1: element0, type: type(symbolic_constant6000014A)} -// CHECK:STDOUT: inst60000177: {kind: ImplWitnessAccess, arg0: inst60000170, arg1: element0, type: type(symbolic_constant60000146)} -// CHECK:STDOUT: inst60000178: {kind: FacetValue, arg0: inst6000001D, arg1: inst_block6000008B, type: type(inst6000004E)} -// CHECK:STDOUT: inst60000179: {kind: FunctionType, arg0: function60000001, arg1: specific60000024, type: type(TypeType)} -// CHECK:STDOUT: inst6000017A: {kind: FunctionTypeWithSelfType, arg0: inst60000179, arg1: inst60000178, type: type(TypeType)} -// CHECK:STDOUT: inst6000017B: {kind: ImplWitnessAccess, arg0: inst60000171, arg1: element0, type: type(symbolic_constant6000014A)} -// CHECK:STDOUT: inst6000017C: {kind: BoundMethod, arg0: inst60000046, arg1: inst60000176, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst6000017D: {kind: SpecificImplFunction, arg0: inst60000176, arg1: specific60000025, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000017E: {kind: SpecificImplFunction, arg0: inst60000177, arg1: specific60000025, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000017F: {kind: SpecificImplFunction, arg0: inst6000017B, arg1: specific60000026, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000180: {kind: BoundMethod, arg0: inst60000046, arg1: inst6000017D, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst60000181: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000182: {kind: Call, arg0: inst60000180, arg1: inst_block6000008F, type: type(symbolic_constant60000004)} -// CHECK:STDOUT: inst60000183: {kind: InPlaceInit, arg0: inst60000182, arg1: inst6000004A, type: type(symbolic_constant60000004)} -// CHECK:STDOUT: inst60000184: {kind: TupleAccess, arg0: inst6000003A, arg1: element1, type: type(inst60000025)} -// CHECK:STDOUT: inst60000185: {kind: TupleInit, arg0: inst_block_empty, arg1: inst, type: type(inst60000025)} -// CHECK:STDOUT: inst60000186: {kind: Converted, arg0: inst60000047, arg1: inst60000185, type: type(inst60000025)} -// CHECK:STDOUT: inst60000187: {kind: TupleInit, arg0: inst_block60000090, arg1: inst6000003A, type: type(symbolic_constant6000000A)} -// CHECK:STDOUT: inst60000188: {kind: Converted, arg0: inst60000048, arg1: inst60000187, type: type(symbolic_constant6000000A)} -// CHECK:STDOUT: inst60000189: {kind: ReturnExpr, arg0: inst60000188, arg1: inst6000003A} +// CHECK:STDOUT: inst60000042: {kind: RequireCompleteType, arg0: inst6000001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000043: {kind: RequireCompleteType, arg0: inst6000001E, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000044: {kind: PointerType, arg0: inst6000002F, type: type(TypeType)} +// CHECK:STDOUT: inst60000045: {kind: RequireCompleteType, arg0: inst6000002F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000046: {kind: RequireCompleteType, arg0: inst6000002F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000047: {kind: RequireCompleteType, arg0: inst60000031, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000048: {kind: NameRef, arg0: name2, arg1: inst6000001F, type: type(symbolic_constant60000004)} +// CHECK:STDOUT: inst60000049: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000026)} +// CHECK:STDOUT: inst6000004A: {kind: TupleLiteral, arg0: inst_block6000001A, type: type(symbolic_constant6000000A)} +// CHECK:STDOUT: inst6000004B: {kind: RequireCompleteType, arg0: inst6000002F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000004C: {kind: TupleAccess, arg0: inst6000003C, arg1: element0, type: type(symbolic_constant60000004)} +// CHECK:STDOUT: inst6000004D: {kind: RequireCompleteType, arg0: inst6000001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000004E: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name60000003, type: type(TypeType)} +// CHECK:STDOUT: inst6000004F: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000050: {kind: FacetType, arg0: facet_type60000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000051: {kind: InterfaceWithSelfDecl, arg0: interface60000000} +// CHECK:STDOUT: inst60000052: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000053: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(inst6000006B)} +// CHECK:STDOUT: inst60000054: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name60000005} +// CHECK:STDOUT: inst60000055: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000056: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(symbolic_constant60000015)} +// CHECK:STDOUT: inst60000057: {kind: FunctionType, arg0: function60000001, arg1: specific60000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000058: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000015)} +// CHECK:STDOUT: inst60000059: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000052, type: type(TypeType)} +// CHECK:STDOUT: inst6000005A: {kind: PatternType, arg0: inst60000059, type: type(TypeType)} +// CHECK:STDOUT: inst6000005B: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant6000001B)} +// CHECK:STDOUT: inst6000005C: {kind: OutParamPattern, arg0: inst6000005B, arg1: call_param1, type: type(symbolic_constant6000001B)} +// CHECK:STDOUT: inst6000005D: {kind: ValueBindingPattern, arg0: entity_name60000008, type: type(symbolic_constant6000001B)} +// CHECK:STDOUT: inst6000005E: {kind: ValueParamPattern, arg0: inst6000005D, arg1: call_param0, type: type(symbolic_constant6000001B)} +// CHECK:STDOUT: inst6000005F: {kind: InitForm, arg0: inst60000059, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000060: {kind: ImportRefLoaded, arg0: import_ir_instB, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000061: {kind: ImportRefLoaded, arg0: import_ir_instC, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000062: {kind: ImportRefLoaded, arg0: import_ir_instD, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000063: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000064: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000063, type: type(TypeType)} +// CHECK:STDOUT: inst60000065: {kind: PatternType, arg0: inst60000064, type: type(TypeType)} +// CHECK:STDOUT: inst60000066: {kind: InitForm, arg0: inst60000064, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000067: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000068: {kind: FunctionType, arg0: function60000001, arg1: specific60000003, type: type(TypeType)} +// CHECK:STDOUT: inst60000069: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000029)} +// CHECK:STDOUT: inst6000006A: {kind: ImportRefUnloaded, arg0: import_ir_inst15, arg1: entity_name} +// CHECK:STDOUT: inst6000006B: {kind: AssociatedEntityType, arg0: interface60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000006C: {kind: ImportRefLoaded, arg0: import_ir_inst16, arg1: entity_name, type: type(symbolic_constant60000019)} +// CHECK:STDOUT: inst6000006D: {kind: AssociatedEntity, arg0: element0, arg1: inst6000006C, type: type(inst6000006B)} +// CHECK:STDOUT: inst6000006E: {kind: LookupImplWitness, arg0: inst6000001D, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000006F: {kind: ImportRefUnloaded, arg0: import_ir_inst17, arg1: entity_name} +// CHECK:STDOUT: inst60000070: {kind: ImplDecl, arg0: impl60000000, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000071: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000072: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000071, type: type(TypeType)} +// CHECK:STDOUT: inst60000073: {kind: ConstType, arg0: inst60000072, type: type(TypeType)} +// CHECK:STDOUT: inst60000074: {kind: ImportRefUnloaded, arg0: import_ir_inst19, arg1: entity_name} +// CHECK:STDOUT: inst60000075: {kind: ImplWitnessTable, arg0: inst_block60000027, arg1: impl60000000} +// CHECK:STDOUT: inst60000076: {kind: ImplWitness, arg0: inst60000075, arg1: specific60000004, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000077: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant60000031)} +// CHECK:STDOUT: inst60000078: {kind: FunctionType, arg0: function60000002, arg1: specific60000004, type: type(TypeType)} +// CHECK:STDOUT: inst60000079: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000031)} +// CHECK:STDOUT: inst6000007A: {kind: PatternType, arg0: inst60000073, type: type(TypeType)} +// CHECK:STDOUT: inst6000007B: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000036)} +// CHECK:STDOUT: inst6000007C: {kind: OutParamPattern, arg0: inst6000007B, arg1: call_param1, type: type(symbolic_constant60000036)} +// CHECK:STDOUT: inst6000007D: {kind: ValueBindingPattern, arg0: entity_name6000000F, type: type(symbolic_constant60000036)} +// CHECK:STDOUT: inst6000007E: {kind: ValueParamPattern, arg0: inst6000007D, arg1: call_param0, type: type(symbolic_constant60000036)} +// CHECK:STDOUT: inst6000007F: {kind: InitForm, arg0: inst60000073, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000080: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000081: {kind: ImportRefLoaded, arg0: import_ir_inst21, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000082: {kind: ImportRefLoaded, arg0: import_ir_inst22, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000083: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000084: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000083, type: type(TypeType)} +// CHECK:STDOUT: inst60000085: {kind: ConstType, arg0: inst60000084, type: type(TypeType)} +// CHECK:STDOUT: inst60000086: {kind: PatternType, arg0: inst60000085, type: type(TypeType)} +// CHECK:STDOUT: inst60000087: {kind: InitForm, arg0: inst60000085, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000088: {kind: LookupImplWitness, arg0: inst60000071, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000089: {kind: FunctionType, arg0: function60000001, arg1: specific60000005, type: type(TypeType)} +// CHECK:STDOUT: inst6000008A: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000045)} +// CHECK:STDOUT: inst6000008B: {kind: FunctionTypeWithSelfType, arg0: inst60000089, arg1: inst60000071, type: type(TypeType)} +// CHECK:STDOUT: inst6000008C: {kind: ImplWitnessAccess, arg0: inst60000088, arg1: element0, type: type(symbolic_constant60000047)} +// CHECK:STDOUT: inst6000008D: {kind: SpecificImplFunction, arg0: inst6000008C, arg1: specific60000006, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000008E: {kind: InitForm, arg0: inst60000072, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst6000008F: {kind: PatternType, arg0: inst60000072, type: type(TypeType)} +// CHECK:STDOUT: inst60000090: {kind: RequireCompleteType, arg0: inst60000072, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000091: {kind: RequireCompleteType, arg0: inst60000073, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000092: {kind: RequireCompleteType, arg0: inst60000085, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000093: {kind: RequireCompleteType, arg0: inst60000084, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000094: {kind: LookupImplWitness, arg0: inst60000083, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000095: {kind: FunctionType, arg0: function60000001, arg1: specific60000008, type: type(TypeType)} +// CHECK:STDOUT: inst60000096: {kind: FunctionTypeWithSelfType, arg0: inst60000095, arg1: inst60000083, type: type(TypeType)} +// CHECK:STDOUT: inst60000097: {kind: ImplWitnessAccess, arg0: inst60000094, arg1: element0, type: type(symbolic_constant60000059)} +// CHECK:STDOUT: inst60000098: {kind: SpecificImplFunction, arg0: inst60000097, arg1: specific60000009, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000099: {kind: PatternType, arg0: inst60000050, type: type(TypeType)} +// CHECK:STDOUT: inst6000009A: {kind: SymbolicBindingPattern, arg0: entity_name60000015, type: type(inst60000099)} +// CHECK:STDOUT: inst6000009B: {kind: ImportRefLoaded, arg0: import_ir_inst30, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009C: {kind: ImportRefLoaded, arg0: import_ir_inst31, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009D: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst6000009E: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst6000009F: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000009E, type: type(TypeType)} +// CHECK:STDOUT: inst600000A0: {kind: ConstType, arg0: inst6000009F, type: type(TypeType)} +// CHECK:STDOUT: inst600000A1: {kind: ImplWitness, arg0: inst60000075, arg1: specific6000000A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000A2: {kind: FunctionType, arg0: function60000002, arg1: specific6000000A, type: type(TypeType)} +// CHECK:STDOUT: inst600000A3: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000064)} +// CHECK:STDOUT: inst600000A4: {kind: ImportRefUnloaded, arg0: import_ir_inst39, arg1: entity_name} +// CHECK:STDOUT: inst600000A5: {kind: ImplDecl, arg0: impl60000001, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000A6: {kind: ImportRefLoaded, arg0: import_ir_inst3B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000A7: {kind: ImportRefLoaded, arg0: import_ir_inst3C, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000A8: {kind: ImportRefUnloaded, arg0: import_ir_inst3D, arg1: entity_name} +// CHECK:STDOUT: inst600000A9: {kind: ImplDecl, arg0: impl60000002, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000AA: {kind: ImportRefLoaded, arg0: import_ir_inst3F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000AB: {kind: ImportRefLoaded, arg0: import_ir_inst40, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000AC: {kind: ImportRefUnloaded, arg0: import_ir_inst41, arg1: entity_name} +// CHECK:STDOUT: inst600000AD: {kind: ImplDecl, arg0: impl60000003, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000AE: {kind: ImportRefLoaded, arg0: import_ir_inst43, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000AF: {kind: ImportRefLoaded, arg0: import_ir_inst44, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B0: {kind: ImportRefUnloaded, arg0: import_ir_inst45, arg1: entity_name} +// CHECK:STDOUT: inst600000B1: {kind: ImplDecl, arg0: impl60000004, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000B2: {kind: ImportRefLoaded, arg0: import_ir_inst47, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B3: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B4: {kind: ImportRefLoaded, arg0: import_ir_inst49, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000B5: {kind: ImplDecl, arg0: impl60000005, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000B6: {kind: ImportRefUnloaded, arg0: import_ir_inst4B, arg1: entity_name} +// CHECK:STDOUT: inst600000B7: {kind: ImplWitnessTable, arg0: inst_block6000003C, arg1: impl60000005} +// CHECK:STDOUT: inst600000B8: {kind: ImplWitness, arg0: inst600000B7, arg1: specific6000000B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000B9: {kind: SymbolicBindingPattern, arg0: entity_name60000019, type: type(inst60000019)} +// CHECK:STDOUT: inst600000BA: {kind: ImportRefLoaded, arg0: import_ir_inst4E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BB: {kind: ImportRefLoaded, arg0: import_ir_inst4F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BC: {kind: ImportRefLoaded, arg0: import_ir_inst50, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BD: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst600000BE: {kind: PointerType, arg0: inst600000BD, type: type(TypeType)} +// CHECK:STDOUT: inst600000BF: {kind: ImplWitness, arg0: inst600000B7, arg1: specific6000000C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000C0: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant60000070)} +// CHECK:STDOUT: inst600000C1: {kind: FunctionType, arg0: function60000003, arg1: specific6000000B, type: type(TypeType)} +// CHECK:STDOUT: inst600000C2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000070)} +// CHECK:STDOUT: inst600000C3: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000074)} +// CHECK:STDOUT: inst600000C4: {kind: OutParamPattern, arg0: inst600000C3, arg1: call_param1, type: type(symbolic_constant60000074)} +// CHECK:STDOUT: inst600000C5: {kind: ValueBindingPattern, arg0: entity_name6000001A, type: type(symbolic_constant60000074)} +// CHECK:STDOUT: inst600000C6: {kind: ValueParamPattern, arg0: inst600000C5, arg1: call_param0, type: type(symbolic_constant60000074)} +// CHECK:STDOUT: inst600000C7: {kind: InitForm, arg0: inst6000001D, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000C8: {kind: ImportRefLoaded, arg0: import_ir_inst59, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000C9: {kind: ImportRefLoaded, arg0: import_ir_inst5A, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000CA: {kind: ImportRefLoaded, arg0: import_ir_inst5B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000CB: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst600000CC: {kind: PointerType, arg0: inst600000CB, type: type(TypeType)} +// CHECK:STDOUT: inst600000CD: {kind: PatternType, arg0: inst600000CC, type: type(TypeType)} +// CHECK:STDOUT: inst600000CE: {kind: InitForm, arg0: inst600000CC, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000CF: {kind: FunctionType, arg0: function60000003, arg1: specific6000000C, type: type(TypeType)} +// CHECK:STDOUT: inst600000D0: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000080)} +// CHECK:STDOUT: inst600000D1: {kind: RequireCompleteType, arg0: inst600000BE, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000D2: {kind: ImportRefUnloaded, arg0: import_ir_inst63, arg1: entity_name} +// CHECK:STDOUT: inst600000D3: {kind: ImplDecl, arg0: impl60000006, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000D4: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000D5: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000D6: {kind: ImportRefUnloaded, arg0: import_ir_inst67, arg1: entity_name} +// CHECK:STDOUT: inst600000D7: {kind: ImplDecl, arg0: impl60000007, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000D8: {kind: ImportRefLoaded, arg0: import_ir_inst69, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000D9: {kind: ImportRefLoaded, arg0: import_ir_inst6A, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000DA: {kind: ImportRefUnloaded, arg0: import_ir_inst6B, arg1: entity_name} +// CHECK:STDOUT: inst600000DB: {kind: ImplDecl, arg0: impl60000008, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000DC: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst600000DD: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst600000DC, type: type(TypeType)} +// CHECK:STDOUT: inst600000DE: {kind: TupleType, arg0: inst_block6000004A, type: type(TypeType)} +// CHECK:STDOUT: inst600000DF: {kind: ImportRefUnloaded, arg0: import_ir_inst6D, arg1: entity_name} +// CHECK:STDOUT: inst600000E0: {kind: ImplWitnessTable, arg0: inst_block6000004B, arg1: impl60000008} +// CHECK:STDOUT: inst600000E1: {kind: ImplWitness, arg0: inst600000E0, arg1: specific6000000E, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E2: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant60000089)} +// CHECK:STDOUT: inst600000E3: {kind: FunctionType, arg0: function60000004, arg1: specific6000000E, type: type(TypeType)} +// CHECK:STDOUT: inst600000E4: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000089)} +// CHECK:STDOUT: inst600000E5: {kind: TupleType, arg0: inst_block6000004D, type: type(TypeType)} +// CHECK:STDOUT: inst600000E6: {kind: TupleValue, arg0: inst_block6000004C, type: type(inst600000E5)} +// CHECK:STDOUT: inst600000E7: {kind: PatternType, arg0: inst600000DE, type: type(TypeType)} +// CHECK:STDOUT: inst600000E8: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant6000008F)} +// CHECK:STDOUT: inst600000E9: {kind: OutParamPattern, arg0: inst600000E8, arg1: call_param1, type: type(symbolic_constant6000008F)} +// CHECK:STDOUT: inst600000EA: {kind: ValueBindingPattern, arg0: entity_name6000001E, type: type(symbolic_constant6000008F)} +// CHECK:STDOUT: inst600000EB: {kind: ValueParamPattern, arg0: inst600000EA, arg1: call_param0, type: type(symbolic_constant6000008F)} +// CHECK:STDOUT: inst600000EC: {kind: InitForm, arg0: inst600000DE, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000ED: {kind: ImportRefLoaded, arg0: import_ir_inst74, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000EE: {kind: ImportRefLoaded, arg0: import_ir_inst75, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000EF: {kind: ImportRefLoaded, arg0: import_ir_inst76, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst600000F0: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst600000F1: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst600000F2: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst600000F1, type: type(TypeType)} +// CHECK:STDOUT: inst600000F3: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst600000F4: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst600000F3, type: type(TypeType)} +// CHECK:STDOUT: inst600000F5: {kind: TupleType, arg0: inst_block60000054, type: type(TypeType)} +// CHECK:STDOUT: inst600000F6: {kind: PatternType, arg0: inst600000F5, type: type(TypeType)} +// CHECK:STDOUT: inst600000F7: {kind: InitForm, arg0: inst600000F5, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000F8: {kind: LookupImplWitness, arg0: inst600000DC, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000F9: {kind: FunctionType, arg0: function60000001, arg1: specific6000000F, type: type(TypeType)} +// CHECK:STDOUT: inst600000FA: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000A3)} +// CHECK:STDOUT: inst600000FB: {kind: FunctionTypeWithSelfType, arg0: inst600000F9, arg1: inst600000DC, type: type(TypeType)} +// CHECK:STDOUT: inst600000FC: {kind: ImplWitnessAccess, arg0: inst600000F8, arg1: element0, type: type(symbolic_constant600000A5)} +// CHECK:STDOUT: inst600000FD: {kind: SpecificImplFunction, arg0: inst600000FC, arg1: specific60000010, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000FE: {kind: InitForm, arg0: inst600000DD, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst600000FF: {kind: PatternType, arg0: inst600000DD, type: type(TypeType)} +// CHECK:STDOUT: inst60000100: {kind: RequireCompleteType, arg0: inst600000DD, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000101: {kind: RequireCompleteType, arg0: inst600000DE, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000102: {kind: RequireCompleteType, arg0: inst600000F5, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000103: {kind: RequireCompleteType, arg0: inst600000F2, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000104: {kind: LookupImplWitness, arg0: inst600000F1, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000105: {kind: FunctionType, arg0: function60000001, arg1: specific60000012, type: type(TypeType)} +// CHECK:STDOUT: inst60000106: {kind: FunctionTypeWithSelfType, arg0: inst60000105, arg1: inst600000F1, type: type(TypeType)} +// CHECK:STDOUT: inst60000107: {kind: ImplWitnessAccess, arg0: inst60000104, arg1: element0, type: type(symbolic_constant600000BD)} +// CHECK:STDOUT: inst60000108: {kind: SpecificImplFunction, arg0: inst60000107, arg1: specific60000013, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000109: {kind: RequireCompleteType, arg0: inst600000F4, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000010A: {kind: LookupImplWitness, arg0: inst600000F3, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000010B: {kind: FunctionType, arg0: function60000001, arg1: specific60000014, type: type(TypeType)} +// CHECK:STDOUT: inst6000010C: {kind: FunctionTypeWithSelfType, arg0: inst6000010B, arg1: inst600000F3, type: type(TypeType)} +// CHECK:STDOUT: inst6000010D: {kind: ImplWitnessAccess, arg0: inst6000010A, arg1: element0, type: type(symbolic_constant600000C3)} +// CHECK:STDOUT: inst6000010E: {kind: SpecificImplFunction, arg0: inst6000010D, arg1: specific60000015, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000010F: {kind: SymbolicBindingPattern, arg0: entity_name60000029, type: type(inst60000099)} +// CHECK:STDOUT: inst60000110: {kind: SymbolicBindingPattern, arg0: entity_name6000002A, type: type(inst60000099)} +// CHECK:STDOUT: inst60000111: {kind: ImportRefLoaded, arg0: import_ir_inst8E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000112: {kind: ImportRefLoaded, arg0: import_ir_inst8F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000113: {kind: ImportRefLoaded, arg0: import_ir_inst90, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000114: {kind: ImportRefLoaded, arg0: import_ir_inst91, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000115: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000116: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000117: {kind: TupleValue, arg0: inst_block60000061, type: type(inst600000E5)} +// CHECK:STDOUT: inst60000118: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000115, type: type(TypeType)} +// CHECK:STDOUT: inst60000119: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst60000116, type: type(TypeType)} +// CHECK:STDOUT: inst6000011A: {kind: TupleType, arg0: inst_block60000062, type: type(TypeType)} +// CHECK:STDOUT: inst6000011B: {kind: ImplWitness, arg0: inst600000E0, arg1: specific60000016, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000011C: {kind: FunctionType, arg0: function60000004, arg1: specific60000016, type: type(TypeType)} +// CHECK:STDOUT: inst6000011D: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000D4)} +// CHECK:STDOUT: inst6000011E: {kind: ImportRefUnloaded, arg0: import_ir_inst9B, arg1: entity_name} +// CHECK:STDOUT: inst6000011F: {kind: ImplDecl, arg0: impl60000009, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000120: {kind: SymbolicBinding, arg0: entity_name6000002B, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000121: {kind: SymbolicBindingType, arg0: entity_name6000002B, arg1: inst60000120, type: type(TypeType)} +// CHECK:STDOUT: inst60000122: {kind: TupleType, arg0: inst_block60000067, type: type(TypeType)} +// CHECK:STDOUT: inst60000123: {kind: ImportRefUnloaded, arg0: import_ir_inst9D, arg1: entity_name} +// CHECK:STDOUT: inst60000124: {kind: ImplWitnessTable, arg0: inst_block60000068, arg1: impl60000009} +// CHECK:STDOUT: inst60000125: {kind: ImplWitness, arg0: inst60000124, arg1: specific60000017, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000126: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant600000DC)} +// CHECK:STDOUT: inst60000127: {kind: FunctionType, arg0: function60000005, arg1: specific60000017, type: type(TypeType)} +// CHECK:STDOUT: inst60000128: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000DC)} +// CHECK:STDOUT: inst60000129: {kind: TupleType, arg0: inst_block6000006A, type: type(TypeType)} +// CHECK:STDOUT: inst6000012A: {kind: TupleValue, arg0: inst_block60000069, type: type(inst60000129)} +// CHECK:STDOUT: inst6000012B: {kind: PatternType, arg0: inst60000122, type: type(TypeType)} +// CHECK:STDOUT: inst6000012C: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant600000E2)} +// CHECK:STDOUT: inst6000012D: {kind: OutParamPattern, arg0: inst6000012C, arg1: call_param1, type: type(symbolic_constant600000E2)} +// CHECK:STDOUT: inst6000012E: {kind: ValueBindingPattern, arg0: entity_name6000002D, type: type(symbolic_constant600000E2)} +// CHECK:STDOUT: inst6000012F: {kind: ValueParamPattern, arg0: inst6000012E, arg1: call_param0, type: type(symbolic_constant600000E2)} +// CHECK:STDOUT: inst60000130: {kind: InitForm, arg0: inst60000122, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000131: {kind: ImportRefLoaded, arg0: import_ir_instA4, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000132: {kind: ImportRefLoaded, arg0: import_ir_instA5, arg1: entity_name, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000133: {kind: ImportRefLoaded, arg0: import_ir_instA6, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000134: {kind: ImportRefLoaded, arg0: import_ir_instA7, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000135: {kind: ImportRefLoaded, arg0: import_ir_instA8, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000136: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000137: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000136, type: type(TypeType)} +// CHECK:STDOUT: inst60000138: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000139: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst60000138, type: type(TypeType)} +// CHECK:STDOUT: inst6000013A: {kind: SymbolicBinding, arg0: entity_name6000002B, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst6000013B: {kind: SymbolicBindingType, arg0: entity_name6000002B, arg1: inst6000013A, type: type(TypeType)} +// CHECK:STDOUT: inst6000013C: {kind: TupleType, arg0: inst_block60000071, type: type(TypeType)} +// CHECK:STDOUT: inst6000013D: {kind: PatternType, arg0: inst6000013C, type: type(TypeType)} +// CHECK:STDOUT: inst6000013E: {kind: InitForm, arg0: inst6000013C, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst6000013F: {kind: LookupImplWitness, arg0: inst60000120, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000140: {kind: FunctionType, arg0: function60000001, arg1: specific60000018, type: type(TypeType)} +// CHECK:STDOUT: inst60000141: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000FB)} +// CHECK:STDOUT: inst60000142: {kind: FunctionTypeWithSelfType, arg0: inst60000140, arg1: inst60000120, type: type(TypeType)} +// CHECK:STDOUT: inst60000143: {kind: ImplWitnessAccess, arg0: inst6000013F, arg1: element0, type: type(symbolic_constant600000FD)} +// CHECK:STDOUT: inst60000144: {kind: SpecificImplFunction, arg0: inst60000143, arg1: specific60000019, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000145: {kind: InitForm, arg0: inst60000121, arg1: call_param1, type: type(inst(FormType))} +// CHECK:STDOUT: inst60000146: {kind: PatternType, arg0: inst60000121, type: type(TypeType)} +// CHECK:STDOUT: inst60000147: {kind: RequireCompleteType, arg0: inst60000121, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000148: {kind: RequireCompleteType, arg0: inst60000122, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000149: {kind: RequireCompleteType, arg0: inst6000013C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000014A: {kind: RequireCompleteType, arg0: inst60000137, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000014B: {kind: LookupImplWitness, arg0: inst60000136, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000014C: {kind: FunctionType, arg0: function60000001, arg1: specific6000001B, type: type(TypeType)} +// CHECK:STDOUT: inst6000014D: {kind: FunctionTypeWithSelfType, arg0: inst6000014C, arg1: inst60000136, type: type(TypeType)} +// CHECK:STDOUT: inst6000014E: {kind: ImplWitnessAccess, arg0: inst6000014B, arg1: element0, type: type(symbolic_constant6000011B)} +// CHECK:STDOUT: inst6000014F: {kind: SpecificImplFunction, arg0: inst6000014E, arg1: specific6000001C, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000150: {kind: RequireCompleteType, arg0: inst60000139, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000151: {kind: LookupImplWitness, arg0: inst60000138, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000152: {kind: FunctionType, arg0: function60000001, arg1: specific6000001D, type: type(TypeType)} +// CHECK:STDOUT: inst60000153: {kind: FunctionTypeWithSelfType, arg0: inst60000152, arg1: inst60000138, type: type(TypeType)} +// CHECK:STDOUT: inst60000154: {kind: ImplWitnessAccess, arg0: inst60000151, arg1: element0, type: type(symbolic_constant60000121)} +// CHECK:STDOUT: inst60000155: {kind: SpecificImplFunction, arg0: inst60000154, arg1: specific6000001E, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000156: {kind: RequireCompleteType, arg0: inst6000013B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000157: {kind: LookupImplWitness, arg0: inst6000013A, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000158: {kind: FunctionType, arg0: function60000001, arg1: specific6000001F, type: type(TypeType)} +// CHECK:STDOUT: inst60000159: {kind: FunctionTypeWithSelfType, arg0: inst60000158, arg1: inst6000013A, type: type(TypeType)} +// CHECK:STDOUT: inst6000015A: {kind: ImplWitnessAccess, arg0: inst60000157, arg1: element0, type: type(symbolic_constant60000127)} +// CHECK:STDOUT: inst6000015B: {kind: SpecificImplFunction, arg0: inst6000015A, arg1: specific60000020, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000015C: {kind: SymbolicBindingPattern, arg0: entity_name6000003D, type: type(inst60000099)} +// CHECK:STDOUT: inst6000015D: {kind: SymbolicBindingPattern, arg0: entity_name6000003E, type: type(inst60000099)} +// CHECK:STDOUT: inst6000015E: {kind: SymbolicBindingPattern, arg0: entity_name6000003F, type: type(inst60000099)} +// CHECK:STDOUT: inst6000015F: {kind: ImportRefLoaded, arg0: import_ir_instC8, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000160: {kind: ImportRefLoaded, arg0: import_ir_instC9, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000161: {kind: ImportRefLoaded, arg0: import_ir_instCA, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000162: {kind: ImportRefLoaded, arg0: import_ir_instCB, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000163: {kind: ImportRefLoaded, arg0: import_ir_instCC, arg1: entity_name, type: type(inst60000050)} +// CHECK:STDOUT: inst60000164: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000165: {kind: SymbolicBinding, arg0: entity_name6000001C, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000166: {kind: SymbolicBinding, arg0: entity_name6000002B, arg1: inst, type: type(inst60000050)} +// CHECK:STDOUT: inst60000167: {kind: TupleValue, arg0: inst_block60000080, type: type(inst60000129)} +// CHECK:STDOUT: inst60000168: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000164, type: type(TypeType)} +// CHECK:STDOUT: inst60000169: {kind: SymbolicBindingType, arg0: entity_name6000001C, arg1: inst60000165, type: type(TypeType)} +// CHECK:STDOUT: inst6000016A: {kind: SymbolicBindingType, arg0: entity_name6000002B, arg1: inst60000166, type: type(TypeType)} +// CHECK:STDOUT: inst6000016B: {kind: TupleType, arg0: inst_block60000081, type: type(TypeType)} +// CHECK:STDOUT: inst6000016C: {kind: ImplWitness, arg0: inst60000124, arg1: specific60000021, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000016D: {kind: FunctionType, arg0: function60000005, arg1: specific60000021, type: type(TypeType)} +// CHECK:STDOUT: inst6000016E: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant6000013C)} +// CHECK:STDOUT: inst6000016F: {kind: RequireSpecificDefinition, arg0: specific6000000B, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: inst60000170: {kind: RequireSpecificDefinition, arg0: specific6000000B, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: inst60000171: {kind: RequireSpecificDefinition, arg0: specific60000022, type: type(inst(RequireSpecificDefinitionType))} +// CHECK:STDOUT: inst60000172: {kind: LookupImplWitness, arg0: inst6000001D, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000173: {kind: LookupImplWitness, arg0: inst6000001E, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000174: {kind: FacetValue, arg0: inst6000001D, arg1: inst_block60000088, type: type(inst60000050)} +// CHECK:STDOUT: inst60000175: {kind: FunctionType, arg0: function60000001, arg1: specific60000023, type: type(TypeType)} +// CHECK:STDOUT: inst60000176: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000144)} +// CHECK:STDOUT: inst60000177: {kind: FunctionTypeWithSelfType, arg0: inst60000175, arg1: inst60000174, type: type(TypeType)} +// CHECK:STDOUT: inst60000178: {kind: ImplWitnessAccess, arg0: inst60000172, arg1: element0, type: type(symbolic_constant6000014A)} +// CHECK:STDOUT: inst60000179: {kind: ImplWitnessAccess, arg0: inst60000172, arg1: element0, type: type(symbolic_constant60000146)} +// CHECK:STDOUT: inst6000017A: {kind: FacetValue, arg0: inst6000001E, arg1: inst_block6000008B, type: type(inst60000050)} +// CHECK:STDOUT: inst6000017B: {kind: FunctionType, arg0: function60000001, arg1: specific60000024, type: type(TypeType)} +// CHECK:STDOUT: inst6000017C: {kind: FunctionTypeWithSelfType, arg0: inst6000017B, arg1: inst6000017A, type: type(TypeType)} +// CHECK:STDOUT: inst6000017D: {kind: ImplWitnessAccess, arg0: inst60000173, arg1: element0, type: type(symbolic_constant6000014A)} +// CHECK:STDOUT: inst6000017E: {kind: BoundMethod, arg0: inst60000048, arg1: inst60000178, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst6000017F: {kind: SpecificImplFunction, arg0: inst60000178, arg1: specific60000025, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000180: {kind: SpecificImplFunction, arg0: inst60000179, arg1: specific60000025, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000181: {kind: SpecificImplFunction, arg0: inst6000017D, arg1: specific60000026, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000182: {kind: BoundMethod, arg0: inst60000048, arg1: inst6000017F, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst60000183: {kind: RequireCompleteType, arg0: inst6000001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000184: {kind: Call, arg0: inst60000182, arg1: inst_block6000008F, type: type(symbolic_constant60000004)} +// CHECK:STDOUT: inst60000185: {kind: InPlaceInit, arg0: inst60000184, arg1: inst6000004C, type: type(symbolic_constant60000004)} +// CHECK:STDOUT: inst60000186: {kind: TupleAccess, arg0: inst6000003C, arg1: element1, type: type(inst60000026)} +// CHECK:STDOUT: inst60000187: {kind: TupleInit, arg0: inst_block_empty, arg1: inst, type: type(inst60000026)} +// CHECK:STDOUT: inst60000188: {kind: Converted, arg0: inst60000049, arg1: inst60000187, type: type(inst60000026)} +// CHECK:STDOUT: inst60000189: {kind: TupleInit, arg0: inst_block60000090, arg1: inst6000003C, type: type(symbolic_constant6000000A)} +// CHECK:STDOUT: inst6000018A: {kind: Converted, arg0: inst6000004A, arg1: inst60000189, type: type(symbolic_constant6000000A)} +// CHECK:STDOUT: inst6000018B: {kind: ReturnExpr, arg0: inst6000018A, arg1: inst6000003C} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: instF: concrete_constant(instF) @@ -846,1364 +848,1367 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) // CHECK:STDOUT: inst60000013: symbolic_constant60000000 // CHECK:STDOUT: inst60000014: symbolic_constant60000000 -// CHECK:STDOUT: inst60000015: symbolic_constant60000002 -// CHECK:STDOUT: inst60000016: symbolic_constant60000001 -// CHECK:STDOUT: inst60000017: symbolic_constant60000002 -// CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) +// CHECK:STDOUT: inst60000015: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst60000016: symbolic_constant60000002 +// CHECK:STDOUT: inst60000017: symbolic_constant60000001 +// CHECK:STDOUT: inst60000018: symbolic_constant60000002 // CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) -// CHECK:STDOUT: inst6000001A: symbolic_constant60000002 -// CHECK:STDOUT: inst6000001B: symbolic_constant60000004 -// CHECK:STDOUT: inst6000001C: symbolic_constant60000003 -// CHECK:STDOUT: inst6000001D: symbolic_constant60000004 -// CHECK:STDOUT: inst6000001F: symbolic_constant60000005 -// CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) -// CHECK:STDOUT: inst60000021: symbolic_constant60000006 -// CHECK:STDOUT: inst60000022: concrete_constant(inst60000022) -// CHECK:STDOUT: inst60000023: symbolic_constant60000002 -// CHECK:STDOUT: inst60000024: symbolic_constant60000004 -// CHECK:STDOUT: inst60000025: concrete_constant(inst60000025) -// CHECK:STDOUT: inst60000026: concrete_constant(inst60000027) -// CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) +// CHECK:STDOUT: inst6000001A: concrete_constant(inst6000001A) +// CHECK:STDOUT: inst6000001B: symbolic_constant60000002 +// CHECK:STDOUT: inst6000001C: symbolic_constant60000004 +// CHECK:STDOUT: inst6000001D: symbolic_constant60000003 +// CHECK:STDOUT: inst6000001E: symbolic_constant60000004 +// CHECK:STDOUT: inst60000020: symbolic_constant60000005 +// CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) +// CHECK:STDOUT: inst60000022: symbolic_constant60000006 +// CHECK:STDOUT: inst60000023: concrete_constant(inst60000023) +// CHECK:STDOUT: inst60000024: symbolic_constant60000002 +// CHECK:STDOUT: inst60000025: symbolic_constant60000004 +// CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) +// CHECK:STDOUT: inst60000027: concrete_constant(inst60000028) // CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) -// CHECK:STDOUT: inst60000029: symbolic_constant60000008 -// CHECK:STDOUT: inst6000002A: symbolic_constant60000007 -// CHECK:STDOUT: inst6000002B: symbolic_constant60000008 -// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002C) -// CHECK:STDOUT: inst6000002D: concrete_constant(inst60000025) -// CHECK:STDOUT: inst6000002E: symbolic_constant60000009 -// CHECK:STDOUT: inst6000002F: symbolic_constant6000000A +// CHECK:STDOUT: inst60000029: concrete_constant(inst60000029) +// CHECK:STDOUT: inst6000002A: symbolic_constant60000008 +// CHECK:STDOUT: inst6000002B: symbolic_constant60000007 +// CHECK:STDOUT: inst6000002C: symbolic_constant60000008 +// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002D) +// CHECK:STDOUT: inst6000002E: concrete_constant(inst60000026) +// CHECK:STDOUT: inst6000002F: symbolic_constant60000009 // CHECK:STDOUT: inst60000030: symbolic_constant6000000A -// CHECK:STDOUT: inst60000031: symbolic_constant6000000C -// CHECK:STDOUT: inst60000032: symbolic_constant6000000B -// CHECK:STDOUT: inst60000033: symbolic_constant6000000C -// CHECK:STDOUT: inst60000034: symbolic_constant6000000D -// CHECK:STDOUT: inst60000035: concrete_constant(inst60000035) -// CHECK:STDOUT: inst60000036: symbolic_constant6000000E -// CHECK:STDOUT: inst60000037: concrete_constant(inst60000037) -// CHECK:STDOUT: inst60000039: symbolic_constant60000004 -// CHECK:STDOUT: inst6000003C: concrete_constant(inst6000003E) -// CHECK:STDOUT: inst6000003D: concrete_constant(inst6000003D) -// CHECK:STDOUT: inst6000003E: concrete_constant(inst6000003E) -// CHECK:STDOUT: inst6000003F: symbolic_constant60000010 -// CHECK:STDOUT: inst60000040: symbolic_constant6000000F +// CHECK:STDOUT: inst60000031: symbolic_constant6000000A +// CHECK:STDOUT: inst60000032: symbolic_constant6000000C +// CHECK:STDOUT: inst60000033: symbolic_constant6000000B +// CHECK:STDOUT: inst60000034: symbolic_constant6000000C +// CHECK:STDOUT: inst60000035: symbolic_constant6000000D +// CHECK:STDOUT: inst60000036: concrete_constant(inst60000036) +// CHECK:STDOUT: inst60000037: symbolic_constant6000000E +// CHECK:STDOUT: inst60000038: concrete_constant(inst60000038) +// CHECK:STDOUT: inst60000039: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst6000003B: symbolic_constant60000004 +// CHECK:STDOUT: inst6000003E: concrete_constant(inst60000040) +// CHECK:STDOUT: inst6000003F: concrete_constant(inst6000003F) +// CHECK:STDOUT: inst60000040: concrete_constant(inst60000040) // CHECK:STDOUT: inst60000041: symbolic_constant60000010 -// CHECK:STDOUT: inst60000042: symbolic_constant60000011 -// CHECK:STDOUT: inst60000043: symbolic_constant60000013 -// CHECK:STDOUT: inst60000044: symbolic_constant60000012 +// CHECK:STDOUT: inst60000042: symbolic_constant6000000F +// CHECK:STDOUT: inst60000043: symbolic_constant60000010 +// CHECK:STDOUT: inst60000044: symbolic_constant60000011 // CHECK:STDOUT: inst60000045: symbolic_constant60000013 -// CHECK:STDOUT: inst60000047: concrete_constant(inst60000027) -// CHECK:STDOUT: inst60000049: symbolic_constant60000013 -// CHECK:STDOUT: inst6000004B: symbolic_constant60000010 -// CHECK:STDOUT: inst6000004C: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004D: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004E: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004F: concrete_constant(inst6000004F) -// CHECK:STDOUT: inst60000050: symbolic_constant60000014 -// CHECK:STDOUT: inst60000051: concrete_constant(inst6000006B) -// CHECK:STDOUT: inst60000052: constant -// CHECK:STDOUT: inst60000053: symbolic_constant60000014 -// CHECK:STDOUT: inst60000054: symbolic_constant60000017 -// CHECK:STDOUT: inst60000055: symbolic_constant60000015 -// CHECK:STDOUT: inst60000056: symbolic_constant60000016 -// CHECK:STDOUT: inst60000057: symbolic_constant60000018 -// CHECK:STDOUT: inst60000058: symbolic_constant6000001A -// CHECK:STDOUT: inst60000059: concrete_constant(inst60000059) -// CHECK:STDOUT: inst6000005A: concrete_constant(inst6000005A) +// CHECK:STDOUT: inst60000046: symbolic_constant60000012 +// CHECK:STDOUT: inst60000047: symbolic_constant60000013 +// CHECK:STDOUT: inst60000049: concrete_constant(inst60000028) +// CHECK:STDOUT: inst6000004B: symbolic_constant60000013 +// CHECK:STDOUT: inst6000004D: symbolic_constant60000010 +// CHECK:STDOUT: inst6000004E: concrete_constant(inst60000050) +// CHECK:STDOUT: inst6000004F: concrete_constant(inst60000050) +// CHECK:STDOUT: inst60000050: concrete_constant(inst60000050) +// CHECK:STDOUT: inst60000051: concrete_constant(inst60000051) +// CHECK:STDOUT: inst60000052: symbolic_constant60000014 +// CHECK:STDOUT: inst60000053: concrete_constant(inst6000006D) +// CHECK:STDOUT: inst60000054: constant +// CHECK:STDOUT: inst60000055: symbolic_constant60000014 +// CHECK:STDOUT: inst60000056: symbolic_constant60000017 +// CHECK:STDOUT: inst60000057: symbolic_constant60000015 +// CHECK:STDOUT: inst60000058: symbolic_constant60000016 +// CHECK:STDOUT: inst60000059: symbolic_constant60000018 +// CHECK:STDOUT: inst6000005A: symbolic_constant6000001A // CHECK:STDOUT: inst6000005B: concrete_constant(inst6000005B) // CHECK:STDOUT: inst6000005C: concrete_constant(inst6000005C) -// CHECK:STDOUT: inst6000005D: symbolic_constant6000001C -// CHECK:STDOUT: inst6000005E: symbolic_constant60000021 -// CHECK:STDOUT: inst6000005F: symbolic_constant60000020 -// CHECK:STDOUT: inst60000060: symbolic_constant60000014 -// CHECK:STDOUT: inst60000061: symbolic_constant60000022 -// CHECK:STDOUT: inst60000062: symbolic_constant60000023 -// CHECK:STDOUT: inst60000063: symbolic_constant60000024 -// CHECK:STDOUT: inst60000064: symbolic_constant60000025 -// CHECK:STDOUT: inst60000065: symbolic_constant60000028 -// CHECK:STDOUT: inst60000066: symbolic_constant60000029 -// CHECK:STDOUT: inst60000067: symbolic_constant6000002A -// CHECK:STDOUT: inst60000068: constant -// CHECK:STDOUT: inst60000069: concrete_constant(inst60000069) -// CHECK:STDOUT: inst6000006A: symbolic_constant60000017 +// CHECK:STDOUT: inst6000005D: concrete_constant(inst6000005D) +// CHECK:STDOUT: inst6000005E: concrete_constant(inst6000005E) +// CHECK:STDOUT: inst6000005F: symbolic_constant6000001C +// CHECK:STDOUT: inst60000060: symbolic_constant60000021 +// CHECK:STDOUT: inst60000061: symbolic_constant60000020 +// CHECK:STDOUT: inst60000062: symbolic_constant60000014 +// CHECK:STDOUT: inst60000063: symbolic_constant60000022 +// CHECK:STDOUT: inst60000064: symbolic_constant60000023 +// CHECK:STDOUT: inst60000065: symbolic_constant60000024 +// CHECK:STDOUT: inst60000066: symbolic_constant60000025 +// CHECK:STDOUT: inst60000067: symbolic_constant60000028 +// CHECK:STDOUT: inst60000068: symbolic_constant60000029 +// CHECK:STDOUT: inst60000069: symbolic_constant6000002A +// CHECK:STDOUT: inst6000006A: constant // CHECK:STDOUT: inst6000006B: concrete_constant(inst6000006B) -// CHECK:STDOUT: inst6000006C: symbolic_constant60000142 -// CHECK:STDOUT: inst6000006D: constant -// CHECK:STDOUT: inst6000006E: concrete_constant(inst6000006E) -// CHECK:STDOUT: inst6000006F: symbolic_constant6000002B -// CHECK:STDOUT: inst60000070: symbolic_constant6000002C -// CHECK:STDOUT: inst60000071: symbolic_constant6000002D -// CHECK:STDOUT: inst60000072: constant -// CHECK:STDOUT: inst60000073: concrete_constant(inst60000073) -// CHECK:STDOUT: inst60000074: symbolic_constant6000002F -// CHECK:STDOUT: inst60000075: symbolic_constant60000033 -// CHECK:STDOUT: inst60000076: symbolic_constant60000031 -// CHECK:STDOUT: inst60000077: symbolic_constant60000032 -// CHECK:STDOUT: inst60000078: symbolic_constant60000035 -// CHECK:STDOUT: inst60000079: concrete_constant(inst60000079) -// CHECK:STDOUT: inst6000007A: concrete_constant(inst6000007A) +// CHECK:STDOUT: inst6000006C: symbolic_constant60000017 +// CHECK:STDOUT: inst6000006D: concrete_constant(inst6000006D) +// CHECK:STDOUT: inst6000006E: symbolic_constant60000142 +// CHECK:STDOUT: inst6000006F: constant +// CHECK:STDOUT: inst60000070: concrete_constant(inst60000070) +// CHECK:STDOUT: inst60000071: symbolic_constant6000002B +// CHECK:STDOUT: inst60000072: symbolic_constant6000002C +// CHECK:STDOUT: inst60000073: symbolic_constant6000002D +// CHECK:STDOUT: inst60000074: constant +// CHECK:STDOUT: inst60000075: concrete_constant(inst60000075) +// CHECK:STDOUT: inst60000076: symbolic_constant6000002F +// CHECK:STDOUT: inst60000077: symbolic_constant60000033 +// CHECK:STDOUT: inst60000078: symbolic_constant60000031 +// CHECK:STDOUT: inst60000079: symbolic_constant60000032 +// CHECK:STDOUT: inst6000007A: symbolic_constant60000035 // CHECK:STDOUT: inst6000007B: concrete_constant(inst6000007B) // CHECK:STDOUT: inst6000007C: concrete_constant(inst6000007C) -// CHECK:STDOUT: inst6000007D: symbolic_constant60000037 -// CHECK:STDOUT: inst6000007E: symbolic_constant6000003E -// CHECK:STDOUT: inst6000007F: symbolic_constant6000003D -// CHECK:STDOUT: inst60000080: symbolic_constant6000003C -// CHECK:STDOUT: inst60000081: symbolic_constant6000003F -// CHECK:STDOUT: inst60000082: symbolic_constant60000040 -// CHECK:STDOUT: inst60000083: symbolic_constant60000041 -// CHECK:STDOUT: inst60000084: symbolic_constant60000042 -// CHECK:STDOUT: inst60000085: symbolic_constant60000043 -// CHECK:STDOUT: inst60000086: symbolic_constant60000044 -// CHECK:STDOUT: inst60000087: symbolic_constant60000045 -// CHECK:STDOUT: inst60000088: symbolic_constant60000046 -// CHECK:STDOUT: inst60000089: symbolic_constant60000047 -// CHECK:STDOUT: inst6000008A: symbolic_constant60000048 -// CHECK:STDOUT: inst6000008B: symbolic_constant60000049 -// CHECK:STDOUT: inst6000008C: symbolic_constant6000004B -// CHECK:STDOUT: inst6000008D: symbolic_constant6000004C -// CHECK:STDOUT: inst6000008E: symbolic_constant60000051 -// CHECK:STDOUT: inst6000008F: symbolic_constant60000053 -// CHECK:STDOUT: inst60000090: symbolic_constant60000055 -// CHECK:STDOUT: inst60000091: symbolic_constant60000056 -// CHECK:STDOUT: inst60000092: symbolic_constant60000057 -// CHECK:STDOUT: inst60000093: symbolic_constant60000058 -// CHECK:STDOUT: inst60000094: symbolic_constant60000059 -// CHECK:STDOUT: inst60000095: symbolic_constant6000005A -// CHECK:STDOUT: inst60000096: symbolic_constant6000005B -// CHECK:STDOUT: inst60000097: concrete_constant(inst60000097) -// CHECK:STDOUT: inst60000098: concrete_constant(inst60000098) -// CHECK:STDOUT: inst60000099: symbolic_constant6000002E -// CHECK:STDOUT: inst6000009A: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000009B: symbolic_constant6000003C -// CHECK:STDOUT: inst6000009C: symbolic_constant6000005F -// CHECK:STDOUT: inst6000009D: symbolic_constant60000060 -// CHECK:STDOUT: inst6000009E: symbolic_constant60000061 -// CHECK:STDOUT: inst6000009F: symbolic_constant60000062 -// CHECK:STDOUT: inst600000A0: symbolic_constant60000064 -// CHECK:STDOUT: inst600000A1: symbolic_constant60000065 -// CHECK:STDOUT: inst600000A2: constant -// CHECK:STDOUT: inst600000A3: concrete_constant(inst600000A3) -// CHECK:STDOUT: inst600000A4: concrete_constant(inst(BoolType)) -// CHECK:STDOUT: inst600000A5: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000A6: constant -// CHECK:STDOUT: inst600000A7: concrete_constant(inst600000A7) -// CHECK:STDOUT: inst600000A8: concrete_constant(inst(CharLiteralType)) -// CHECK:STDOUT: inst600000A9: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000AA: constant -// CHECK:STDOUT: inst600000AB: concrete_constant(inst600000AB) -// CHECK:STDOUT: inst600000AC: concrete_constant(inst(FloatLiteralType)) -// CHECK:STDOUT: inst600000AD: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000AE: constant -// CHECK:STDOUT: inst600000AF: concrete_constant(inst600000AF) -// CHECK:STDOUT: inst600000B0: concrete_constant(inst(IntLiteralType)) -// CHECK:STDOUT: inst600000B1: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000B2: symbolic_constant6000013E -// CHECK:STDOUT: inst600000B3: concrete_constant(inst600000B3) -// CHECK:STDOUT: inst600000B4: constant +// CHECK:STDOUT: inst6000007D: concrete_constant(inst6000007D) +// CHECK:STDOUT: inst6000007E: concrete_constant(inst6000007E) +// CHECK:STDOUT: inst6000007F: symbolic_constant60000037 +// CHECK:STDOUT: inst60000080: symbolic_constant6000003E +// CHECK:STDOUT: inst60000081: symbolic_constant6000003D +// CHECK:STDOUT: inst60000082: symbolic_constant6000003C +// CHECK:STDOUT: inst60000083: symbolic_constant6000003F +// CHECK:STDOUT: inst60000084: symbolic_constant60000040 +// CHECK:STDOUT: inst60000085: symbolic_constant60000041 +// CHECK:STDOUT: inst60000086: symbolic_constant60000042 +// CHECK:STDOUT: inst60000087: symbolic_constant60000043 +// CHECK:STDOUT: inst60000088: symbolic_constant60000044 +// CHECK:STDOUT: inst60000089: symbolic_constant60000045 +// CHECK:STDOUT: inst6000008A: symbolic_constant60000046 +// CHECK:STDOUT: inst6000008B: symbolic_constant60000047 +// CHECK:STDOUT: inst6000008C: symbolic_constant60000048 +// CHECK:STDOUT: inst6000008D: symbolic_constant60000049 +// CHECK:STDOUT: inst6000008E: symbolic_constant6000004B +// CHECK:STDOUT: inst6000008F: symbolic_constant6000004C +// CHECK:STDOUT: inst60000090: symbolic_constant60000051 +// CHECK:STDOUT: inst60000091: symbolic_constant60000053 +// CHECK:STDOUT: inst60000092: symbolic_constant60000055 +// CHECK:STDOUT: inst60000093: symbolic_constant60000056 +// CHECK:STDOUT: inst60000094: symbolic_constant60000057 +// CHECK:STDOUT: inst60000095: symbolic_constant60000058 +// CHECK:STDOUT: inst60000096: symbolic_constant60000059 +// CHECK:STDOUT: inst60000097: symbolic_constant6000005A +// CHECK:STDOUT: inst60000098: symbolic_constant6000005B +// CHECK:STDOUT: inst60000099: concrete_constant(inst60000099) +// CHECK:STDOUT: inst6000009A: concrete_constant(inst6000009A) +// CHECK:STDOUT: inst6000009B: symbolic_constant6000002E +// CHECK:STDOUT: inst6000009C: concrete_constant(inst60000050) +// CHECK:STDOUT: inst6000009D: symbolic_constant6000003C +// CHECK:STDOUT: inst6000009E: symbolic_constant6000005F +// CHECK:STDOUT: inst6000009F: symbolic_constant60000060 +// CHECK:STDOUT: inst600000A0: symbolic_constant60000061 +// CHECK:STDOUT: inst600000A1: symbolic_constant60000062 +// CHECK:STDOUT: inst600000A2: symbolic_constant60000064 +// CHECK:STDOUT: inst600000A3: symbolic_constant60000065 +// CHECK:STDOUT: inst600000A4: constant +// CHECK:STDOUT: inst600000A5: concrete_constant(inst600000A5) +// CHECK:STDOUT: inst600000A6: concrete_constant(inst(BoolType)) +// CHECK:STDOUT: inst600000A7: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000A8: constant +// CHECK:STDOUT: inst600000A9: concrete_constant(inst600000A9) +// CHECK:STDOUT: inst600000AA: concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: inst600000AB: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000AC: constant +// CHECK:STDOUT: inst600000AD: concrete_constant(inst600000AD) +// CHECK:STDOUT: inst600000AE: concrete_constant(inst(FloatLiteralType)) +// CHECK:STDOUT: inst600000AF: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000B0: constant +// CHECK:STDOUT: inst600000B1: concrete_constant(inst600000B1) +// CHECK:STDOUT: inst600000B2: concrete_constant(inst(IntLiteralType)) +// CHECK:STDOUT: inst600000B3: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000B4: symbolic_constant6000013E // CHECK:STDOUT: inst600000B5: concrete_constant(inst600000B5) -// CHECK:STDOUT: inst600000B6: symbolic_constant60000067 +// CHECK:STDOUT: inst600000B6: constant // CHECK:STDOUT: inst600000B7: concrete_constant(inst600000B7) -// CHECK:STDOUT: inst600000B8: symbolic_constant60000066 -// CHECK:STDOUT: inst600000B9: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000BA: symbolic_constant6000006B -// CHECK:STDOUT: inst600000BB: symbolic_constant6000006C -// CHECK:STDOUT: inst600000BC: symbolic_constant6000006D -// CHECK:STDOUT: inst600000BD: symbolic_constant6000006E -// CHECK:STDOUT: inst600000BE: symbolic_constant60000072 -// CHECK:STDOUT: inst600000BF: symbolic_constant60000070 -// CHECK:STDOUT: inst600000C0: symbolic_constant60000071 -// CHECK:STDOUT: inst600000C1: concrete_constant(inst600000C1) -// CHECK:STDOUT: inst600000C2: concrete_constant(inst600000C2) +// CHECK:STDOUT: inst600000B8: symbolic_constant60000067 +// CHECK:STDOUT: inst600000B9: concrete_constant(inst600000B9) +// CHECK:STDOUT: inst600000BA: symbolic_constant60000066 +// CHECK:STDOUT: inst600000BB: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000BC: symbolic_constant6000006B +// CHECK:STDOUT: inst600000BD: symbolic_constant6000006C +// CHECK:STDOUT: inst600000BE: symbolic_constant6000006D +// CHECK:STDOUT: inst600000BF: symbolic_constant6000006E +// CHECK:STDOUT: inst600000C0: symbolic_constant60000072 +// CHECK:STDOUT: inst600000C1: symbolic_constant60000070 +// CHECK:STDOUT: inst600000C2: symbolic_constant60000071 // CHECK:STDOUT: inst600000C3: concrete_constant(inst600000C3) // CHECK:STDOUT: inst600000C4: concrete_constant(inst600000C4) -// CHECK:STDOUT: inst600000C5: symbolic_constant60000075 -// CHECK:STDOUT: inst600000C6: symbolic_constant6000007A -// CHECK:STDOUT: inst600000C7: symbolic_constant60000079 -// CHECK:STDOUT: inst600000C8: symbolic_constant6000006B -// CHECK:STDOUT: inst600000C9: symbolic_constant6000007B -// CHECK:STDOUT: inst600000CA: symbolic_constant6000007C -// CHECK:STDOUT: inst600000CB: symbolic_constant6000007D -// CHECK:STDOUT: inst600000CC: symbolic_constant6000007E -// CHECK:STDOUT: inst600000CD: symbolic_constant60000080 -// CHECK:STDOUT: inst600000CE: symbolic_constant60000081 -// CHECK:STDOUT: inst600000CF: symbolic_constant60000082 -// CHECK:STDOUT: inst600000D0: constant -// CHECK:STDOUT: inst600000D1: concrete_constant(inst600000D1) -// CHECK:STDOUT: inst600000D2: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst600000D3: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000D4: constant -// CHECK:STDOUT: inst600000D5: concrete_constant(inst600000D5) -// CHECK:STDOUT: inst600000D6: concrete_constant(inst60000025) -// CHECK:STDOUT: inst600000D7: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst600000D8: constant -// CHECK:STDOUT: inst600000D9: concrete_constant(inst600000D9) -// CHECK:STDOUT: inst600000DA: symbolic_constant60000083 -// CHECK:STDOUT: inst600000DB: symbolic_constant60000084 -// CHECK:STDOUT: inst600000DC: symbolic_constant60000085 -// CHECK:STDOUT: inst600000DD: constant -// CHECK:STDOUT: inst600000DE: concrete_constant(inst600000DE) -// CHECK:STDOUT: inst600000DF: symbolic_constant60000087 -// CHECK:STDOUT: inst600000E0: symbolic_constant6000008B -// CHECK:STDOUT: inst600000E1: symbolic_constant60000089 -// CHECK:STDOUT: inst600000E2: symbolic_constant6000008A -// CHECK:STDOUT: inst600000E3: concrete_constant(inst600000E3) -// CHECK:STDOUT: inst600000E4: symbolic_constant6000008D -// CHECK:STDOUT: inst600000E5: symbolic_constant6000008E -// CHECK:STDOUT: inst600000E6: concrete_constant(inst600000E6) -// CHECK:STDOUT: inst600000E7: concrete_constant(inst600000E7) +// CHECK:STDOUT: inst600000C5: concrete_constant(inst600000C5) +// CHECK:STDOUT: inst600000C6: concrete_constant(inst600000C6) +// CHECK:STDOUT: inst600000C7: symbolic_constant60000075 +// CHECK:STDOUT: inst600000C8: symbolic_constant6000007A +// CHECK:STDOUT: inst600000C9: symbolic_constant60000079 +// CHECK:STDOUT: inst600000CA: symbolic_constant6000006B +// CHECK:STDOUT: inst600000CB: symbolic_constant6000007B +// CHECK:STDOUT: inst600000CC: symbolic_constant6000007C +// CHECK:STDOUT: inst600000CD: symbolic_constant6000007D +// CHECK:STDOUT: inst600000CE: symbolic_constant6000007E +// CHECK:STDOUT: inst600000CF: symbolic_constant60000080 +// CHECK:STDOUT: inst600000D0: symbolic_constant60000081 +// CHECK:STDOUT: inst600000D1: symbolic_constant60000082 +// CHECK:STDOUT: inst600000D2: constant +// CHECK:STDOUT: inst600000D3: concrete_constant(inst600000D3) +// CHECK:STDOUT: inst600000D4: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst600000D5: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000D6: constant +// CHECK:STDOUT: inst600000D7: concrete_constant(inst600000D7) +// CHECK:STDOUT: inst600000D8: concrete_constant(inst60000026) +// CHECK:STDOUT: inst600000D9: concrete_constant(inst60000050) +// CHECK:STDOUT: inst600000DA: constant +// CHECK:STDOUT: inst600000DB: concrete_constant(inst600000DB) +// CHECK:STDOUT: inst600000DC: symbolic_constant60000083 +// CHECK:STDOUT: inst600000DD: symbolic_constant60000084 +// CHECK:STDOUT: inst600000DE: symbolic_constant60000085 +// CHECK:STDOUT: inst600000DF: constant +// CHECK:STDOUT: inst600000E0: concrete_constant(inst600000E0) +// CHECK:STDOUT: inst600000E1: symbolic_constant60000087 +// CHECK:STDOUT: inst600000E2: symbolic_constant6000008B +// CHECK:STDOUT: inst600000E3: symbolic_constant60000089 +// CHECK:STDOUT: inst600000E4: symbolic_constant6000008A +// CHECK:STDOUT: inst600000E5: concrete_constant(inst600000E5) +// CHECK:STDOUT: inst600000E6: symbolic_constant6000008D +// CHECK:STDOUT: inst600000E7: symbolic_constant6000008E // CHECK:STDOUT: inst600000E8: concrete_constant(inst600000E8) // CHECK:STDOUT: inst600000E9: concrete_constant(inst600000E9) -// CHECK:STDOUT: inst600000EA: symbolic_constant60000090 -// CHECK:STDOUT: inst600000EB: symbolic_constant6000009A -// CHECK:STDOUT: inst600000EC: symbolic_constant60000099 -// CHECK:STDOUT: inst600000ED: symbolic_constant60000098 -// CHECK:STDOUT: inst600000EE: symbolic_constant60000097 -// CHECK:STDOUT: inst600000EF: symbolic_constant6000009B -// CHECK:STDOUT: inst600000F0: symbolic_constant6000009C -// CHECK:STDOUT: inst600000F1: symbolic_constant6000009D -// CHECK:STDOUT: inst600000F2: symbolic_constant6000009E -// CHECK:STDOUT: inst600000F3: symbolic_constant6000009F -// CHECK:STDOUT: inst600000F4: symbolic_constant600000A0 -// CHECK:STDOUT: inst600000F5: symbolic_constant600000A1 -// CHECK:STDOUT: inst600000F6: symbolic_constant600000A2 -// CHECK:STDOUT: inst600000F7: symbolic_constant600000A3 -// CHECK:STDOUT: inst600000F8: symbolic_constant600000A4 -// CHECK:STDOUT: inst600000F9: symbolic_constant600000A5 -// CHECK:STDOUT: inst600000FA: symbolic_constant600000A6 -// CHECK:STDOUT: inst600000FB: symbolic_constant600000A7 -// CHECK:STDOUT: inst600000FC: symbolic_constant600000A9 -// CHECK:STDOUT: inst600000FD: symbolic_constant600000AA -// CHECK:STDOUT: inst600000FE: symbolic_constant600000AF -// CHECK:STDOUT: inst600000FF: symbolic_constant600000B7 -// CHECK:STDOUT: inst60000100: symbolic_constant600000B9 -// CHECK:STDOUT: inst60000101: symbolic_constant600000BA -// CHECK:STDOUT: inst60000102: symbolic_constant600000BB -// CHECK:STDOUT: inst60000103: symbolic_constant600000BC -// CHECK:STDOUT: inst60000104: symbolic_constant600000BD -// CHECK:STDOUT: inst60000105: symbolic_constant600000BE -// CHECK:STDOUT: inst60000106: symbolic_constant600000BF -// CHECK:STDOUT: inst60000107: symbolic_constant600000C0 -// CHECK:STDOUT: inst60000108: symbolic_constant600000C1 -// CHECK:STDOUT: inst60000109: symbolic_constant600000C2 -// CHECK:STDOUT: inst6000010A: symbolic_constant600000C3 -// CHECK:STDOUT: inst6000010B: symbolic_constant600000C4 -// CHECK:STDOUT: inst6000010C: symbolic_constant600000C5 -// CHECK:STDOUT: inst6000010D: concrete_constant(inst6000010D) -// CHECK:STDOUT: inst6000010E: concrete_constant(inst6000010E) -// CHECK:STDOUT: inst6000010F: symbolic_constant60000086 -// CHECK:STDOUT: inst60000110: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst60000111: symbolic_constant60000098 -// CHECK:STDOUT: inst60000112: symbolic_constant60000097 -// CHECK:STDOUT: inst60000113: symbolic_constant600000CC -// CHECK:STDOUT: inst60000114: symbolic_constant600000CD -// CHECK:STDOUT: inst60000115: symbolic_constant600000CE -// CHECK:STDOUT: inst60000116: symbolic_constant600000CF -// CHECK:STDOUT: inst60000117: symbolic_constant600000D0 -// CHECK:STDOUT: inst60000118: symbolic_constant600000D1 -// CHECK:STDOUT: inst60000119: symbolic_constant600000D2 -// CHECK:STDOUT: inst6000011A: symbolic_constant600000D4 -// CHECK:STDOUT: inst6000011B: symbolic_constant600000D5 -// CHECK:STDOUT: inst6000011C: constant -// CHECK:STDOUT: inst6000011D: concrete_constant(inst6000011D) -// CHECK:STDOUT: inst6000011E: symbolic_constant600000D6 -// CHECK:STDOUT: inst6000011F: symbolic_constant600000D7 -// CHECK:STDOUT: inst60000120: symbolic_constant600000D8 -// CHECK:STDOUT: inst60000121: constant -// CHECK:STDOUT: inst60000122: concrete_constant(inst60000122) -// CHECK:STDOUT: inst60000123: symbolic_constant600000DA -// CHECK:STDOUT: inst60000124: symbolic_constant600000DE -// CHECK:STDOUT: inst60000125: symbolic_constant600000DC -// CHECK:STDOUT: inst60000126: symbolic_constant600000DD -// CHECK:STDOUT: inst60000127: concrete_constant(inst60000127) -// CHECK:STDOUT: inst60000128: symbolic_constant600000E0 -// CHECK:STDOUT: inst60000129: symbolic_constant600000E1 -// CHECK:STDOUT: inst6000012A: concrete_constant(inst6000012A) -// CHECK:STDOUT: inst6000012B: concrete_constant(inst6000012B) +// CHECK:STDOUT: inst600000EA: concrete_constant(inst600000EA) +// CHECK:STDOUT: inst600000EB: concrete_constant(inst600000EB) +// CHECK:STDOUT: inst600000EC: symbolic_constant60000090 +// CHECK:STDOUT: inst600000ED: symbolic_constant6000009A +// CHECK:STDOUT: inst600000EE: symbolic_constant60000099 +// CHECK:STDOUT: inst600000EF: symbolic_constant60000098 +// CHECK:STDOUT: inst600000F0: symbolic_constant60000097 +// CHECK:STDOUT: inst600000F1: symbolic_constant6000009B +// CHECK:STDOUT: inst600000F2: symbolic_constant6000009C +// CHECK:STDOUT: inst600000F3: symbolic_constant6000009D +// CHECK:STDOUT: inst600000F4: symbolic_constant6000009E +// CHECK:STDOUT: inst600000F5: symbolic_constant6000009F +// CHECK:STDOUT: inst600000F6: symbolic_constant600000A0 +// CHECK:STDOUT: inst600000F7: symbolic_constant600000A1 +// CHECK:STDOUT: inst600000F8: symbolic_constant600000A2 +// CHECK:STDOUT: inst600000F9: symbolic_constant600000A3 +// CHECK:STDOUT: inst600000FA: symbolic_constant600000A4 +// CHECK:STDOUT: inst600000FB: symbolic_constant600000A5 +// CHECK:STDOUT: inst600000FC: symbolic_constant600000A6 +// CHECK:STDOUT: inst600000FD: symbolic_constant600000A7 +// CHECK:STDOUT: inst600000FE: symbolic_constant600000A9 +// CHECK:STDOUT: inst600000FF: symbolic_constant600000AA +// CHECK:STDOUT: inst60000100: symbolic_constant600000AF +// CHECK:STDOUT: inst60000101: symbolic_constant600000B7 +// CHECK:STDOUT: inst60000102: symbolic_constant600000B9 +// CHECK:STDOUT: inst60000103: symbolic_constant600000BA +// CHECK:STDOUT: inst60000104: symbolic_constant600000BB +// CHECK:STDOUT: inst60000105: symbolic_constant600000BC +// CHECK:STDOUT: inst60000106: symbolic_constant600000BD +// CHECK:STDOUT: inst60000107: symbolic_constant600000BE +// CHECK:STDOUT: inst60000108: symbolic_constant600000BF +// CHECK:STDOUT: inst60000109: symbolic_constant600000C0 +// CHECK:STDOUT: inst6000010A: symbolic_constant600000C1 +// CHECK:STDOUT: inst6000010B: symbolic_constant600000C2 +// CHECK:STDOUT: inst6000010C: symbolic_constant600000C3 +// CHECK:STDOUT: inst6000010D: symbolic_constant600000C4 +// CHECK:STDOUT: inst6000010E: symbolic_constant600000C5 +// CHECK:STDOUT: inst6000010F: concrete_constant(inst6000010F) +// CHECK:STDOUT: inst60000110: concrete_constant(inst60000110) +// CHECK:STDOUT: inst60000111: symbolic_constant60000086 +// CHECK:STDOUT: inst60000112: concrete_constant(inst60000050) +// CHECK:STDOUT: inst60000113: symbolic_constant60000098 +// CHECK:STDOUT: inst60000114: symbolic_constant60000097 +// CHECK:STDOUT: inst60000115: symbolic_constant600000CC +// CHECK:STDOUT: inst60000116: symbolic_constant600000CD +// CHECK:STDOUT: inst60000117: symbolic_constant600000CE +// CHECK:STDOUT: inst60000118: symbolic_constant600000CF +// CHECK:STDOUT: inst60000119: symbolic_constant600000D0 +// CHECK:STDOUT: inst6000011A: symbolic_constant600000D1 +// CHECK:STDOUT: inst6000011B: symbolic_constant600000D2 +// CHECK:STDOUT: inst6000011C: symbolic_constant600000D4 +// CHECK:STDOUT: inst6000011D: symbolic_constant600000D5 +// CHECK:STDOUT: inst6000011E: constant +// CHECK:STDOUT: inst6000011F: concrete_constant(inst6000011F) +// CHECK:STDOUT: inst60000120: symbolic_constant600000D6 +// CHECK:STDOUT: inst60000121: symbolic_constant600000D7 +// CHECK:STDOUT: inst60000122: symbolic_constant600000D8 +// CHECK:STDOUT: inst60000123: constant +// CHECK:STDOUT: inst60000124: concrete_constant(inst60000124) +// CHECK:STDOUT: inst60000125: symbolic_constant600000DA +// CHECK:STDOUT: inst60000126: symbolic_constant600000DE +// CHECK:STDOUT: inst60000127: symbolic_constant600000DC +// CHECK:STDOUT: inst60000128: symbolic_constant600000DD +// CHECK:STDOUT: inst60000129: concrete_constant(inst60000129) +// CHECK:STDOUT: inst6000012A: symbolic_constant600000E0 +// CHECK:STDOUT: inst6000012B: symbolic_constant600000E1 // CHECK:STDOUT: inst6000012C: concrete_constant(inst6000012C) // CHECK:STDOUT: inst6000012D: concrete_constant(inst6000012D) -// CHECK:STDOUT: inst6000012E: symbolic_constant600000E3 -// CHECK:STDOUT: inst6000012F: symbolic_constant600000F0 -// CHECK:STDOUT: inst60000130: symbolic_constant600000EF -// CHECK:STDOUT: inst60000131: symbolic_constant600000EE -// CHECK:STDOUT: inst60000132: symbolic_constant600000ED -// CHECK:STDOUT: inst60000133: symbolic_constant600000EC -// CHECK:STDOUT: inst60000134: symbolic_constant600000F1 -// CHECK:STDOUT: inst60000135: symbolic_constant600000F2 -// CHECK:STDOUT: inst60000136: symbolic_constant600000F3 -// CHECK:STDOUT: inst60000137: symbolic_constant600000F4 -// CHECK:STDOUT: inst60000138: symbolic_constant600000F5 -// CHECK:STDOUT: inst60000139: symbolic_constant600000F6 -// CHECK:STDOUT: inst6000013A: symbolic_constant600000F7 -// CHECK:STDOUT: inst6000013B: symbolic_constant600000F8 -// CHECK:STDOUT: inst6000013C: symbolic_constant600000F9 -// CHECK:STDOUT: inst6000013D: symbolic_constant600000FA -// CHECK:STDOUT: inst6000013E: symbolic_constant600000FB -// CHECK:STDOUT: inst6000013F: symbolic_constant600000FC -// CHECK:STDOUT: inst60000140: symbolic_constant600000FD -// CHECK:STDOUT: inst60000141: symbolic_constant600000FE -// CHECK:STDOUT: inst60000142: symbolic_constant600000FF -// CHECK:STDOUT: inst60000143: symbolic_constant60000101 -// CHECK:STDOUT: inst60000144: symbolic_constant60000102 -// CHECK:STDOUT: inst60000145: symbolic_constant60000107 -// CHECK:STDOUT: inst60000146: symbolic_constant60000115 -// CHECK:STDOUT: inst60000147: symbolic_constant60000117 -// CHECK:STDOUT: inst60000148: symbolic_constant60000118 -// CHECK:STDOUT: inst60000149: symbolic_constant60000119 -// CHECK:STDOUT: inst6000014A: symbolic_constant6000011A -// CHECK:STDOUT: inst6000014B: symbolic_constant6000011B -// CHECK:STDOUT: inst6000014C: symbolic_constant6000011C -// CHECK:STDOUT: inst6000014D: symbolic_constant6000011D -// CHECK:STDOUT: inst6000014E: symbolic_constant6000011E -// CHECK:STDOUT: inst6000014F: symbolic_constant6000011F -// CHECK:STDOUT: inst60000150: symbolic_constant60000120 -// CHECK:STDOUT: inst60000151: symbolic_constant60000121 -// CHECK:STDOUT: inst60000152: symbolic_constant60000122 -// CHECK:STDOUT: inst60000153: symbolic_constant60000123 -// CHECK:STDOUT: inst60000154: symbolic_constant60000124 -// CHECK:STDOUT: inst60000155: symbolic_constant60000125 -// CHECK:STDOUT: inst60000156: symbolic_constant60000126 -// CHECK:STDOUT: inst60000157: symbolic_constant60000127 -// CHECK:STDOUT: inst60000158: symbolic_constant60000128 -// CHECK:STDOUT: inst60000159: symbolic_constant60000129 -// CHECK:STDOUT: inst6000015A: concrete_constant(inst6000015A) -// CHECK:STDOUT: inst6000015B: concrete_constant(inst6000015B) +// CHECK:STDOUT: inst6000012E: concrete_constant(inst6000012E) +// CHECK:STDOUT: inst6000012F: concrete_constant(inst6000012F) +// CHECK:STDOUT: inst60000130: symbolic_constant600000E3 +// CHECK:STDOUT: inst60000131: symbolic_constant600000F0 +// CHECK:STDOUT: inst60000132: symbolic_constant600000EF +// CHECK:STDOUT: inst60000133: symbolic_constant600000EE +// CHECK:STDOUT: inst60000134: symbolic_constant600000ED +// CHECK:STDOUT: inst60000135: symbolic_constant600000EC +// CHECK:STDOUT: inst60000136: symbolic_constant600000F1 +// CHECK:STDOUT: inst60000137: symbolic_constant600000F2 +// CHECK:STDOUT: inst60000138: symbolic_constant600000F3 +// CHECK:STDOUT: inst60000139: symbolic_constant600000F4 +// CHECK:STDOUT: inst6000013A: symbolic_constant600000F5 +// CHECK:STDOUT: inst6000013B: symbolic_constant600000F6 +// CHECK:STDOUT: inst6000013C: symbolic_constant600000F7 +// CHECK:STDOUT: inst6000013D: symbolic_constant600000F8 +// CHECK:STDOUT: inst6000013E: symbolic_constant600000F9 +// CHECK:STDOUT: inst6000013F: symbolic_constant600000FA +// CHECK:STDOUT: inst60000140: symbolic_constant600000FB +// CHECK:STDOUT: inst60000141: symbolic_constant600000FC +// CHECK:STDOUT: inst60000142: symbolic_constant600000FD +// CHECK:STDOUT: inst60000143: symbolic_constant600000FE +// CHECK:STDOUT: inst60000144: symbolic_constant600000FF +// CHECK:STDOUT: inst60000145: symbolic_constant60000101 +// CHECK:STDOUT: inst60000146: symbolic_constant60000102 +// CHECK:STDOUT: inst60000147: symbolic_constant60000107 +// CHECK:STDOUT: inst60000148: symbolic_constant60000115 +// CHECK:STDOUT: inst60000149: symbolic_constant60000117 +// CHECK:STDOUT: inst6000014A: symbolic_constant60000118 +// CHECK:STDOUT: inst6000014B: symbolic_constant60000119 +// CHECK:STDOUT: inst6000014C: symbolic_constant6000011A +// CHECK:STDOUT: inst6000014D: symbolic_constant6000011B +// CHECK:STDOUT: inst6000014E: symbolic_constant6000011C +// CHECK:STDOUT: inst6000014F: symbolic_constant6000011D +// CHECK:STDOUT: inst60000150: symbolic_constant6000011E +// CHECK:STDOUT: inst60000151: symbolic_constant6000011F +// CHECK:STDOUT: inst60000152: symbolic_constant60000120 +// CHECK:STDOUT: inst60000153: symbolic_constant60000121 +// CHECK:STDOUT: inst60000154: symbolic_constant60000122 +// CHECK:STDOUT: inst60000155: symbolic_constant60000123 +// CHECK:STDOUT: inst60000156: symbolic_constant60000124 +// CHECK:STDOUT: inst60000157: symbolic_constant60000125 +// CHECK:STDOUT: inst60000158: symbolic_constant60000126 +// CHECK:STDOUT: inst60000159: symbolic_constant60000127 +// CHECK:STDOUT: inst6000015A: symbolic_constant60000128 +// CHECK:STDOUT: inst6000015B: symbolic_constant60000129 // CHECK:STDOUT: inst6000015C: concrete_constant(inst6000015C) -// CHECK:STDOUT: inst6000015D: symbolic_constant600000D9 -// CHECK:STDOUT: inst6000015E: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000015F: symbolic_constant600000EE -// CHECK:STDOUT: inst60000160: symbolic_constant600000ED -// CHECK:STDOUT: inst60000161: symbolic_constant600000EC -// CHECK:STDOUT: inst60000162: symbolic_constant60000132 -// CHECK:STDOUT: inst60000163: symbolic_constant60000133 -// CHECK:STDOUT: inst60000164: symbolic_constant60000134 -// CHECK:STDOUT: inst60000165: symbolic_constant60000135 -// CHECK:STDOUT: inst60000166: symbolic_constant60000136 -// CHECK:STDOUT: inst60000167: symbolic_constant60000137 -// CHECK:STDOUT: inst60000168: symbolic_constant60000138 -// CHECK:STDOUT: inst60000169: symbolic_constant60000139 -// CHECK:STDOUT: inst6000016A: symbolic_constant6000013A -// CHECK:STDOUT: inst6000016B: symbolic_constant6000013C -// CHECK:STDOUT: inst6000016C: symbolic_constant6000013D -// CHECK:STDOUT: inst6000016D: symbolic_constant60000140 -// CHECK:STDOUT: inst6000016E: symbolic_constant6000013F +// CHECK:STDOUT: inst6000015D: concrete_constant(inst6000015D) +// CHECK:STDOUT: inst6000015E: concrete_constant(inst6000015E) +// CHECK:STDOUT: inst6000015F: symbolic_constant600000D9 +// CHECK:STDOUT: inst60000160: concrete_constant(inst60000050) +// CHECK:STDOUT: inst60000161: symbolic_constant600000EE +// CHECK:STDOUT: inst60000162: symbolic_constant600000ED +// CHECK:STDOUT: inst60000163: symbolic_constant600000EC +// CHECK:STDOUT: inst60000164: symbolic_constant60000132 +// CHECK:STDOUT: inst60000165: symbolic_constant60000133 +// CHECK:STDOUT: inst60000166: symbolic_constant60000134 +// CHECK:STDOUT: inst60000167: symbolic_constant60000135 +// CHECK:STDOUT: inst60000168: symbolic_constant60000136 +// CHECK:STDOUT: inst60000169: symbolic_constant60000137 +// CHECK:STDOUT: inst6000016A: symbolic_constant60000138 +// CHECK:STDOUT: inst6000016B: symbolic_constant60000139 +// CHECK:STDOUT: inst6000016C: symbolic_constant6000013A +// CHECK:STDOUT: inst6000016D: symbolic_constant6000013C +// CHECK:STDOUT: inst6000016E: symbolic_constant6000013D // CHECK:STDOUT: inst6000016F: symbolic_constant60000140 -// CHECK:STDOUT: inst60000170: symbolic_constant60000141 -// CHECK:STDOUT: inst60000171: symbolic_constant60000142 -// CHECK:STDOUT: inst60000172: symbolic_constant60000143 -// CHECK:STDOUT: inst60000173: symbolic_constant60000144 -// CHECK:STDOUT: inst60000174: symbolic_constant60000145 -// CHECK:STDOUT: inst60000175: symbolic_constant60000146 -// CHECK:STDOUT: inst60000176: symbolic_constant6000014B -// CHECK:STDOUT: inst60000177: symbolic_constant60000147 -// CHECK:STDOUT: inst60000178: symbolic_constant60000148 -// CHECK:STDOUT: inst60000179: symbolic_constant60000149 -// CHECK:STDOUT: inst6000017A: symbolic_constant6000014A -// CHECK:STDOUT: inst6000017B: symbolic_constant6000014B -// CHECK:STDOUT: inst6000017D: symbolic_constant6000014D -// CHECK:STDOUT: inst6000017E: symbolic_constant6000014C +// CHECK:STDOUT: inst60000170: symbolic_constant6000013F +// CHECK:STDOUT: inst60000171: symbolic_constant60000140 +// CHECK:STDOUT: inst60000172: symbolic_constant60000141 +// CHECK:STDOUT: inst60000173: symbolic_constant60000142 +// CHECK:STDOUT: inst60000174: symbolic_constant60000143 +// CHECK:STDOUT: inst60000175: symbolic_constant60000144 +// CHECK:STDOUT: inst60000176: symbolic_constant60000145 +// CHECK:STDOUT: inst60000177: symbolic_constant60000146 +// CHECK:STDOUT: inst60000178: symbolic_constant6000014B +// CHECK:STDOUT: inst60000179: symbolic_constant60000147 +// CHECK:STDOUT: inst6000017A: symbolic_constant60000148 +// CHECK:STDOUT: inst6000017B: symbolic_constant60000149 +// CHECK:STDOUT: inst6000017C: symbolic_constant6000014A +// CHECK:STDOUT: inst6000017D: symbolic_constant6000014B // CHECK:STDOUT: inst6000017F: symbolic_constant6000014D -// CHECK:STDOUT: inst60000181: symbolic_constant60000010 -// CHECK:STDOUT: inst60000185: concrete_constant(inst60000027) -// CHECK:STDOUT: inst60000186: concrete_constant(inst60000027) +// CHECK:STDOUT: inst60000180: symbolic_constant6000014C +// CHECK:STDOUT: inst60000181: symbolic_constant6000014D +// CHECK:STDOUT: inst60000183: symbolic_constant60000010 +// CHECK:STDOUT: inst60000187: concrete_constant(inst60000028) +// CHECK:STDOUT: inst60000188: concrete_constant(inst60000028) // CHECK:STDOUT: symbolic_constants: // CHECK:STDOUT: symbolic_constant60000000: {inst: inst60000014, kind: self, attached: null} -// CHECK:STDOUT: symbolic_constant60000001: {inst: inst60000016, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000002: {inst: inst60000016, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000003: {inst: inst6000001C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000004: {inst: inst6000001C, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000005: {inst: inst6000001F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000006: {inst: inst6000001F, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000007: {inst: inst6000002A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000008: {inst: inst6000002A, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000009: {inst: inst6000002E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000000A: {inst: inst6000002E, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant6000000B: {inst: inst60000032, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000000C: {inst: inst60000032, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant6000000D: {inst: inst60000034, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000000E: {inst: inst60000034, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant6000000F: {inst: inst60000040, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000010: {inst: inst60000040, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000011: {inst: inst60000042, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000012: {inst: inst60000044, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000013: {inst: inst60000044, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000014: {inst: inst60000050, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000015: {inst: inst60000055, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000016: {inst: inst60000056, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000017: {inst: inst60000056, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000018: {inst: inst60000057, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000019: {inst: inst60000055, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant6000001A: {inst: inst60000058, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000001B: {inst: inst60000058, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000001C: {inst: inst6000005D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000001D: {inst: inst6000005D, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant6000001E: {inst: inst60000057, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000001F: {inst: inst60000050, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000020: {inst: inst6000005D, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000021: {inst: inst60000057, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000022: {inst: inst60000050, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000023: {inst: inst60000057, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000024: {inst: inst60000058, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000025: {inst: inst6000005D, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000026: {inst: inst60000056, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000027: {inst: inst60000050, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000028: {inst: inst60000050, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000029: {inst: inst60000055, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant6000002A: {inst: inst60000056, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant6000002B: {inst: inst6000006F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000002C: {inst: inst60000070, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000002D: {inst: inst60000071, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000002E: {inst: inst60000071, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000002F: {inst: inst60000074, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000030: {inst: inst60000074, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000031: {inst: inst60000076, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000032: {inst: inst60000077, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000033: {inst: inst60000077, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000034: {inst: inst60000076, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000035: {inst: inst60000078, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000036: {inst: inst60000078, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000037: {inst: inst6000007D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000038: {inst: inst6000007D, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant60000039: {inst: inst60000071, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000003A: {inst: inst60000070, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000003B: {inst: inst6000006F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000003C: {inst: inst6000006F, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000003D: {inst: inst6000007D, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant6000003E: {inst: inst60000071, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000003F: {inst: inst6000006F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000040: {inst: inst60000070, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000041: {inst: inst60000071, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000042: {inst: inst60000078, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000043: {inst: inst6000007D, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant60000044: {inst: inst60000086, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000045: {inst: inst60000087, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000046: {inst: inst60000088, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000047: {inst: inst60000089, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000048: {inst: inst6000008A, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000049: {inst: inst6000008B, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000004A: {inst: inst6000008B, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant6000004B: {inst: inst6000008C, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000004C: {inst: inst6000008D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000004D: {inst: inst6000008A, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant6000004E: {inst: inst60000089, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant6000004F: {inst: inst60000087, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant60000050: {inst: inst60000086, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000051: {inst: inst6000008E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000052: {inst: inst6000008E, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000053: {inst: inst6000008F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000054: {inst: inst6000008F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000055: {inst: inst6000008F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000056: {inst: inst6000008E, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000057: {inst: inst60000086, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000058: {inst: inst60000087, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant60000059: {inst: inst60000089, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant6000005A: {inst: inst6000008A, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant6000005B: {inst: inst6000008B, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant6000005C: {inst: inst60000071, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000005D: {inst: inst60000070, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000005E: {inst: inst6000006F, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000005F: {inst: inst6000006F, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000060: {inst: inst60000070, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000061: {inst: inst60000071, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000062: {inst: inst60000074, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000063: {inst: inst60000077, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000064: {inst: inst60000076, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000065: {inst: inst60000077, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000066: {inst: inst6000001C, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000067: {inst: inst600000B6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000068: {inst: inst600000B6, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000069: {inst: inst6000001C, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000006A: {inst: inst60000016, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000006B: {inst: inst60000016, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000006C: {inst: inst60000016, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000006D: {inst: inst6000001C, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000006E: {inst: inst600000B6, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000006F: {inst: inst60000040, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000070: {inst: inst600000BF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000071: {inst: inst600000C0, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000072: {inst: inst600000C0, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000073: {inst: inst600000BF, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000074: {inst: inst6000001F, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000075: {inst: inst600000C5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000076: {inst: inst600000C5, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000077: {inst: inst6000001C, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000078: {inst: inst60000016, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000079: {inst: inst600000C5, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant6000007A: {inst: inst6000001C, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000007B: {inst: inst60000016, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000007C: {inst: inst6000001C, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000007D: {inst: inst6000001F, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000007E: {inst: inst600000C5, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant6000007F: {inst: inst600000C0, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000080: {inst: inst600000BF, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000081: {inst: inst600000C0, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000082: {inst: inst60000040, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000083: {inst: inst600000DA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000084: {inst: inst600000DB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000085: {inst: inst600000DC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000086: {inst: inst600000DC, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant60000087: {inst: inst600000DF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000088: {inst: inst600000DF, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant60000089: {inst: inst600000E1, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000008A: {inst: inst600000E2, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000008B: {inst: inst600000E2, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant6000008C: {inst: inst600000E1, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant6000008D: {inst: inst600000E4, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000008E: {inst: inst600000E5, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000008F: {inst: inst600000E5, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant60000090: {inst: inst600000EA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000091: {inst: inst600000EA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant60000092: {inst: inst600000DC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant60000093: {inst: inst600000DB, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000094: {inst: inst600000DA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000095: {inst: inst60000070, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000096: {inst: inst6000006F, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000097: {inst: inst600000DA, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000098: {inst: inst6000006F, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000099: {inst: inst600000EA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant6000009A: {inst: inst600000DC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant6000009B: {inst: inst6000006F, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant6000009C: {inst: inst60000070, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant6000009D: {inst: inst600000DA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000009E: {inst: inst600000DB, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant6000009F: {inst: inst600000DC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant600000A0: {inst: inst600000E5, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant600000A1: {inst: inst600000EA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant600000A2: {inst: inst600000F6, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000A3: {inst: inst600000F7, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000A4: {inst: inst600000F8, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000A5: {inst: inst600000F9, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000A6: {inst: inst600000FA, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000A7: {inst: inst600000FB, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000A8: {inst: inst600000FB, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant600000A9: {inst: inst600000FC, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000AA: {inst: inst600000FD, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000AB: {inst: inst600000FA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant600000AC: {inst: inst600000F9, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant600000AD: {inst: inst600000F7, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant600000AE: {inst: inst600000F6, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant600000AF: {inst: inst600000FE, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000B0: {inst: inst600000FE, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant600000B1: {inst: inst6000008B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant600000B2: {inst: inst6000008A, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant600000B3: {inst: inst60000089, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant600000B4: {inst: inst60000087, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant600000B5: {inst: inst60000086, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant600000B6: {inst: inst6000008E, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant600000B7: {inst: inst600000FF, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000B8: {inst: inst600000FF, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant600000B9: {inst: inst600000FF, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant600000BA: {inst: inst6000008E, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant600000BB: {inst: inst60000086, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant600000BC: {inst: inst60000087, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant600000BD: {inst: inst60000089, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant600000BE: {inst: inst6000008A, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant600000BF: {inst: inst6000008B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant600000C0: {inst: inst600000FE, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant600000C1: {inst: inst600000F6, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant600000C2: {inst: inst600000F7, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant600000C3: {inst: inst600000F9, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant600000C4: {inst: inst600000FA, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant600000C5: {inst: inst600000FB, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant600000C6: {inst: inst600000DC, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant600000C7: {inst: inst600000DB, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant600000C8: {inst: inst60000070, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant600000C9: {inst: inst600000E4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant600000CA: {inst: inst600000DA, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant600000CB: {inst: inst6000006F, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant600000CC: {inst: inst6000006F, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant600000CD: {inst: inst600000DA, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant600000CE: {inst: inst600000E4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant600000CF: {inst: inst60000070, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant600000D0: {inst: inst600000DB, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant600000D1: {inst: inst600000DC, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant600000D2: {inst: inst600000DF, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant600000D3: {inst: inst600000E2, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant600000D4: {inst: inst600000E1, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant600000D5: {inst: inst600000E2, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant600000D6: {inst: inst6000011E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000D7: {inst: inst6000011F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000D8: {inst: inst60000120, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000D9: {inst: inst60000120, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant600000DA: {inst: inst60000123, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000DB: {inst: inst60000123, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant600000DC: {inst: inst60000125, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000DD: {inst: inst60000126, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000DE: {inst: inst60000126, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant600000DF: {inst: inst60000125, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant600000E0: {inst: inst60000128, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000E1: {inst: inst60000129, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000E2: {inst: inst60000129, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant600000E3: {inst: inst6000012E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000E4: {inst: inst6000012E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant600000E5: {inst: inst60000120, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant600000E6: {inst: inst6000011F, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant600000E7: {inst: inst6000011E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant600000E8: {inst: inst600000DB, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant600000E9: {inst: inst600000DA, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant600000EA: {inst: inst60000070, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant600000EB: {inst: inst6000006F, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant600000EC: {inst: inst6000011E, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant600000ED: {inst: inst600000DA, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant600000EE: {inst: inst6000006F, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant600000EF: {inst: inst6000012E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant600000F0: {inst: inst60000120, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant600000F1: {inst: inst6000006F, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant600000F2: {inst: inst60000070, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant600000F3: {inst: inst600000DA, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant600000F4: {inst: inst600000DB, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant600000F5: {inst: inst6000011E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant600000F6: {inst: inst6000011F, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant600000F7: {inst: inst60000120, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant600000F8: {inst: inst60000129, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant600000F9: {inst: inst6000012E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant600000FA: {inst: inst6000013D, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000FB: {inst: inst6000013E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000FC: {inst: inst6000013F, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000FD: {inst: inst60000140, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000FE: {inst: inst60000141, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant600000FF: {inst: inst60000142, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000100: {inst: inst60000142, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def18}} -// CHECK:STDOUT: symbolic_constant60000101: {inst: inst60000143, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000102: {inst: inst60000144, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000103: {inst: inst60000141, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def17}} -// CHECK:STDOUT: symbolic_constant60000104: {inst: inst60000140, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def16}} -// CHECK:STDOUT: symbolic_constant60000105: {inst: inst6000013E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def15}} -// CHECK:STDOUT: symbolic_constant60000106: {inst: inst6000013D, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def14}} -// CHECK:STDOUT: symbolic_constant60000107: {inst: inst60000145, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000108: {inst: inst60000145, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def13}} -// CHECK:STDOUT: symbolic_constant60000109: {inst: inst600000FB, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant6000010A: {inst: inst600000FA, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant6000010B: {inst: inst600000F9, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant6000010C: {inst: inst600000F7, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant6000010D: {inst: inst600000F6, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant6000010E: {inst: inst600000FE, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant6000010F: {inst: inst6000008B, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant60000110: {inst: inst6000008A, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant60000111: {inst: inst60000089, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant60000112: {inst: inst60000087, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant60000113: {inst: inst60000086, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000114: {inst: inst6000008E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000115: {inst: inst60000146, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000116: {inst: inst60000146, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000117: {inst: inst60000146, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant60000118: {inst: inst6000008E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant60000119: {inst: inst60000086, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant6000011A: {inst: inst60000087, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant6000011B: {inst: inst60000089, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant6000011C: {inst: inst6000008A, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant6000011D: {inst: inst6000008B, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant6000011E: {inst: inst600000FE, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant6000011F: {inst: inst600000F6, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def8}} -// CHECK:STDOUT: symbolic_constant60000120: {inst: inst600000F7, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def9}} -// CHECK:STDOUT: symbolic_constant60000121: {inst: inst600000F9, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def10}} -// CHECK:STDOUT: symbolic_constant60000122: {inst: inst600000FA, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def11}} -// CHECK:STDOUT: symbolic_constant60000123: {inst: inst600000FB, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def12}} -// CHECK:STDOUT: symbolic_constant60000124: {inst: inst60000145, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def13}} -// CHECK:STDOUT: symbolic_constant60000125: {inst: inst6000013D, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def14}} -// CHECK:STDOUT: symbolic_constant60000126: {inst: inst6000013E, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def15}} -// CHECK:STDOUT: symbolic_constant60000127: {inst: inst60000140, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def16}} -// CHECK:STDOUT: symbolic_constant60000128: {inst: inst60000141, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def17}} -// CHECK:STDOUT: symbolic_constant60000129: {inst: inst60000142, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def18}} -// CHECK:STDOUT: symbolic_constant6000012A: {inst: inst60000120, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant6000012B: {inst: inst6000011F, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant6000012C: {inst: inst600000DB, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant6000012D: {inst: inst60000070, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant6000012E: {inst: inst60000128, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant6000012F: {inst: inst6000011E, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000130: {inst: inst600000DA, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000131: {inst: inst6000006F, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000132: {inst: inst6000006F, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} -// CHECK:STDOUT: symbolic_constant60000133: {inst: inst600000DA, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} -// CHECK:STDOUT: symbolic_constant60000134: {inst: inst6000011E, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant60000135: {inst: inst60000128, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl3}} -// CHECK:STDOUT: symbolic_constant60000136: {inst: inst60000070, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl4}} -// CHECK:STDOUT: symbolic_constant60000137: {inst: inst600000DB, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl5}} -// CHECK:STDOUT: symbolic_constant60000138: {inst: inst6000011F, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} -// CHECK:STDOUT: symbolic_constant60000139: {inst: inst60000120, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} -// CHECK:STDOUT: symbolic_constant6000013A: {inst: inst60000123, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} -// CHECK:STDOUT: symbolic_constant6000013B: {inst: inst60000126, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant6000013C: {inst: inst60000125, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def0}} -// CHECK:STDOUT: symbolic_constant6000013D: {inst: inst60000126, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} -// CHECK:STDOUT: symbolic_constant6000013E: {inst: inst600000B6, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} -// CHECK:STDOUT: symbolic_constant6000013F: {inst: inst6000016E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000140: {inst: inst6000016E, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def2}} -// CHECK:STDOUT: symbolic_constant60000141: {inst: inst60000170, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000142: {inst: inst60000170, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def3}} -// CHECK:STDOUT: symbolic_constant60000143: {inst: inst60000172, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000144: {inst: inst60000173, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000145: {inst: inst60000174, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000146: {inst: inst60000175, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000147: {inst: inst60000177, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant60000148: {inst: inst60000172, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def4}} -// CHECK:STDOUT: symbolic_constant60000149: {inst: inst60000173, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def5}} -// CHECK:STDOUT: symbolic_constant6000014A: {inst: inst60000175, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def6}} -// CHECK:STDOUT: symbolic_constant6000014B: {inst: inst60000177, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def7}} -// CHECK:STDOUT: symbolic_constant6000014C: {inst: inst6000017E, kind: checked, attached: null} -// CHECK:STDOUT: symbolic_constant6000014D: {inst: inst6000017E, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant60000001: {inst: inst60000017, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000002: {inst: inst60000017, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000003: {inst: inst6000001D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000004: {inst: inst6000001D, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000005: {inst: inst60000020, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000006: {inst: inst60000020, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000007: {inst: inst6000002B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000008: {inst: inst6000002B, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000009: {inst: inst6000002F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000000A: {inst: inst6000002F, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000000B: {inst: inst60000033, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000000C: {inst: inst60000033, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant6000000D: {inst: inst60000035, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000000E: {inst: inst60000035, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000000F: {inst: inst60000042, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000010: {inst: inst60000042, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000011: {inst: inst60000044, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000012: {inst: inst60000046, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000013: {inst: inst60000046, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000014: {inst: inst60000052, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000015: {inst: inst60000057, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000016: {inst: inst60000058, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000017: {inst: inst60000058, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000018: {inst: inst60000059, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000019: {inst: inst60000057, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000001A: {inst: inst6000005A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000001B: {inst: inst6000005A, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000001C: {inst: inst6000005F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000001D: {inst: inst6000005F, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000001E: {inst: inst60000059, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000001F: {inst: inst60000052, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000020: {inst: inst6000005F, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000021: {inst: inst60000059, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000022: {inst: inst60000052, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000023: {inst: inst60000059, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000024: {inst: inst6000005A, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000025: {inst: inst6000005F, kind: checked, attached: {generic: generic60000002, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000026: {inst: inst60000058, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000027: {inst: inst60000052, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000028: {inst: inst60000052, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000029: {inst: inst60000057, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000002A: {inst: inst60000058, kind: checked, attached: {generic: generic60000001, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant6000002B: {inst: inst60000071, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000002C: {inst: inst60000072, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000002D: {inst: inst60000073, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000002E: {inst: inst60000073, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000002F: {inst: inst60000076, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000030: {inst: inst60000076, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000031: {inst: inst60000078, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000032: {inst: inst60000079, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000033: {inst: inst60000079, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000034: {inst: inst60000078, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000035: {inst: inst6000007A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000036: {inst: inst6000007A, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000037: {inst: inst6000007F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000038: {inst: inst6000007F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000039: {inst: inst60000073, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000003A: {inst: inst60000072, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000003B: {inst: inst60000071, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000003C: {inst: inst60000071, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000003D: {inst: inst6000007F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000003E: {inst: inst60000073, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000003F: {inst: inst60000071, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000040: {inst: inst60000072, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000041: {inst: inst60000073, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000042: {inst: inst6000007A, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000043: {inst: inst6000007F, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000044: {inst: inst60000088, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000045: {inst: inst60000089, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000046: {inst: inst6000008A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000047: {inst: inst6000008B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000048: {inst: inst6000008C, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000049: {inst: inst6000008D, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000004A: {inst: inst6000008D, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant6000004B: {inst: inst6000008E, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000004C: {inst: inst6000008F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000004D: {inst: inst6000008C, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant6000004E: {inst: inst6000008B, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant6000004F: {inst: inst60000089, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000050: {inst: inst60000088, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000051: {inst: inst60000090, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000052: {inst: inst60000090, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000053: {inst: inst60000091, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000054: {inst: inst60000091, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000055: {inst: inst60000091, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000056: {inst: inst60000090, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000057: {inst: inst60000088, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000058: {inst: inst60000089, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000059: {inst: inst6000008B, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant6000005A: {inst: inst6000008C, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant6000005B: {inst: inst6000008D, kind: checked, attached: {generic: generic60000004, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant6000005C: {inst: inst60000073, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000005D: {inst: inst60000072, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000005E: {inst: inst60000071, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000005F: {inst: inst60000071, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000060: {inst: inst60000072, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000061: {inst: inst60000073, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000062: {inst: inst60000076, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000063: {inst: inst60000079, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000064: {inst: inst60000078, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000065: {inst: inst60000079, kind: checked, attached: {generic: generic60000003, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000066: {inst: inst6000001D, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000067: {inst: inst600000B8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000068: {inst: inst600000B8, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000069: {inst: inst6000001D, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000006A: {inst: inst60000017, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000006B: {inst: inst60000017, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000006C: {inst: inst60000017, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000006D: {inst: inst6000001D, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000006E: {inst: inst600000B8, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000006F: {inst: inst60000042, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000070: {inst: inst600000C1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000071: {inst: inst600000C2, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000072: {inst: inst600000C2, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000073: {inst: inst600000C1, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000074: {inst: inst60000020, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000075: {inst: inst600000C7, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000076: {inst: inst600000C7, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000077: {inst: inst6000001D, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000078: {inst: inst60000017, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000079: {inst: inst600000C7, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000007A: {inst: inst6000001D, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000007B: {inst: inst60000017, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000007C: {inst: inst6000001D, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000007D: {inst: inst60000020, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000007E: {inst: inst600000C7, kind: checked, attached: {generic: generic60000006, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000007F: {inst: inst600000C2, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000080: {inst: inst600000C1, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000081: {inst: inst600000C2, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000082: {inst: inst60000042, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000083: {inst: inst600000DC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000084: {inst: inst600000DD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000085: {inst: inst600000DE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000086: {inst: inst600000DE, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant60000087: {inst: inst600000E1, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000088: {inst: inst600000E1, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant60000089: {inst: inst600000E3, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000008A: {inst: inst600000E4, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000008B: {inst: inst600000E4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000008C: {inst: inst600000E3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant6000008D: {inst: inst600000E6, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000008E: {inst: inst600000E7, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000008F: {inst: inst600000E7, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant60000090: {inst: inst600000EC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000091: {inst: inst600000EC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant60000092: {inst: inst600000DE, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000093: {inst: inst600000DD, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000094: {inst: inst600000DC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000095: {inst: inst60000072, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000096: {inst: inst60000071, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000097: {inst: inst600000DC, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000098: {inst: inst60000071, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000099: {inst: inst600000EC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000009A: {inst: inst600000DE, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000009B: {inst: inst60000071, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant6000009C: {inst: inst60000072, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant6000009D: {inst: inst600000DC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000009E: {inst: inst600000DD, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000009F: {inst: inst600000DE, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000A0: {inst: inst600000E7, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000A1: {inst: inst600000EC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000A2: {inst: inst600000F8, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A3: {inst: inst600000F9, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A4: {inst: inst600000FA, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A5: {inst: inst600000FB, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A6: {inst: inst600000FC, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A7: {inst: inst600000FD, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000A8: {inst: inst600000FD, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant600000A9: {inst: inst600000FE, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000AA: {inst: inst600000FF, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000AB: {inst: inst600000FC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant600000AC: {inst: inst600000FB, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant600000AD: {inst: inst600000F9, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant600000AE: {inst: inst600000F8, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant600000AF: {inst: inst60000100, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000B0: {inst: inst60000100, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant600000B1: {inst: inst6000008D, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant600000B2: {inst: inst6000008C, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant600000B3: {inst: inst6000008B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant600000B4: {inst: inst60000089, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant600000B5: {inst: inst60000088, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant600000B6: {inst: inst60000090, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000B7: {inst: inst60000101, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000B8: {inst: inst60000101, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000B9: {inst: inst60000101, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000BA: {inst: inst60000090, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000BB: {inst: inst60000088, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant600000BC: {inst: inst60000089, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant600000BD: {inst: inst6000008B, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant600000BE: {inst: inst6000008C, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant600000BF: {inst: inst6000008D, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant600000C0: {inst: inst60000100, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant600000C1: {inst: inst600000F8, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant600000C2: {inst: inst600000F9, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant600000C3: {inst: inst600000FB, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant600000C4: {inst: inst600000FC, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant600000C5: {inst: inst600000FD, kind: checked, attached: {generic: generic60000008, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant600000C6: {inst: inst600000DE, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000C7: {inst: inst600000DD, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000C8: {inst: inst60000072, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000C9: {inst: inst600000E6, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000CA: {inst: inst600000DC, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000CB: {inst: inst60000071, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000CC: {inst: inst60000071, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000CD: {inst: inst600000DC, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000CE: {inst: inst600000E6, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000CF: {inst: inst60000072, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000D0: {inst: inst600000DD, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000D1: {inst: inst600000DE, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000D2: {inst: inst600000E1, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000D3: {inst: inst600000E4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000D4: {inst: inst600000E3, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000D5: {inst: inst600000E4, kind: checked, attached: {generic: generic60000007, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000D6: {inst: inst60000120, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000D7: {inst: inst60000121, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000D8: {inst: inst60000122, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000D9: {inst: inst60000122, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant600000DA: {inst: inst60000125, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000DB: {inst: inst60000125, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000DC: {inst: inst60000127, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000DD: {inst: inst60000128, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000DE: {inst: inst60000128, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant600000DF: {inst: inst60000127, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant600000E0: {inst: inst6000012A, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000E1: {inst: inst6000012B, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000E2: {inst: inst6000012B, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant600000E3: {inst: inst60000130, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000E4: {inst: inst60000130, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000E5: {inst: inst60000122, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000E6: {inst: inst60000121, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000E7: {inst: inst60000120, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000E8: {inst: inst600000DD, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000E9: {inst: inst600000DC, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000EA: {inst: inst60000072, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000EB: {inst: inst60000071, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000EC: {inst: inst60000120, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000ED: {inst: inst600000DC, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000EE: {inst: inst60000071, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000EF: {inst: inst60000130, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000F0: {inst: inst60000122, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000F1: {inst: inst60000071, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant600000F2: {inst: inst60000072, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant600000F3: {inst: inst600000DC, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant600000F4: {inst: inst600000DD, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant600000F5: {inst: inst60000120, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant600000F6: {inst: inst60000121, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant600000F7: {inst: inst60000122, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant600000F8: {inst: inst6000012B, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant600000F9: {inst: inst60000130, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant600000FA: {inst: inst6000013F, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000FB: {inst: inst60000140, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000FC: {inst: inst60000141, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000FD: {inst: inst60000142, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000FE: {inst: inst60000143, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant600000FF: {inst: inst60000144, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000100: {inst: inst60000144, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def18}} +// CHECK:STDOUT: symbolic_constant60000101: {inst: inst60000145, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000102: {inst: inst60000146, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000103: {inst: inst60000143, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def17}} +// CHECK:STDOUT: symbolic_constant60000104: {inst: inst60000142, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def16}} +// CHECK:STDOUT: symbolic_constant60000105: {inst: inst60000140, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant60000106: {inst: inst6000013F, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant60000107: {inst: inst60000147, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000108: {inst: inst60000147, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant60000109: {inst: inst600000FD, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant6000010A: {inst: inst600000FC, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant6000010B: {inst: inst600000FB, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant6000010C: {inst: inst600000F9, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant6000010D: {inst: inst600000F8, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant6000010E: {inst: inst60000100, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant6000010F: {inst: inst6000008D, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant60000110: {inst: inst6000008C, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant60000111: {inst: inst6000008B, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant60000112: {inst: inst60000089, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000113: {inst: inst60000088, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000114: {inst: inst60000090, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000115: {inst: inst60000148, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000116: {inst: inst60000148, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000117: {inst: inst60000148, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant60000118: {inst: inst60000090, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant60000119: {inst: inst60000088, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant6000011A: {inst: inst60000089, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant6000011B: {inst: inst6000008B, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant6000011C: {inst: inst6000008C, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant6000011D: {inst: inst6000008D, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant6000011E: {inst: inst60000100, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant6000011F: {inst: inst600000F8, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def8}} +// CHECK:STDOUT: symbolic_constant60000120: {inst: inst600000F9, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def9}} +// CHECK:STDOUT: symbolic_constant60000121: {inst: inst600000FB, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def10}} +// CHECK:STDOUT: symbolic_constant60000122: {inst: inst600000FC, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def11}} +// CHECK:STDOUT: symbolic_constant60000123: {inst: inst600000FD, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def12}} +// CHECK:STDOUT: symbolic_constant60000124: {inst: inst60000147, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def13}} +// CHECK:STDOUT: symbolic_constant60000125: {inst: inst6000013F, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def14}} +// CHECK:STDOUT: symbolic_constant60000126: {inst: inst60000140, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def15}} +// CHECK:STDOUT: symbolic_constant60000127: {inst: inst60000142, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def16}} +// CHECK:STDOUT: symbolic_constant60000128: {inst: inst60000143, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def17}} +// CHECK:STDOUT: symbolic_constant60000129: {inst: inst60000144, kind: checked, attached: {generic: generic6000000A, index: generic_inst_in_def18}} +// CHECK:STDOUT: symbolic_constant6000012A: {inst: inst60000122, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant6000012B: {inst: inst60000121, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant6000012C: {inst: inst600000DD, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant6000012D: {inst: inst60000072, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant6000012E: {inst: inst6000012A, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant6000012F: {inst: inst60000120, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000130: {inst: inst600000DC, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000131: {inst: inst60000071, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000132: {inst: inst60000071, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl0}} +// CHECK:STDOUT: symbolic_constant60000133: {inst: inst600000DC, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl1}} +// CHECK:STDOUT: symbolic_constant60000134: {inst: inst60000120, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant60000135: {inst: inst6000012A, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl3}} +// CHECK:STDOUT: symbolic_constant60000136: {inst: inst60000072, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl4}} +// CHECK:STDOUT: symbolic_constant60000137: {inst: inst600000DD, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl5}} +// CHECK:STDOUT: symbolic_constant60000138: {inst: inst60000121, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl6}} +// CHECK:STDOUT: symbolic_constant60000139: {inst: inst60000122, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl7}} +// CHECK:STDOUT: symbolic_constant6000013A: {inst: inst60000125, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_decl8}} +// CHECK:STDOUT: symbolic_constant6000013B: {inst: inst60000128, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000013C: {inst: inst60000127, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def0}} +// CHECK:STDOUT: symbolic_constant6000013D: {inst: inst60000128, kind: checked, attached: {generic: generic60000009, index: generic_inst_in_def1}} +// CHECK:STDOUT: symbolic_constant6000013E: {inst: inst600000B8, kind: checked, attached: {generic: generic60000005, index: generic_inst_in_decl2}} +// CHECK:STDOUT: symbolic_constant6000013F: {inst: inst60000170, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000140: {inst: inst60000170, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def2}} +// CHECK:STDOUT: symbolic_constant60000141: {inst: inst60000172, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000142: {inst: inst60000172, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def3}} +// CHECK:STDOUT: symbolic_constant60000143: {inst: inst60000174, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000144: {inst: inst60000175, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000145: {inst: inst60000176, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000146: {inst: inst60000177, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000147: {inst: inst60000179, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant60000148: {inst: inst60000174, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def4}} +// CHECK:STDOUT: symbolic_constant60000149: {inst: inst60000175, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def5}} +// CHECK:STDOUT: symbolic_constant6000014A: {inst: inst60000177, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def6}} +// CHECK:STDOUT: symbolic_constant6000014B: {inst: inst60000179, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def7}} +// CHECK:STDOUT: symbolic_constant6000014C: {inst: inst60000180, kind: checked, attached: null} +// CHECK:STDOUT: symbolic_constant6000014D: {inst: inst60000180, kind: checked, attached: {generic: generic60000000, index: generic_inst_in_def8}} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000003C +// CHECK:STDOUT: 0: inst6000003E // CHECK:STDOUT: generated: {} // CHECK:STDOUT: imports: // CHECK:STDOUT: 0: inst60000011 -// CHECK:STDOUT: 1: inst6000004C -// CHECK:STDOUT: 2: inst6000004D -// CHECK:STDOUT: 3: inst6000004F -// CHECK:STDOUT: 4: inst60000051 -// CHECK:STDOUT: 5: inst60000052 -// CHECK:STDOUT: 6: inst60000053 -// CHECK:STDOUT: 7: inst60000054 -// CHECK:STDOUT: 8: inst60000059 -// CHECK:STDOUT: 9: inst6000005A -// CHECK:STDOUT: 10: inst6000005B -// CHECK:STDOUT: 11: inst6000005C -// CHECK:STDOUT: 12: inst6000005E -// CHECK:STDOUT: 13: inst6000005F -// CHECK:STDOUT: 14: inst60000060 -// CHECK:STDOUT: 15: inst60000068 -// CHECK:STDOUT: 16: inst6000006A -// CHECK:STDOUT: 17: inst6000006D -// CHECK:STDOUT: 18: inst6000006E -// CHECK:STDOUT: 19: inst60000072 -// CHECK:STDOUT: 20: inst60000073 -// CHECK:STDOUT: 21: inst60000075 -// CHECK:STDOUT: 22: inst60000079 -// CHECK:STDOUT: 23: inst6000007A -// CHECK:STDOUT: 24: inst6000007B -// CHECK:STDOUT: 25: inst6000007C -// CHECK:STDOUT: 26: inst6000007E -// CHECK:STDOUT: 27: inst6000007F -// CHECK:STDOUT: 28: inst60000080 -// CHECK:STDOUT: 29: inst60000098 -// CHECK:STDOUT: 30: inst60000099 -// CHECK:STDOUT: 31: inst6000009A -// CHECK:STDOUT: 32: inst6000009B -// CHECK:STDOUT: 33: inst600000A2 -// CHECK:STDOUT: 34: inst600000A3 -// CHECK:STDOUT: 35: inst600000A4 -// CHECK:STDOUT: 36: inst600000A5 -// CHECK:STDOUT: 37: inst600000A6 -// CHECK:STDOUT: 38: inst600000A7 -// CHECK:STDOUT: 39: inst600000A8 -// CHECK:STDOUT: 40: inst600000A9 -// CHECK:STDOUT: 41: inst600000AA -// CHECK:STDOUT: 42: inst600000AB -// CHECK:STDOUT: 43: inst600000AC -// CHECK:STDOUT: 44: inst600000AD -// CHECK:STDOUT: 45: inst600000AE -// CHECK:STDOUT: 46: inst600000AF -// CHECK:STDOUT: 47: inst600000B0 -// CHECK:STDOUT: 48: inst600000B1 -// CHECK:STDOUT: 49: inst600000B2 -// CHECK:STDOUT: 50: inst600000B3 -// CHECK:STDOUT: 51: inst600000B4 -// CHECK:STDOUT: 52: inst600000B5 -// CHECK:STDOUT: 53: inst600000B7 -// CHECK:STDOUT: 54: inst600000B8 -// CHECK:STDOUT: 55: inst600000B9 -// CHECK:STDOUT: 56: inst600000BA -// CHECK:STDOUT: 57: inst600000BE -// CHECK:STDOUT: 58: inst600000C1 -// CHECK:STDOUT: 59: inst600000C2 -// CHECK:STDOUT: 60: inst600000C3 -// CHECK:STDOUT: 61: inst600000C4 -// CHECK:STDOUT: 62: inst600000C6 -// CHECK:STDOUT: 63: inst600000C7 -// CHECK:STDOUT: 64: inst600000C8 -// CHECK:STDOUT: 65: inst600000D0 -// CHECK:STDOUT: 66: inst600000D1 -// CHECK:STDOUT: 67: inst600000D2 -// CHECK:STDOUT: 68: inst600000D3 -// CHECK:STDOUT: 69: inst600000D4 -// CHECK:STDOUT: 70: inst600000D5 -// CHECK:STDOUT: 71: inst600000D6 -// CHECK:STDOUT: 72: inst600000D7 -// CHECK:STDOUT: 73: inst600000D8 -// CHECK:STDOUT: 74: inst600000D9 -// CHECK:STDOUT: 75: inst600000DD -// CHECK:STDOUT: 76: inst600000DE -// CHECK:STDOUT: 77: inst600000E0 -// CHECK:STDOUT: 78: inst600000E6 -// CHECK:STDOUT: 79: inst600000E7 -// CHECK:STDOUT: 80: inst600000E8 -// CHECK:STDOUT: 81: inst600000E9 -// CHECK:STDOUT: 82: inst600000EB -// CHECK:STDOUT: 83: inst600000EC -// CHECK:STDOUT: 84: inst600000ED -// CHECK:STDOUT: 85: inst600000EE -// CHECK:STDOUT: 86: inst6000010D -// CHECK:STDOUT: 87: inst6000010E -// CHECK:STDOUT: 88: inst6000010F -// CHECK:STDOUT: 89: inst60000110 -// CHECK:STDOUT: 90: inst60000111 -// CHECK:STDOUT: 91: inst60000112 -// CHECK:STDOUT: 92: inst6000011C -// CHECK:STDOUT: 93: inst6000011D -// CHECK:STDOUT: 94: inst60000121 -// CHECK:STDOUT: 95: inst60000122 -// CHECK:STDOUT: 96: inst60000124 -// CHECK:STDOUT: 97: inst6000012A -// CHECK:STDOUT: 98: inst6000012B -// CHECK:STDOUT: 99: inst6000012C -// CHECK:STDOUT: 100: inst6000012D -// CHECK:STDOUT: 101: inst6000012F -// CHECK:STDOUT: 102: inst60000130 -// CHECK:STDOUT: 103: inst60000131 -// CHECK:STDOUT: 104: inst60000132 -// CHECK:STDOUT: 105: inst60000133 -// CHECK:STDOUT: 106: inst6000015A -// CHECK:STDOUT: 107: inst6000015B -// CHECK:STDOUT: 108: inst6000015C -// CHECK:STDOUT: 109: inst6000015D -// CHECK:STDOUT: 110: inst6000015E -// CHECK:STDOUT: 111: inst6000015F -// CHECK:STDOUT: 112: inst60000160 -// CHECK:STDOUT: 113: inst60000161 +// CHECK:STDOUT: 1: inst6000004E +// CHECK:STDOUT: 2: inst6000004F +// CHECK:STDOUT: 3: inst60000051 +// CHECK:STDOUT: 4: inst60000053 +// CHECK:STDOUT: 5: inst60000054 +// CHECK:STDOUT: 6: inst60000055 +// CHECK:STDOUT: 7: inst60000056 +// CHECK:STDOUT: 8: inst6000005B +// CHECK:STDOUT: 9: inst6000005C +// CHECK:STDOUT: 10: inst6000005D +// CHECK:STDOUT: 11: inst6000005E +// CHECK:STDOUT: 12: inst60000060 +// CHECK:STDOUT: 13: inst60000061 +// CHECK:STDOUT: 14: inst60000062 +// CHECK:STDOUT: 15: inst6000006A +// CHECK:STDOUT: 16: inst6000006C +// CHECK:STDOUT: 17: inst6000006F +// CHECK:STDOUT: 18: inst60000070 +// CHECK:STDOUT: 19: inst60000074 +// CHECK:STDOUT: 20: inst60000075 +// CHECK:STDOUT: 21: inst60000077 +// CHECK:STDOUT: 22: inst6000007B +// CHECK:STDOUT: 23: inst6000007C +// CHECK:STDOUT: 24: inst6000007D +// CHECK:STDOUT: 25: inst6000007E +// CHECK:STDOUT: 26: inst60000080 +// CHECK:STDOUT: 27: inst60000081 +// CHECK:STDOUT: 28: inst60000082 +// CHECK:STDOUT: 29: inst6000009A +// CHECK:STDOUT: 30: inst6000009B +// CHECK:STDOUT: 31: inst6000009C +// CHECK:STDOUT: 32: inst6000009D +// CHECK:STDOUT: 33: inst600000A4 +// CHECK:STDOUT: 34: inst600000A5 +// CHECK:STDOUT: 35: inst600000A6 +// CHECK:STDOUT: 36: inst600000A7 +// CHECK:STDOUT: 37: inst600000A8 +// CHECK:STDOUT: 38: inst600000A9 +// CHECK:STDOUT: 39: inst600000AA +// CHECK:STDOUT: 40: inst600000AB +// CHECK:STDOUT: 41: inst600000AC +// CHECK:STDOUT: 42: inst600000AD +// CHECK:STDOUT: 43: inst600000AE +// CHECK:STDOUT: 44: inst600000AF +// CHECK:STDOUT: 45: inst600000B0 +// CHECK:STDOUT: 46: inst600000B1 +// CHECK:STDOUT: 47: inst600000B2 +// CHECK:STDOUT: 48: inst600000B3 +// CHECK:STDOUT: 49: inst600000B4 +// CHECK:STDOUT: 50: inst600000B5 +// CHECK:STDOUT: 51: inst600000B6 +// CHECK:STDOUT: 52: inst600000B7 +// CHECK:STDOUT: 53: inst600000B9 +// CHECK:STDOUT: 54: inst600000BA +// CHECK:STDOUT: 55: inst600000BB +// CHECK:STDOUT: 56: inst600000BC +// CHECK:STDOUT: 57: inst600000C0 +// CHECK:STDOUT: 58: inst600000C3 +// CHECK:STDOUT: 59: inst600000C4 +// CHECK:STDOUT: 60: inst600000C5 +// CHECK:STDOUT: 61: inst600000C6 +// CHECK:STDOUT: 62: inst600000C8 +// CHECK:STDOUT: 63: inst600000C9 +// CHECK:STDOUT: 64: inst600000CA +// CHECK:STDOUT: 65: inst600000D2 +// CHECK:STDOUT: 66: inst600000D3 +// CHECK:STDOUT: 67: inst600000D4 +// CHECK:STDOUT: 68: inst600000D5 +// CHECK:STDOUT: 69: inst600000D6 +// CHECK:STDOUT: 70: inst600000D7 +// CHECK:STDOUT: 71: inst600000D8 +// CHECK:STDOUT: 72: inst600000D9 +// CHECK:STDOUT: 73: inst600000DA +// CHECK:STDOUT: 74: inst600000DB +// CHECK:STDOUT: 75: inst600000DF +// CHECK:STDOUT: 76: inst600000E0 +// CHECK:STDOUT: 77: inst600000E2 +// CHECK:STDOUT: 78: inst600000E8 +// CHECK:STDOUT: 79: inst600000E9 +// CHECK:STDOUT: 80: inst600000EA +// CHECK:STDOUT: 81: inst600000EB +// CHECK:STDOUT: 82: inst600000ED +// CHECK:STDOUT: 83: inst600000EE +// CHECK:STDOUT: 84: inst600000EF +// CHECK:STDOUT: 85: inst600000F0 +// CHECK:STDOUT: 86: inst6000010F +// CHECK:STDOUT: 87: inst60000110 +// CHECK:STDOUT: 88: inst60000111 +// CHECK:STDOUT: 89: inst60000112 +// CHECK:STDOUT: 90: inst60000113 +// CHECK:STDOUT: 91: inst60000114 +// CHECK:STDOUT: 92: inst6000011E +// CHECK:STDOUT: 93: inst6000011F +// CHECK:STDOUT: 94: inst60000123 +// CHECK:STDOUT: 95: inst60000124 +// CHECK:STDOUT: 96: inst60000126 +// CHECK:STDOUT: 97: inst6000012C +// CHECK:STDOUT: 98: inst6000012D +// CHECK:STDOUT: 99: inst6000012E +// CHECK:STDOUT: 100: inst6000012F +// CHECK:STDOUT: 101: inst60000131 +// CHECK:STDOUT: 102: inst60000132 +// CHECK:STDOUT: 103: inst60000133 +// CHECK:STDOUT: 104: inst60000134 +// CHECK:STDOUT: 105: inst60000135 +// CHECK:STDOUT: 106: inst6000015C +// CHECK:STDOUT: 107: inst6000015D +// CHECK:STDOUT: 108: inst6000015E +// CHECK:STDOUT: 109: inst6000015F +// CHECK:STDOUT: 110: inst60000160 +// CHECK:STDOUT: 111: inst60000161 +// CHECK:STDOUT: 112: inst60000162 +// CHECK:STDOUT: 113: inst60000163 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000005: // CHECK:STDOUT: 0: inst60000013 +// CHECK:STDOUT: 1: inst60000015 // CHECK:STDOUT: inst_block60000006: -// CHECK:STDOUT: 0: inst60000019 -// CHECK:STDOUT: inst_block60000007: // CHECK:STDOUT: 0: inst6000001A -// CHECK:STDOUT: 1: inst6000001B +// CHECK:STDOUT: inst_block60000007: +// CHECK:STDOUT: 0: inst6000001B +// CHECK:STDOUT: 1: inst6000001C // CHECK:STDOUT: inst_block60000008: -// CHECK:STDOUT: 0: inst60000022 +// CHECK:STDOUT: 0: inst60000023 // CHECK:STDOUT: inst_block60000009: -// CHECK:STDOUT: 0: inst60000024 -// CHECK:STDOUT: 1: inst60000026 +// CHECK:STDOUT: 0: inst60000025 +// CHECK:STDOUT: 1: inst60000027 // CHECK:STDOUT: inst_block6000000A: // CHECK:STDOUT: 0: inst(TypeType) -// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 1: inst60000026 // CHECK:STDOUT: inst_block6000000B: -// CHECK:STDOUT: 0: inst6000001C -// CHECK:STDOUT: 1: inst60000027 +// CHECK:STDOUT: 0: inst6000001D +// CHECK:STDOUT: 1: inst60000028 // CHECK:STDOUT: inst_block6000000C: -// CHECK:STDOUT: 0: inst6000001D -// CHECK:STDOUT: 1: inst60000027 +// CHECK:STDOUT: 0: inst6000001E +// CHECK:STDOUT: 1: inst60000028 // CHECK:STDOUT: inst_block6000000D: -// CHECK:STDOUT: 0: inst6000001C -// CHECK:STDOUT: 1: inst6000002D -// CHECK:STDOUT: inst_block6000000E: -// CHECK:STDOUT: 0: inst6000001C -// CHECK:STDOUT: 1: inst60000025 -// CHECK:STDOUT: inst_block6000000F: // CHECK:STDOUT: 0: inst6000001D -// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 1: inst6000002E +// CHECK:STDOUT: inst_block6000000E: +// CHECK:STDOUT: 0: inst6000001D +// CHECK:STDOUT: 1: inst60000026 +// CHECK:STDOUT: inst_block6000000F: +// CHECK:STDOUT: 0: inst6000001E +// CHECK:STDOUT: 1: inst60000026 // CHECK:STDOUT: inst_block60000010: -// CHECK:STDOUT: 0: inst60000037 -// CHECK:STDOUT: inst_block60000011: -// CHECK:STDOUT: 0: inst60000022 -// CHECK:STDOUT: 1: inst60000037 -// CHECK:STDOUT: inst_block60000012: // CHECK:STDOUT: 0: inst60000038 -// CHECK:STDOUT: 1: inst6000003A -// CHECK:STDOUT: inst_block60000013: -// CHECK:STDOUT: 0: inst60000019 -// CHECK:STDOUT: 1: inst60000020 -// CHECK:STDOUT: 2: inst60000022 -// CHECK:STDOUT: 3: inst60000035 -// CHECK:STDOUT: 4: inst60000037 -// CHECK:STDOUT: inst_block60000014: +// CHECK:STDOUT: inst_block60000011: // CHECK:STDOUT: 0: inst60000023 -// CHECK:STDOUT: 1: inst60000024 -// CHECK:STDOUT: 2: inst60000026 -// CHECK:STDOUT: 3: inst60000029 -// CHECK:STDOUT: 4: inst6000002D -// CHECK:STDOUT: 5: inst6000002F -// CHECK:STDOUT: 6: inst60000031 -// CHECK:STDOUT: 7: inst60000013 -// CHECK:STDOUT: 8: inst60000015 -// CHECK:STDOUT: 9: inst60000038 -// CHECK:STDOUT: 10: inst60000039 -// CHECK:STDOUT: 11: inst6000001E -// CHECK:STDOUT: 12: inst6000003A -// CHECK:STDOUT: 13: inst6000003B -// CHECK:STDOUT: inst_block60000015: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: inst_block60000016: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: inst_block60000017: -// CHECK:STDOUT: 0: inst60000017 -// CHECK:STDOUT: 1: inst6000001D -// CHECK:STDOUT: 2: inst60000021 -// CHECK:STDOUT: 3: inst6000002B -// CHECK:STDOUT: 4: inst60000030 -// CHECK:STDOUT: 5: inst60000033 -// CHECK:STDOUT: 6: inst60000036 -// CHECK:STDOUT: inst_block60000018: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: 2: inst6000001F +// CHECK:STDOUT: 1: inst60000038 +// CHECK:STDOUT: inst_block60000012: +// CHECK:STDOUT: 0: inst6000003A +// CHECK:STDOUT: 1: inst6000003C +// CHECK:STDOUT: inst_block60000013: +// CHECK:STDOUT: 0: inst6000001A +// CHECK:STDOUT: 1: inst60000021 +// CHECK:STDOUT: 2: inst60000023 +// CHECK:STDOUT: 3: inst60000036 +// CHECK:STDOUT: 4: inst60000038 +// CHECK:STDOUT: inst_block60000014: +// CHECK:STDOUT: 0: inst60000024 +// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 2: inst60000027 // CHECK:STDOUT: 3: inst6000002A // CHECK:STDOUT: 4: inst6000002E -// CHECK:STDOUT: 5: inst60000032 -// CHECK:STDOUT: 6: inst60000034 +// CHECK:STDOUT: 5: inst60000030 +// CHECK:STDOUT: 6: inst60000032 +// CHECK:STDOUT: 7: inst60000039 +// CHECK:STDOUT: 8: inst60000016 +// CHECK:STDOUT: 9: inst6000003A +// CHECK:STDOUT: 10: inst6000003B +// CHECK:STDOUT: 11: inst6000001F +// CHECK:STDOUT: 12: inst6000003C +// CHECK:STDOUT: 13: inst6000003D +// CHECK:STDOUT: inst_block60000015: +// CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: inst_block60000016: +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: inst_block60000017: +// CHECK:STDOUT: 0: inst60000018 +// CHECK:STDOUT: 1: inst6000001E +// CHECK:STDOUT: 2: inst60000022 +// CHECK:STDOUT: 3: inst6000002C +// CHECK:STDOUT: 4: inst60000031 +// CHECK:STDOUT: 5: inst60000034 +// CHECK:STDOUT: 6: inst60000037 +// CHECK:STDOUT: inst_block60000018: +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst6000001D +// CHECK:STDOUT: 2: inst60000020 +// CHECK:STDOUT: 3: inst6000002B +// CHECK:STDOUT: 4: inst6000002F +// CHECK:STDOUT: 5: inst60000033 +// CHECK:STDOUT: 6: inst60000035 // CHECK:STDOUT: inst_block60000019: -// CHECK:STDOUT: 0: inst60000046 -// CHECK:STDOUT: 1: inst60000047 -// CHECK:STDOUT: 2: inst60000048 -// CHECK:STDOUT: 3: inst60000176 -// CHECK:STDOUT: 4: inst6000017C -// CHECK:STDOUT: 5: inst6000017D -// CHECK:STDOUT: 6: inst60000180 -// CHECK:STDOUT: 7: inst60000182 -// CHECK:STDOUT: 8: inst6000004A -// CHECK:STDOUT: 9: inst60000183 -// CHECK:STDOUT: 10: inst60000184 -// CHECK:STDOUT: 11: inst60000185 -// CHECK:STDOUT: 12: inst60000186 -// CHECK:STDOUT: 13: inst60000187 -// CHECK:STDOUT: 14: inst60000188 -// CHECK:STDOUT: 15: inst60000189 +// CHECK:STDOUT: 0: inst60000048 +// CHECK:STDOUT: 1: inst60000049 +// CHECK:STDOUT: 2: inst6000004A +// CHECK:STDOUT: 3: inst60000178 +// CHECK:STDOUT: 4: inst6000017E +// CHECK:STDOUT: 5: inst6000017F +// CHECK:STDOUT: 6: inst60000182 +// CHECK:STDOUT: 7: inst60000184 +// CHECK:STDOUT: 8: inst6000004C +// CHECK:STDOUT: 9: inst60000185 +// CHECK:STDOUT: 10: inst60000186 +// CHECK:STDOUT: 11: inst60000187 +// CHECK:STDOUT: 12: inst60000188 +// CHECK:STDOUT: 13: inst60000189 +// CHECK:STDOUT: 14: inst6000018A +// CHECK:STDOUT: 15: inst6000018B // CHECK:STDOUT: inst_block6000001A: -// CHECK:STDOUT: 0: inst60000046 -// CHECK:STDOUT: 1: inst60000047 +// CHECK:STDOUT: 0: inst60000048 +// CHECK:STDOUT: 1: inst60000049 // CHECK:STDOUT: inst_block6000001B: -// CHECK:STDOUT: 0: inst60000052 +// CHECK:STDOUT: 0: inst60000054 // CHECK:STDOUT: inst_block6000001C: -// CHECK:STDOUT: 0: inst60000053 +// CHECK:STDOUT: 0: inst60000055 // CHECK:STDOUT: inst_block6000001D: -// CHECK:STDOUT: 0: inst60000050 +// CHECK:STDOUT: 0: inst60000052 // CHECK:STDOUT: inst_block6000001E: -// CHECK:STDOUT: 0: inst60000050 -// CHECK:STDOUT: 1: inst60000055 -// CHECK:STDOUT: 2: inst60000056 -// CHECK:STDOUT: inst_block6000001F: -// CHECK:STDOUT: 0: inst6000005C -// CHECK:STDOUT: 1: inst6000005A -// CHECK:STDOUT: inst_block60000020: -// CHECK:STDOUT: 0: inst6000005C -// CHECK:STDOUT: inst_block60000021: -// CHECK:STDOUT: 0: inst6000005A -// CHECK:STDOUT: inst_block60000022: -// CHECK:STDOUT: 0: inst60000060 -// CHECK:STDOUT: inst_block60000023: -// CHECK:STDOUT: 0: inst60000061 -// CHECK:STDOUT: 1: inst60000062 -// CHECK:STDOUT: 2: inst60000063 -// CHECK:STDOUT: 3: inst60000064 -// CHECK:STDOUT: inst_block60000024: -// CHECK:STDOUT: 0: inst60000050 +// CHECK:STDOUT: 0: inst60000052 // CHECK:STDOUT: 1: inst60000057 // CHECK:STDOUT: 2: inst60000058 -// CHECK:STDOUT: 3: inst6000005D +// CHECK:STDOUT: inst_block6000001F: +// CHECK:STDOUT: 0: inst6000005E +// CHECK:STDOUT: 1: inst6000005C +// CHECK:STDOUT: inst_block60000020: +// CHECK:STDOUT: 0: inst6000005E +// CHECK:STDOUT: inst_block60000021: +// CHECK:STDOUT: 0: inst6000005C +// CHECK:STDOUT: inst_block60000022: +// CHECK:STDOUT: 0: inst60000062 +// CHECK:STDOUT: inst_block60000023: +// CHECK:STDOUT: 0: inst60000063 +// CHECK:STDOUT: 1: inst60000064 +// CHECK:STDOUT: 2: inst60000065 +// CHECK:STDOUT: 3: inst60000066 +// CHECK:STDOUT: inst_block60000024: +// CHECK:STDOUT: 0: inst60000052 +// CHECK:STDOUT: 1: inst60000059 +// CHECK:STDOUT: 2: inst6000005A +// CHECK:STDOUT: 3: inst6000005F // CHECK:STDOUT: inst_block60000025: -// CHECK:STDOUT: 0: inst60000065 +// CHECK:STDOUT: 0: inst60000067 // CHECK:STDOUT: inst_block60000026: -// CHECK:STDOUT: 0: inst60000065 -// CHECK:STDOUT: 1: inst60000066 -// CHECK:STDOUT: 2: inst60000067 +// CHECK:STDOUT: 0: inst60000067 +// CHECK:STDOUT: 1: inst60000068 +// CHECK:STDOUT: 2: inst60000069 // CHECK:STDOUT: inst_block60000027: -// CHECK:STDOUT: 0: inst60000072 +// CHECK:STDOUT: 0: inst60000074 // CHECK:STDOUT: inst_block60000028: -// CHECK:STDOUT: 0: inst6000006F +// CHECK:STDOUT: 0: inst60000071 // CHECK:STDOUT: inst_block60000029: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 -// CHECK:STDOUT: 2: inst60000071 -// CHECK:STDOUT: 3: inst60000074 +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst60000072 +// CHECK:STDOUT: 2: inst60000073 +// CHECK:STDOUT: 3: inst60000076 // CHECK:STDOUT: inst_block6000002A: -// CHECK:STDOUT: 0: inst60000076 -// CHECK:STDOUT: 1: inst60000077 +// CHECK:STDOUT: 0: inst60000078 +// CHECK:STDOUT: 1: inst60000079 // CHECK:STDOUT: inst_block6000002B: -// CHECK:STDOUT: 0: inst6000007C -// CHECK:STDOUT: 1: inst6000007A +// CHECK:STDOUT: 0: inst6000007E +// CHECK:STDOUT: 1: inst6000007C // CHECK:STDOUT: inst_block6000002C: -// CHECK:STDOUT: 0: inst6000007C +// CHECK:STDOUT: 0: inst6000007E // CHECK:STDOUT: inst_block6000002D: -// CHECK:STDOUT: 0: inst6000007A +// CHECK:STDOUT: 0: inst6000007C // CHECK:STDOUT: inst_block6000002E: -// CHECK:STDOUT: 0: inst60000080 +// CHECK:STDOUT: 0: inst60000082 // CHECK:STDOUT: inst_block6000002F: -// CHECK:STDOUT: 0: inst60000081 -// CHECK:STDOUT: 1: inst60000082 -// CHECK:STDOUT: 2: inst60000083 -// CHECK:STDOUT: 3: inst60000084 -// CHECK:STDOUT: 4: inst60000085 +// CHECK:STDOUT: 0: inst60000083 +// CHECK:STDOUT: 1: inst60000084 +// CHECK:STDOUT: 2: inst60000085 +// CHECK:STDOUT: 3: inst60000086 +// CHECK:STDOUT: 4: inst60000087 // CHECK:STDOUT: inst_block60000030: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000087 -// CHECK:STDOUT: 2: inst60000088 +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst60000089 +// CHECK:STDOUT: 2: inst6000008A // CHECK:STDOUT: inst_block60000031: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 -// CHECK:STDOUT: 2: inst6000008D -// CHECK:STDOUT: 3: inst6000008C +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst60000072 +// CHECK:STDOUT: 2: inst6000008F +// CHECK:STDOUT: 3: inst6000008E // CHECK:STDOUT: inst_block60000032: -// CHECK:STDOUT: 0: inst60000081 +// CHECK:STDOUT: 0: inst60000083 // CHECK:STDOUT: inst_block60000033: -// CHECK:STDOUT: 0: inst60000081 +// CHECK:STDOUT: 0: inst60000083 // CHECK:STDOUT: inst_block60000034: -// CHECK:STDOUT: 0: inst60000090 -// CHECK:STDOUT: 1: inst60000091 -// CHECK:STDOUT: 2: inst60000092 -// CHECK:STDOUT: 3: inst60000093 -// CHECK:STDOUT: 4: inst60000094 -// CHECK:STDOUT: 5: inst60000095 -// CHECK:STDOUT: 6: inst60000096 +// CHECK:STDOUT: 0: inst60000092 +// CHECK:STDOUT: 1: inst60000093 +// CHECK:STDOUT: 2: inst60000094 +// CHECK:STDOUT: 3: inst60000095 +// CHECK:STDOUT: 4: inst60000096 +// CHECK:STDOUT: 5: inst60000097 +// CHECK:STDOUT: 6: inst60000098 // CHECK:STDOUT: inst_block60000035: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 -// CHECK:STDOUT: 2: inst60000071 -// CHECK:STDOUT: 3: inst60000078 -// CHECK:STDOUT: 4: inst6000007D +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst60000072 +// CHECK:STDOUT: 2: inst60000073 +// CHECK:STDOUT: 3: inst6000007A +// CHECK:STDOUT: 4: inst6000007F // CHECK:STDOUT: inst_block60000036: -// CHECK:STDOUT: 0: inst60000098 +// CHECK:STDOUT: 0: inst6000009A // CHECK:STDOUT: inst_block60000037: -// CHECK:STDOUT: 0: inst6000009B +// CHECK:STDOUT: 0: inst6000009D // CHECK:STDOUT: inst_block60000038: -// CHECK:STDOUT: 0: inst6000009C +// CHECK:STDOUT: 0: inst6000009E // CHECK:STDOUT: inst_block60000039: -// CHECK:STDOUT: 0: inst6000009C -// CHECK:STDOUT: 1: inst6000009D -// CHECK:STDOUT: 2: inst6000009E -// CHECK:STDOUT: 3: inst6000009F +// CHECK:STDOUT: 0: inst6000009E +// CHECK:STDOUT: 1: inst6000009F +// CHECK:STDOUT: 2: inst600000A0 +// CHECK:STDOUT: 3: inst600000A1 // CHECK:STDOUT: inst_block6000003A: -// CHECK:STDOUT: 0: inst6000009C +// CHECK:STDOUT: 0: inst6000009E // CHECK:STDOUT: inst_block6000003B: -// CHECK:STDOUT: 0: inst600000A0 -// CHECK:STDOUT: 1: inst600000A1 +// CHECK:STDOUT: 0: inst600000A2 +// CHECK:STDOUT: 1: inst600000A3 // CHECK:STDOUT: inst_block6000003C: -// CHECK:STDOUT: 0: inst600000B4 +// CHECK:STDOUT: 0: inst600000B6 // CHECK:STDOUT: inst_block6000003D: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: 2: inst600000B6 +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst6000001D +// CHECK:STDOUT: 2: inst600000B8 // CHECK:STDOUT: inst_block6000003E: -// CHECK:STDOUT: 0: inst600000B7 +// CHECK:STDOUT: 0: inst600000B9 // CHECK:STDOUT: inst_block6000003F: -// CHECK:STDOUT: 0: inst600000BA +// CHECK:STDOUT: 0: inst600000BC // CHECK:STDOUT: inst_block60000040: -// CHECK:STDOUT: 0: inst600000BB +// CHECK:STDOUT: 0: inst600000BD // CHECK:STDOUT: inst_block60000041: -// CHECK:STDOUT: 0: inst600000BB -// CHECK:STDOUT: 1: inst600000BC -// CHECK:STDOUT: 2: inst600000BD +// CHECK:STDOUT: 0: inst600000BD +// CHECK:STDOUT: 1: inst600000BE +// CHECK:STDOUT: 2: inst600000BF // CHECK:STDOUT: inst_block60000042: -// CHECK:STDOUT: 0: inst600000C4 -// CHECK:STDOUT: 1: inst600000C2 +// CHECK:STDOUT: 0: inst600000C6 +// CHECK:STDOUT: 1: inst600000C4 // CHECK:STDOUT: inst_block60000043: -// CHECK:STDOUT: 0: inst600000C4 +// CHECK:STDOUT: 0: inst600000C6 // CHECK:STDOUT: inst_block60000044: -// CHECK:STDOUT: 0: inst600000C2 +// CHECK:STDOUT: 0: inst600000C4 // CHECK:STDOUT: inst_block60000045: -// CHECK:STDOUT: 0: inst600000C8 +// CHECK:STDOUT: 0: inst600000CA // CHECK:STDOUT: inst_block60000046: -// CHECK:STDOUT: 0: inst600000C9 -// CHECK:STDOUT: 1: inst600000CA -// CHECK:STDOUT: 2: inst600000CB -// CHECK:STDOUT: 3: inst600000CC +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC +// CHECK:STDOUT: 2: inst600000CD +// CHECK:STDOUT: 3: inst600000CE // CHECK:STDOUT: inst_block60000047: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: 2: inst6000001F -// CHECK:STDOUT: 3: inst600000C5 +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst6000001D +// CHECK:STDOUT: 2: inst60000020 +// CHECK:STDOUT: 3: inst600000C7 // CHECK:STDOUT: inst_block60000048: -// CHECK:STDOUT: 0: inst600000BB +// CHECK:STDOUT: 0: inst600000BD // CHECK:STDOUT: inst_block60000049: -// CHECK:STDOUT: 0: inst600000CD -// CHECK:STDOUT: 1: inst600000CE -// CHECK:STDOUT: 2: inst600000CF +// CHECK:STDOUT: 0: inst600000CF +// CHECK:STDOUT: 1: inst600000D0 +// CHECK:STDOUT: 2: inst600000D1 // CHECK:STDOUT: inst_block6000004A: -// CHECK:STDOUT: 0: inst60000070 -// CHECK:STDOUT: 1: inst600000DB +// CHECK:STDOUT: 0: inst60000072 +// CHECK:STDOUT: 1: inst600000DD // CHECK:STDOUT: inst_block6000004B: -// CHECK:STDOUT: 0: inst600000DD +// CHECK:STDOUT: 0: inst600000DF // CHECK:STDOUT: inst_block6000004C: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst600000DA +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst600000DC // CHECK:STDOUT: inst_block6000004D: -// CHECK:STDOUT: 0: inst6000004E -// CHECK:STDOUT: 1: inst6000004E +// CHECK:STDOUT: 0: inst60000050 +// CHECK:STDOUT: 1: inst60000050 // CHECK:STDOUT: inst_block6000004E: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst600000DA -// CHECK:STDOUT: 2: inst600000E4 -// CHECK:STDOUT: 3: inst60000070 -// CHECK:STDOUT: 4: inst600000DB -// CHECK:STDOUT: 5: inst600000DC -// CHECK:STDOUT: 6: inst600000DF +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst600000DC +// CHECK:STDOUT: 2: inst600000E6 +// CHECK:STDOUT: 3: inst60000072 +// CHECK:STDOUT: 4: inst600000DD +// CHECK:STDOUT: 5: inst600000DE +// CHECK:STDOUT: 6: inst600000E1 // CHECK:STDOUT: inst_block6000004F: -// CHECK:STDOUT: 0: inst600000E1 -// CHECK:STDOUT: 1: inst600000E2 +// CHECK:STDOUT: 0: inst600000E3 +// CHECK:STDOUT: 1: inst600000E4 // CHECK:STDOUT: inst_block60000050: -// CHECK:STDOUT: 0: inst600000E9 -// CHECK:STDOUT: 1: inst600000E7 +// CHECK:STDOUT: 0: inst600000EB +// CHECK:STDOUT: 1: inst600000E9 // CHECK:STDOUT: inst_block60000051: -// CHECK:STDOUT: 0: inst600000E9 +// CHECK:STDOUT: 0: inst600000EB // CHECK:STDOUT: inst_block60000052: -// CHECK:STDOUT: 0: inst600000E7 +// CHECK:STDOUT: 0: inst600000E9 // CHECK:STDOUT: inst_block60000053: -// CHECK:STDOUT: 0: inst600000ED -// CHECK:STDOUT: 1: inst600000EE -// CHECK:STDOUT: inst_block60000054: -// CHECK:STDOUT: 0: inst600000F0 -// CHECK:STDOUT: 1: inst600000F2 -// CHECK:STDOUT: inst_block60000055: // CHECK:STDOUT: 0: inst600000EF // CHECK:STDOUT: 1: inst600000F0 -// CHECK:STDOUT: 2: inst600000F1 -// CHECK:STDOUT: 3: inst600000F2 -// CHECK:STDOUT: 4: inst600000F3 -// CHECK:STDOUT: 5: inst600000F4 -// CHECK:STDOUT: 6: inst600000F5 +// CHECK:STDOUT: inst_block60000054: +// CHECK:STDOUT: 0: inst600000F2 +// CHECK:STDOUT: 1: inst600000F4 +// CHECK:STDOUT: inst_block60000055: +// CHECK:STDOUT: 0: inst600000F1 +// CHECK:STDOUT: 1: inst600000F2 +// CHECK:STDOUT: 2: inst600000F3 +// CHECK:STDOUT: 3: inst600000F4 +// CHECK:STDOUT: 4: inst600000F5 +// CHECK:STDOUT: 5: inst600000F6 +// CHECK:STDOUT: 6: inst600000F7 // CHECK:STDOUT: inst_block60000056: -// CHECK:STDOUT: 0: inst600000DA +// CHECK:STDOUT: 0: inst600000DC // CHECK:STDOUT: inst_block60000057: -// CHECK:STDOUT: 0: inst600000DA -// CHECK:STDOUT: 1: inst600000F7 -// CHECK:STDOUT: 2: inst600000F8 +// CHECK:STDOUT: 0: inst600000DC +// CHECK:STDOUT: 1: inst600000F9 +// CHECK:STDOUT: 2: inst600000FA // CHECK:STDOUT: inst_block60000058: -// CHECK:STDOUT: 0: inst600000DA -// CHECK:STDOUT: 1: inst600000DB -// CHECK:STDOUT: 2: inst600000FD -// CHECK:STDOUT: 3: inst600000FC +// CHECK:STDOUT: 0: inst600000DC +// CHECK:STDOUT: 1: inst600000DD +// CHECK:STDOUT: 2: inst600000FF +// CHECK:STDOUT: 3: inst600000FE // CHECK:STDOUT: inst_block60000059: -// CHECK:STDOUT: 0: inst600000EF +// CHECK:STDOUT: 0: inst600000F1 // CHECK:STDOUT: inst_block6000005A: -// CHECK:STDOUT: 0: inst600000EF +// CHECK:STDOUT: 0: inst600000F1 // CHECK:STDOUT: inst_block6000005B: -// CHECK:STDOUT: 0: inst600000F1 +// CHECK:STDOUT: 0: inst600000F3 // CHECK:STDOUT: inst_block6000005C: -// CHECK:STDOUT: 0: inst600000F1 +// CHECK:STDOUT: 0: inst600000F3 // CHECK:STDOUT: inst_block6000005D: -// CHECK:STDOUT: 0: inst60000100 -// CHECK:STDOUT: 1: inst60000101 -// CHECK:STDOUT: 2: inst60000102 -// CHECK:STDOUT: 3: inst60000103 -// CHECK:STDOUT: 4: inst60000104 -// CHECK:STDOUT: 5: inst60000105 -// CHECK:STDOUT: 6: inst60000106 -// CHECK:STDOUT: 7: inst60000107 -// CHECK:STDOUT: 8: inst60000108 -// CHECK:STDOUT: 9: inst60000109 -// CHECK:STDOUT: 10: inst6000010A -// CHECK:STDOUT: 11: inst6000010B -// CHECK:STDOUT: 12: inst6000010C +// CHECK:STDOUT: 0: inst60000102 +// CHECK:STDOUT: 1: inst60000103 +// CHECK:STDOUT: 2: inst60000104 +// CHECK:STDOUT: 3: inst60000105 +// CHECK:STDOUT: 4: inst60000106 +// CHECK:STDOUT: 5: inst60000107 +// CHECK:STDOUT: 6: inst60000108 +// CHECK:STDOUT: 7: inst60000109 +// CHECK:STDOUT: 8: inst6000010A +// CHECK:STDOUT: 9: inst6000010B +// CHECK:STDOUT: 10: inst6000010C +// CHECK:STDOUT: 11: inst6000010D +// CHECK:STDOUT: 12: inst6000010E // CHECK:STDOUT: inst_block6000005E: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 -// CHECK:STDOUT: 2: inst600000DA -// CHECK:STDOUT: 3: inst600000DB -// CHECK:STDOUT: 4: inst600000DC -// CHECK:STDOUT: 5: inst600000E5 -// CHECK:STDOUT: 6: inst600000EA +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst60000072 +// CHECK:STDOUT: 2: inst600000DC +// CHECK:STDOUT: 3: inst600000DD +// CHECK:STDOUT: 4: inst600000DE +// CHECK:STDOUT: 5: inst600000E7 +// CHECK:STDOUT: 6: inst600000EC // CHECK:STDOUT: inst_block6000005F: -// CHECK:STDOUT: 0: inst6000010E -// CHECK:STDOUT: 1: inst6000010D +// CHECK:STDOUT: 0: inst60000110 +// CHECK:STDOUT: 1: inst6000010F // CHECK:STDOUT: inst_block60000060: -// CHECK:STDOUT: 0: inst60000111 -// CHECK:STDOUT: 1: inst60000112 +// CHECK:STDOUT: 0: inst60000113 +// CHECK:STDOUT: 1: inst60000114 // CHECK:STDOUT: inst_block60000061: -// CHECK:STDOUT: 0: inst60000113 -// CHECK:STDOUT: 1: inst60000114 +// CHECK:STDOUT: 0: inst60000115 +// CHECK:STDOUT: 1: inst60000116 // CHECK:STDOUT: inst_block60000062: -// CHECK:STDOUT: 0: inst60000116 -// CHECK:STDOUT: 1: inst60000117 +// CHECK:STDOUT: 0: inst60000118 +// CHECK:STDOUT: 1: inst60000119 // CHECK:STDOUT: inst_block60000063: -// CHECK:STDOUT: 0: inst60000113 -// CHECK:STDOUT: 1: inst60000114 +// CHECK:STDOUT: 0: inst60000115 +// CHECK:STDOUT: 1: inst60000116 // CHECK:STDOUT: inst_block60000064: -// CHECK:STDOUT: 0: inst60000113 -// CHECK:STDOUT: 1: inst60000114 -// CHECK:STDOUT: 2: inst60000115 -// CHECK:STDOUT: 3: inst60000116 -// CHECK:STDOUT: 4: inst60000117 -// CHECK:STDOUT: 5: inst60000118 -// CHECK:STDOUT: 6: inst60000119 +// CHECK:STDOUT: 0: inst60000115 +// CHECK:STDOUT: 1: inst60000116 +// CHECK:STDOUT: 2: inst60000117 +// CHECK:STDOUT: 3: inst60000118 +// CHECK:STDOUT: 4: inst60000119 +// CHECK:STDOUT: 5: inst6000011A +// CHECK:STDOUT: 6: inst6000011B // CHECK:STDOUT: inst_block60000065: -// CHECK:STDOUT: 0: inst60000113 -// CHECK:STDOUT: 1: inst60000114 +// CHECK:STDOUT: 0: inst60000115 +// CHECK:STDOUT: 1: inst60000116 // CHECK:STDOUT: inst_block60000066: -// CHECK:STDOUT: 0: inst6000011A -// CHECK:STDOUT: 1: inst6000011B +// CHECK:STDOUT: 0: inst6000011C +// CHECK:STDOUT: 1: inst6000011D // CHECK:STDOUT: inst_block60000067: -// CHECK:STDOUT: 0: inst60000070 -// CHECK:STDOUT: 1: inst600000DB -// CHECK:STDOUT: 2: inst6000011F +// CHECK:STDOUT: 0: inst60000072 +// CHECK:STDOUT: 1: inst600000DD +// CHECK:STDOUT: 2: inst60000121 // CHECK:STDOUT: inst_block60000068: -// CHECK:STDOUT: 0: inst60000121 +// CHECK:STDOUT: 0: inst60000123 // CHECK:STDOUT: inst_block60000069: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst600000DA -// CHECK:STDOUT: 2: inst6000011E +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst600000DC +// CHECK:STDOUT: 2: inst60000120 // CHECK:STDOUT: inst_block6000006A: -// CHECK:STDOUT: 0: inst6000004E -// CHECK:STDOUT: 1: inst6000004E -// CHECK:STDOUT: 2: inst6000004E +// CHECK:STDOUT: 0: inst60000050 +// CHECK:STDOUT: 1: inst60000050 +// CHECK:STDOUT: 2: inst60000050 // CHECK:STDOUT: inst_block6000006B: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst600000DA -// CHECK:STDOUT: 2: inst6000011E -// CHECK:STDOUT: 3: inst60000128 -// CHECK:STDOUT: 4: inst60000070 -// CHECK:STDOUT: 5: inst600000DB -// CHECK:STDOUT: 6: inst6000011F -// CHECK:STDOUT: 7: inst60000120 -// CHECK:STDOUT: 8: inst60000123 +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst600000DC +// CHECK:STDOUT: 2: inst60000120 +// CHECK:STDOUT: 3: inst6000012A +// CHECK:STDOUT: 4: inst60000072 +// CHECK:STDOUT: 5: inst600000DD +// CHECK:STDOUT: 6: inst60000121 +// CHECK:STDOUT: 7: inst60000122 +// CHECK:STDOUT: 8: inst60000125 // CHECK:STDOUT: inst_block6000006C: -// CHECK:STDOUT: 0: inst60000125 -// CHECK:STDOUT: 1: inst60000126 +// CHECK:STDOUT: 0: inst60000127 +// CHECK:STDOUT: 1: inst60000128 // CHECK:STDOUT: inst_block6000006D: -// CHECK:STDOUT: 0: inst6000012D -// CHECK:STDOUT: 1: inst6000012B +// CHECK:STDOUT: 0: inst6000012F +// CHECK:STDOUT: 1: inst6000012D // CHECK:STDOUT: inst_block6000006E: -// CHECK:STDOUT: 0: inst6000012D +// CHECK:STDOUT: 0: inst6000012F // CHECK:STDOUT: inst_block6000006F: -// CHECK:STDOUT: 0: inst6000012B +// CHECK:STDOUT: 0: inst6000012D // CHECK:STDOUT: inst_block60000070: -// CHECK:STDOUT: 0: inst60000131 -// CHECK:STDOUT: 1: inst60000132 -// CHECK:STDOUT: 2: inst60000133 +// CHECK:STDOUT: 0: inst60000133 +// CHECK:STDOUT: 1: inst60000134 +// CHECK:STDOUT: 2: inst60000135 // CHECK:STDOUT: inst_block60000071: -// CHECK:STDOUT: 0: inst60000135 -// CHECK:STDOUT: 1: inst60000137 -// CHECK:STDOUT: 2: inst60000139 +// CHECK:STDOUT: 0: inst60000137 +// CHECK:STDOUT: 1: inst60000139 +// CHECK:STDOUT: 2: inst6000013B // CHECK:STDOUT: inst_block60000072: -// CHECK:STDOUT: 0: inst60000134 -// CHECK:STDOUT: 1: inst60000135 -// CHECK:STDOUT: 2: inst60000136 -// CHECK:STDOUT: 3: inst60000137 -// CHECK:STDOUT: 4: inst60000138 -// CHECK:STDOUT: 5: inst60000139 -// CHECK:STDOUT: 6: inst6000013A -// CHECK:STDOUT: 7: inst6000013B -// CHECK:STDOUT: 8: inst6000013C +// CHECK:STDOUT: 0: inst60000136 +// CHECK:STDOUT: 1: inst60000137 +// CHECK:STDOUT: 2: inst60000138 +// CHECK:STDOUT: 3: inst60000139 +// CHECK:STDOUT: 4: inst6000013A +// CHECK:STDOUT: 5: inst6000013B +// CHECK:STDOUT: 6: inst6000013C +// CHECK:STDOUT: 7: inst6000013D +// CHECK:STDOUT: 8: inst6000013E // CHECK:STDOUT: inst_block60000073: -// CHECK:STDOUT: 0: inst6000011E +// CHECK:STDOUT: 0: inst60000120 // CHECK:STDOUT: inst_block60000074: -// CHECK:STDOUT: 0: inst6000011E -// CHECK:STDOUT: 1: inst6000013E -// CHECK:STDOUT: 2: inst6000013F +// CHECK:STDOUT: 0: inst60000120 +// CHECK:STDOUT: 1: inst60000140 +// CHECK:STDOUT: 2: inst60000141 // CHECK:STDOUT: inst_block60000075: -// CHECK:STDOUT: 0: inst6000011E -// CHECK:STDOUT: 1: inst6000011F -// CHECK:STDOUT: 2: inst60000144 -// CHECK:STDOUT: 3: inst60000143 +// CHECK:STDOUT: 0: inst60000120 +// CHECK:STDOUT: 1: inst60000121 +// CHECK:STDOUT: 2: inst60000146 +// CHECK:STDOUT: 3: inst60000145 // CHECK:STDOUT: inst_block60000076: -// CHECK:STDOUT: 0: inst60000134 +// CHECK:STDOUT: 0: inst60000136 // CHECK:STDOUT: inst_block60000077: -// CHECK:STDOUT: 0: inst60000134 +// CHECK:STDOUT: 0: inst60000136 // CHECK:STDOUT: inst_block60000078: -// CHECK:STDOUT: 0: inst60000136 +// CHECK:STDOUT: 0: inst60000138 // CHECK:STDOUT: inst_block60000079: -// CHECK:STDOUT: 0: inst60000136 +// CHECK:STDOUT: 0: inst60000138 // CHECK:STDOUT: inst_block6000007A: -// CHECK:STDOUT: 0: inst60000138 +// CHECK:STDOUT: 0: inst6000013A // CHECK:STDOUT: inst_block6000007B: -// CHECK:STDOUT: 0: inst60000138 +// CHECK:STDOUT: 0: inst6000013A // CHECK:STDOUT: inst_block6000007C: -// CHECK:STDOUT: 0: inst60000147 -// CHECK:STDOUT: 1: inst60000148 -// CHECK:STDOUT: 2: inst60000149 -// CHECK:STDOUT: 3: inst6000014A -// CHECK:STDOUT: 4: inst6000014B -// CHECK:STDOUT: 5: inst6000014C -// CHECK:STDOUT: 6: inst6000014D -// CHECK:STDOUT: 7: inst6000014E -// CHECK:STDOUT: 8: inst6000014F -// CHECK:STDOUT: 9: inst60000150 -// CHECK:STDOUT: 10: inst60000151 -// CHECK:STDOUT: 11: inst60000152 -// CHECK:STDOUT: 12: inst60000153 -// CHECK:STDOUT: 13: inst60000154 -// CHECK:STDOUT: 14: inst60000155 -// CHECK:STDOUT: 15: inst60000156 -// CHECK:STDOUT: 16: inst60000157 -// CHECK:STDOUT: 17: inst60000158 -// CHECK:STDOUT: 18: inst60000159 +// CHECK:STDOUT: 0: inst60000149 +// CHECK:STDOUT: 1: inst6000014A +// CHECK:STDOUT: 2: inst6000014B +// CHECK:STDOUT: 3: inst6000014C +// CHECK:STDOUT: 4: inst6000014D +// CHECK:STDOUT: 5: inst6000014E +// CHECK:STDOUT: 6: inst6000014F +// CHECK:STDOUT: 7: inst60000150 +// CHECK:STDOUT: 8: inst60000151 +// CHECK:STDOUT: 9: inst60000152 +// CHECK:STDOUT: 10: inst60000153 +// CHECK:STDOUT: 11: inst60000154 +// CHECK:STDOUT: 12: inst60000155 +// CHECK:STDOUT: 13: inst60000156 +// CHECK:STDOUT: 14: inst60000157 +// CHECK:STDOUT: 15: inst60000158 +// CHECK:STDOUT: 16: inst60000159 +// CHECK:STDOUT: 17: inst6000015A +// CHECK:STDOUT: 18: inst6000015B // CHECK:STDOUT: inst_block6000007D: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 -// CHECK:STDOUT: 2: inst600000DA -// CHECK:STDOUT: 3: inst600000DB -// CHECK:STDOUT: 4: inst6000011E -// CHECK:STDOUT: 5: inst6000011F -// CHECK:STDOUT: 6: inst60000120 -// CHECK:STDOUT: 7: inst60000129 -// CHECK:STDOUT: 8: inst6000012E +// CHECK:STDOUT: 0: inst60000071 +// CHECK:STDOUT: 1: inst60000072 +// CHECK:STDOUT: 2: inst600000DC +// CHECK:STDOUT: 3: inst600000DD +// CHECK:STDOUT: 4: inst60000120 +// CHECK:STDOUT: 5: inst60000121 +// CHECK:STDOUT: 6: inst60000122 +// CHECK:STDOUT: 7: inst6000012B +// CHECK:STDOUT: 8: inst60000130 // CHECK:STDOUT: inst_block6000007E: -// CHECK:STDOUT: 0: inst6000015C -// CHECK:STDOUT: 1: inst6000015B -// CHECK:STDOUT: 2: inst6000015A +// CHECK:STDOUT: 0: inst6000015E +// CHECK:STDOUT: 1: inst6000015D +// CHECK:STDOUT: 2: inst6000015C // CHECK:STDOUT: inst_block6000007F: -// CHECK:STDOUT: 0: inst6000015F -// CHECK:STDOUT: 1: inst60000160 -// CHECK:STDOUT: 2: inst60000161 +// CHECK:STDOUT: 0: inst60000161 +// CHECK:STDOUT: 1: inst60000162 +// CHECK:STDOUT: 2: inst60000163 // CHECK:STDOUT: inst_block60000080: -// CHECK:STDOUT: 0: inst60000162 -// CHECK:STDOUT: 1: inst60000163 -// CHECK:STDOUT: 2: inst60000164 +// CHECK:STDOUT: 0: inst60000164 +// CHECK:STDOUT: 1: inst60000165 +// CHECK:STDOUT: 2: inst60000166 // CHECK:STDOUT: inst_block60000081: -// CHECK:STDOUT: 0: inst60000166 -// CHECK:STDOUT: 1: inst60000167 -// CHECK:STDOUT: 2: inst60000168 +// CHECK:STDOUT: 0: inst60000168 +// CHECK:STDOUT: 1: inst60000169 +// CHECK:STDOUT: 2: inst6000016A // CHECK:STDOUT: inst_block60000082: -// CHECK:STDOUT: 0: inst60000162 -// CHECK:STDOUT: 1: inst60000163 -// CHECK:STDOUT: 2: inst60000164 +// CHECK:STDOUT: 0: inst60000164 +// CHECK:STDOUT: 1: inst60000165 +// CHECK:STDOUT: 2: inst60000166 // CHECK:STDOUT: inst_block60000083: -// CHECK:STDOUT: 0: inst60000162 -// CHECK:STDOUT: 1: inst60000163 -// CHECK:STDOUT: 2: inst60000164 -// CHECK:STDOUT: 3: inst60000165 -// CHECK:STDOUT: 4: inst60000166 -// CHECK:STDOUT: 5: inst60000167 -// CHECK:STDOUT: 6: inst60000168 -// CHECK:STDOUT: 7: inst60000169 -// CHECK:STDOUT: 8: inst6000016A +// CHECK:STDOUT: 0: inst60000164 +// CHECK:STDOUT: 1: inst60000165 +// CHECK:STDOUT: 2: inst60000166 +// CHECK:STDOUT: 3: inst60000167 +// CHECK:STDOUT: 4: inst60000168 +// CHECK:STDOUT: 5: inst60000169 +// CHECK:STDOUT: 6: inst6000016A +// CHECK:STDOUT: 7: inst6000016B +// CHECK:STDOUT: 8: inst6000016C // CHECK:STDOUT: inst_block60000084: -// CHECK:STDOUT: 0: inst60000162 -// CHECK:STDOUT: 1: inst60000163 -// CHECK:STDOUT: 2: inst60000164 +// CHECK:STDOUT: 0: inst60000164 +// CHECK:STDOUT: 1: inst60000165 +// CHECK:STDOUT: 2: inst60000166 // CHECK:STDOUT: inst_block60000085: -// CHECK:STDOUT: 0: inst6000016B -// CHECK:STDOUT: 1: inst6000016C +// CHECK:STDOUT: 0: inst6000016D +// CHECK:STDOUT: 1: inst6000016E // CHECK:STDOUT: inst_block60000086: -// CHECK:STDOUT: 0: inst600000BF -// CHECK:STDOUT: 1: inst600000C0 -// CHECK:STDOUT: 2: inst60000040 +// CHECK:STDOUT: 0: inst600000C1 +// CHECK:STDOUT: 1: inst600000C2 +// CHECK:STDOUT: 2: inst60000042 // CHECK:STDOUT: inst_block60000087: -// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 0: inst60000018 // CHECK:STDOUT: inst_block60000088: -// CHECK:STDOUT: 0: inst60000170 +// CHECK:STDOUT: 0: inst60000172 // CHECK:STDOUT: inst_block60000089: -// CHECK:STDOUT: 0: inst60000172 +// CHECK:STDOUT: 0: inst60000174 // CHECK:STDOUT: inst_block6000008A: -// CHECK:STDOUT: 0: inst60000172 -// CHECK:STDOUT: 1: inst60000173 -// CHECK:STDOUT: 2: inst60000174 +// CHECK:STDOUT: 0: inst60000174 +// CHECK:STDOUT: 1: inst60000175 +// CHECK:STDOUT: 2: inst60000176 // CHECK:STDOUT: inst_block6000008B: -// CHECK:STDOUT: 0: inst60000171 +// CHECK:STDOUT: 0: inst60000173 // CHECK:STDOUT: inst_block6000008C: -// CHECK:STDOUT: 0: inst60000178 +// CHECK:STDOUT: 0: inst6000017A // CHECK:STDOUT: inst_block6000008D: -// CHECK:STDOUT: 0: inst60000172 -// CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: 2: inst6000001F -// CHECK:STDOUT: 3: inst600000C5 +// CHECK:STDOUT: 0: inst60000174 +// CHECK:STDOUT: 1: inst6000001D +// CHECK:STDOUT: 2: inst60000020 +// CHECK:STDOUT: 3: inst600000C7 // CHECK:STDOUT: inst_block6000008E: -// CHECK:STDOUT: 0: inst60000178 +// CHECK:STDOUT: 0: inst6000017A // CHECK:STDOUT: inst_block6000008F: -// CHECK:STDOUT: 0: inst60000046 +// CHECK:STDOUT: 0: inst60000048 // CHECK:STDOUT: inst_block60000090: -// CHECK:STDOUT: 0: inst60000183 -// CHECK:STDOUT: 1: inst60000186 +// CHECK:STDOUT: 0: inst60000185 +// CHECK:STDOUT: 1: inst60000188 // CHECK:STDOUT: inst_block60000091: -// CHECK:STDOUT: 0: inst60000041 -// CHECK:STDOUT: 1: inst60000045 -// CHECK:STDOUT: 2: inst6000016F -// CHECK:STDOUT: 3: inst60000171 -// CHECK:STDOUT: 4: inst60000178 -// CHECK:STDOUT: 5: inst60000179 -// CHECK:STDOUT: 6: inst6000017A -// CHECK:STDOUT: 7: inst6000017B -// CHECK:STDOUT: 8: inst6000017F +// CHECK:STDOUT: 0: inst60000043 +// CHECK:STDOUT: 1: inst60000047 +// CHECK:STDOUT: 2: inst60000171 +// CHECK:STDOUT: 3: inst60000173 +// CHECK:STDOUT: 4: inst6000017A +// CHECK:STDOUT: 5: inst6000017B +// CHECK:STDOUT: 6: inst6000017C +// CHECK:STDOUT: 7: inst6000017D +// CHECK:STDOUT: 8: inst60000181 // CHECK:STDOUT: inst_block60000092: // CHECK:STDOUT: 0: instF // CHECK:STDOUT: 1: inst60000010 -// CHECK:STDOUT: 2: inst6000003C +// CHECK:STDOUT: 2: inst6000003E // CHECK:STDOUT: value_stores: // CHECK:STDOUT: shared_values: // CHECK:STDOUT: ints: {} diff --git a/toolchain/check/testdata/builtins/float/convert_checked.carbon b/toolchain/check/testdata/builtins/float/convert_checked.carbon index b3a75d250843..b3baf7b7afad 100644 --- a/toolchain/check/testdata/builtins/float/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/float/convert_checked.carbon @@ -217,30 +217,21 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.0ae = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_8: type = splice_block %f64.loc6 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc6: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc6: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc6_39.1: %f64.d77 = value_of_initializer @__global_init.%FloatLiteralToFloat64.call.loc6 [concrete = constants.%float.0a8] // CHECK:STDOUT: %.loc6_39.2: %f64.d77 = converted @__global_init.%FloatLiteralToFloat64.call.loc6, %.loc6_39.1 [concrete = constants.%float.0a8] // CHECK:STDOUT: %a: %f64.d77 = value_binding a, %.loc6_39.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.0ae = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_8: type = splice_block %f64.loc7 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc7: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc7: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc7: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc7_39.1: %f64.d77 = value_of_initializer @__global_init.%FloatLiteralToFloat64.call.loc7 [concrete = constants.%float.d20] // CHECK:STDOUT: %.loc7_39.2: %f64.d77 = converted @__global_init.%FloatLiteralToFloat64.call.loc7, %.loc7_39.1 [concrete = constants.%float.d20] // CHECK:STDOUT: %b: %f64.d77 = value_binding b, %.loc7_39.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.0ae = value_binding_pattern c [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8_8: type = splice_block %f64.loc8 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc8: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc8: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc8: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc8_43.1: %f64.d77 = value_of_initializer @__global_init.%FloatLiteralToFloat64.call.loc8 [concrete = constants.%float.bde] // CHECK:STDOUT: %.loc8_43.2: %f64.d77 = converted @__global_init.%FloatLiteralToFloat64.call.loc8, %.loc8_43.1 [concrete = constants.%float.bde] // CHECK:STDOUT: %c: %f64.d77 = value_binding c, %.loc8_43.2 @@ -284,30 +275,21 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.201 = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_8: type = splice_block %f32.loc6 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc6: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc6: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc6_39.1: %f32.97e = value_of_initializer @__global_init.%FloatLiteralToFloat32.call.loc6 [concrete = constants.%float.4db] // CHECK:STDOUT: %.loc6_39.2: %f32.97e = converted @__global_init.%FloatLiteralToFloat32.call.loc6, %.loc6_39.1 [concrete = constants.%float.4db] // CHECK:STDOUT: %a: %f32.97e = value_binding a, %.loc6_39.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.201 = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_8: type = splice_block %f32.loc7 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc7: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc7: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc7_39.1: %f32.97e = value_of_initializer @__global_init.%FloatLiteralToFloat32.call.loc7 [concrete = constants.%float.e3b] // CHECK:STDOUT: %.loc7_39.2: %f32.97e = converted @__global_init.%FloatLiteralToFloat32.call.loc7, %.loc7_39.1 [concrete = constants.%float.e3b] // CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc7_39.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.201 = value_binding_pattern c [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8_8: type = splice_block %f32.loc8 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc8: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc8: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc8_42.1: %f32.97e = value_of_initializer @__global_init.%FloatLiteralToFloat32.call.loc8 [concrete = constants.%float.520] // CHECK:STDOUT: %.loc8_42.2: %f32.97e = converted @__global_init.%FloatLiteralToFloat32.call.loc8, %.loc8_42.1 [concrete = constants.%float.520] // CHECK:STDOUT: %c: %f32.97e = value_binding c, %.loc8_42.2 @@ -370,30 +352,21 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.0ae = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_8: type = splice_block %f64.loc6 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc6: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc6: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc6_34.1: %f64.d77 = value_of_initializer @__global_init.%Float64ToFloat64.call.loc6 [concrete = constants.%float.0a8] // CHECK:STDOUT: %.loc6_34.2: %f64.d77 = converted @__global_init.%Float64ToFloat64.call.loc6, %.loc6_34.1 [concrete = constants.%float.0a8] // CHECK:STDOUT: %a: %f64.d77 = value_binding a, %.loc6_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.0ae = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_8: type = splice_block %f64.loc7 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc7: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc7: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc7: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc7_34.1: %f64.d77 = value_of_initializer @__global_init.%Float64ToFloat64.call.loc7 [concrete = constants.%float.d20] // CHECK:STDOUT: %.loc7_34.2: %f64.d77 = converted @__global_init.%Float64ToFloat64.call.loc7, %.loc7_34.1 [concrete = constants.%float.d20] // CHECK:STDOUT: %b: %f64.d77 = value_binding b, %.loc7_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.0ae = value_binding_pattern c [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8_8: type = splice_block %f64.loc8 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc8: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc8: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc8: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc8_38.1: %f64.d77 = value_of_initializer @__global_init.%Float64ToFloat64.call.loc8 [concrete = constants.%float.bde] // CHECK:STDOUT: %.loc8_38.2: %f64.d77 = converted @__global_init.%Float64ToFloat64.call.loc8, %.loc8_38.1 [concrete = constants.%float.bde] // CHECK:STDOUT: %c: %f64.d77 = value_binding c, %.loc8_38.2 @@ -477,30 +450,21 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.201 = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_8: type = splice_block %f32.loc6 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc6: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc6: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc6_34.1: %f32.97e = value_of_initializer @__global_init.%Float32ToFloat32.call.loc6 [concrete = constants.%float.4db] // CHECK:STDOUT: %.loc6_34.2: %f32.97e = converted @__global_init.%Float32ToFloat32.call.loc6, %.loc6_34.1 [concrete = constants.%float.4db] // CHECK:STDOUT: %a: %f32.97e = value_binding a, %.loc6_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.201 = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_8: type = splice_block %f32.loc7 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc7: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc7: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc7_34.1: %f32.97e = value_of_initializer @__global_init.%Float32ToFloat32.call.loc7 [concrete = constants.%float.e3b] // CHECK:STDOUT: %.loc7_34.2: %f32.97e = converted @__global_init.%Float32ToFloat32.call.loc7, %.loc7_34.1 [concrete = constants.%float.e3b] // CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc7_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.201 = value_binding_pattern c [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8_8: type = splice_block %f32.loc8 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc8: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc8: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc8_37.1: %f32.97e = value_of_initializer @__global_init.%Float32ToFloat32.call.loc8 [concrete = constants.%float.520] // CHECK:STDOUT: %.loc8_37.2: %f32.97e = converted @__global_init.%Float32ToFloat32.call.loc8, %.loc8_37.1 [concrete = constants.%float.520] // CHECK:STDOUT: %c: %f32.97e = value_binding c, %.loc8_37.2 @@ -579,10 +543,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.201 = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_8: type = splice_block %f32 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc6_34.1: %f32.97e = value_of_initializer @__global_init.%Float64ToFloat32.call [concrete = constants.%float.e3b] // CHECK:STDOUT: %.loc6_34.2: %f32.97e = converted @__global_init.%Float64ToFloat32.call, %.loc6_34.1 [concrete = constants.%float.e3b] // CHECK:STDOUT: %a: %f32.97e = value_binding a, %.loc6_34.2 @@ -649,30 +610,21 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.201 = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc11_8: type = splice_block %f32.loc11 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc11: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc11: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc11_37.1: %f32.97e = value_of_initializer @__global_init.%Float64ToFloat32.call [concrete = ] // CHECK:STDOUT: %.loc11_37.2: %f32.97e = converted @__global_init.%Float64ToFloat32.call, %.loc11_37.1 [concrete = ] // CHECK:STDOUT: %a: %f32.97e = value_binding a, %.loc11_37.2 [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.201 = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc16_8: type = splice_block %f32.loc16 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc16: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc16: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %.loc16_42.1: %f32.97e = value_of_initializer @__global_init.%FloatLiteralToFloat32.call [concrete = ] // CHECK:STDOUT: %.loc16_42.2: %f32.97e = converted @__global_init.%FloatLiteralToFloat32.call, %.loc16_42.1 [concrete = ] // CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc16_42.2 [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.0ae = value_binding_pattern c [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc21_8: type = splice_block %f64 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc21_43.1: %f64.d77 = value_of_initializer @__global_init.%FloatLiteralToFloat64.call [concrete = ] // CHECK:STDOUT: %.loc21_43.2: %f64.d77 = converted @__global_init.%FloatLiteralToFloat64.call, %.loc21_43.1 [concrete = ] // CHECK:STDOUT: %c: %f64.d77 = value_binding c, %.loc21_43.2 [concrete = ] @@ -742,20 +694,14 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.0ae = value_binding_pattern a [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_8: type = splice_block %f64.loc6 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc6: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc6: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc6_34.1: %f64.d77 = value_of_initializer @__global_init.%Float32ToFloat64.call.loc6 [concrete = constants.%float.d20] // CHECK:STDOUT: %.loc6_34.2: %f64.d77 = converted @__global_init.%Float32ToFloat64.call.loc6, %.loc6_34.1 [concrete = constants.%float.d20] // CHECK:STDOUT: %a: %f64.d77 = value_binding a, %.loc6_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.0ae = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_8: type = splice_block %f64.loc7 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc7: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc7: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc7: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc7_37.1: %f64.d77 = value_of_initializer @__global_init.%Float32ToFloat64.call.loc7 [concrete = constants.%float.6a7] // CHECK:STDOUT: %.loc7_37.2: %f64.d77 = converted @__global_init.%Float32ToFloat64.call.loc7, %.loc7_37.1 [concrete = constants.%float.6a7] // CHECK:STDOUT: %b: %f64.d77 = value_binding b, %.loc7_37.2 @@ -821,10 +767,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %not_constant_64.patt: %pattern_type.0ae = value_binding_pattern not_constant_64 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_22: type = splice_block %f64.loc6 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc6: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc6: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc6: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %impl.elem0: %.6c5 = impl_witness_access constants.%ImplicitAs.impl_witness.cb2, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.239] // CHECK:STDOUT: %bound_method.loc6_28.1: = bound_method @__global_init.%float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -836,10 +779,7 @@ let convert_not_constant: f64 = Float64ToFloat64(not_constant_64); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %convert_not_constant.patt: %pattern_type.0ae = value_binding_pattern convert_not_constant [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc15_27: type = splice_block %f64.loc15 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc15: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc15: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc15: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc15_65.1: %f64.d77 = value_of_initializer @__global_init.%Float64ToFloat64.call // CHECK:STDOUT: %.loc15_65.2: %f64.d77 = converted @__global_init.%Float64ToFloat64.call, %.loc15_65.1 // CHECK:STDOUT: %convert_not_constant: %f64.d77 = value_binding convert_not_constant, %.loc15_65.2 diff --git a/toolchain/check/testdata/builtins/int/convert_checked.carbon b/toolchain/check/testdata/builtins/int/convert_checked.carbon index 89fc9fd8028a..46abc9c0510b 100644 --- a/toolchain/check/testdata/builtins/int/convert_checked.carbon +++ b/toolchain/check/testdata/builtins/int/convert_checked.carbon @@ -313,30 +313,21 @@ let convert_not_constant_widen: i64 = Int32ToInt64(not_constant); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %SizePreserving.patt: %pattern_type.4a9 = value_binding_pattern SizePreserving [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc6_21: type = splice_block %u32 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc6_42.1: %u32 = value_of_initializer @__global_init.%Int32ToUint32.call [concrete = constants.%int_1.c1d] // CHECK:STDOUT: %.loc6_42.2: %u32 = converted @__global_init.%Int32ToUint32.call, %.loc6_42.1 [concrete = constants.%int_1.c1d] // CHECK:STDOUT: %SizePreserving: %u32 = value_binding SizePreserving, %.loc6_42.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %Narrowing.patt: %pattern_type.88f = value_binding_pattern Narrowing [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7_16: type = splice_block %i16 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %.loc7_36.1: %i16 = value_of_initializer @__global_init.%Int32ToInt16.call [concrete = constants.%int_1.c22] // CHECK:STDOUT: %.loc7_36.2: %i16 = converted @__global_init.%Int32ToInt16.call, %.loc7_36.1 [concrete = constants.%int_1.c22] // CHECK:STDOUT: %Narrowing: %i16 = value_binding Narrowing, %.loc7_36.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %Widening.patt: %pattern_type.a10 = value_binding_pattern Widening [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8_15: type = splice_block %i64 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %.loc8_35.1: %i64 = value_of_initializer @__global_init.%Int32ToInt64.call [concrete = constants.%int_1.a95] // CHECK:STDOUT: %.loc8_35.2: %i64 = converted @__global_init.%Int32ToInt64.call, %.loc8_35.1 [concrete = constants.%int_1.a95] // CHECK:STDOUT: %Widening: %i64 = value_binding Widening, %.loc8_35.2 diff --git a/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon b/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon index 88a65125cd4f..d13477a66004 100644 --- a/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon +++ b/toolchain/check/testdata/builtins/maybe_unformed/make_type.carbon @@ -108,11 +108,13 @@ fn ColonBangParam(T:! type) -> type = "maybe_unformed.make_type"; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %t.patt: %pattern_type = value_binding_pattern t [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc7: type = converted @__global_init.%.loc7, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %t: type = value_binding t, %.loc7 +// CHECK:STDOUT: %.loc7_8: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc7_16: type = converted @__global_init.%.loc7, constants.%empty_struct_type [concrete = constants.%empty_struct_type] +// CHECK:STDOUT: %t: type = value_binding t, %.loc7_16 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %u.patt: %pattern_type = value_binding_pattern u [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %.loc8_8: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc8_21.1: type = value_of_initializer @__global_init.%Make.call // CHECK:STDOUT: %.loc8_21.2: type = converted @__global_init.%Make.call, %.loc8_21.1 // CHECK:STDOUT: %u: type = value_binding u, %.loc8_21.2 diff --git a/toolchain/check/testdata/builtins/pointer/is_null.carbon b/toolchain/check/testdata/builtins/pointer/is_null.carbon index 07ae72dba7dc..ccbe7af5a644 100644 --- a/toolchain/check/testdata/builtins/pointer/is_null.carbon +++ b/toolchain/check/testdata/builtins/pointer/is_null.carbon @@ -96,8 +96,6 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: %ptr.c28: type = ptr_type %empty_struct_type [concrete] // CHECK:STDOUT: %.b2d: type = maybe_unformed_type %ptr.c28 [concrete] // CHECK:STDOUT: %pattern_type.b42: type = pattern_type %.b2d [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %.fff: Core.Form = init_form bool, call_param1 [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %IsNullEmptyStruct.type: type = fn_type @IsNullEmptyStruct [concrete] @@ -120,10 +118,8 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc11_45.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc11_45.2: type = converted %Bool.call, %.loc11_45.1 [concrete = bool] -// CHECK:STDOUT: %.loc11_45.3: Core.Form = init_form %.loc11_45.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc11_45.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc11_45.2: Core.Form = init_form %.loc11_45.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %s.param: %.b2d = value_param call_param0 // CHECK:STDOUT: %.loc11_39.1: type = splice_block %.loc11_39.3 [concrete = constants.%.b2d] { // CHECK:STDOUT: %MakeUnformed.ref: %MakeUnformed.type = name_ref MakeUnformed, file.%MakeUnformed.decl [concrete = constants.%MakeUnformed] @@ -144,10 +140,8 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_34.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc15_34.2: type = converted %Bool.call, %.loc15_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc15_34.3: Core.Form = init_form %.loc15_34.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc15_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc15_34.2: Core.Form = init_form %.loc15_34.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %c.param: %.edf = value_param call_param0 // CHECK:STDOUT: %.loc15_28.1: type = splice_block %.loc15_28.3 [concrete = constants.%.edf] { // CHECK:STDOUT: %MakeUnformed.ref: %MakeUnformed.type = name_ref MakeUnformed, file.%MakeUnformed.decl [concrete = constants.%MakeUnformed] @@ -184,8 +178,6 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: constants { // CHECK:STDOUT: %MakeUnformed.type: type = fn_type @MakeUnformed [concrete] // CHECK:STDOUT: %MakeUnformed: %MakeUnformed.type = struct_value () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %.fff: Core.Form = init_form bool, call_param1 [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %IsNull.type: type = fn_type @IsNull [concrete] @@ -214,10 +206,8 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_45.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc10_45.2: type = converted %Bool.call, %.loc10_45.1 [concrete = bool] -// CHECK:STDOUT: %.loc10_45.3: Core.Form = init_form %.loc10_45.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc10_45.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc10_45.2: Core.Form = init_form %.loc10_45.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %s.param: %.b2d = value_param call_param0 // CHECK:STDOUT: %.loc10_39.1: type = splice_block %.loc10_39.3 [concrete = constants.%.b2d] { // CHECK:STDOUT: %MakeUnformed.ref: %MakeUnformed.type = name_ref MakeUnformed, file.%MakeUnformed.decl [concrete = constants.%MakeUnformed] @@ -238,10 +228,8 @@ fn NotPointer(p: MakeUnformed({})) -> bool = "pointer.is_null"; // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc14_34.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc14_34.2: type = converted %Bool.call, %.loc14_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc14_34.3: Core.Form = init_form %.loc14_34.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc14_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc14_34.2: Core.Form = init_form %.loc14_34.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %c.param: %.edf = value_param call_param0 // CHECK:STDOUT: %.loc14_28.1: type = splice_block %.loc14_28.3 [concrete = constants.%.edf] { // CHECK:STDOUT: %MakeUnformed.ref: %MakeUnformed.type = name_ref MakeUnformed, file.%MakeUnformed.decl [concrete = constants.%MakeUnformed] diff --git a/toolchain/check/testdata/builtins/read/char.carbon b/toolchain/check/testdata/builtins/read/char.carbon index f0800716c9d6..999c62d69ce5 100644 --- a/toolchain/check/testdata/builtins/read/char.carbon +++ b/toolchain/check/testdata/builtins/read/char.carbon @@ -56,10 +56,7 @@ fn Main() { // CHECK:STDOUT: } // CHECK:STDOUT: %ReadChar.ref.loc8: %ReadChar.type.c36 = name_ref ReadChar, file.%ReadChar.decl [concrete = constants.%ReadChar.6ad] // CHECK:STDOUT: %ReadChar.call.loc8: init %i32 = call %ReadChar.ref.loc8() -// CHECK:STDOUT: %.loc8_17: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_32.1: %i32 = value_of_initializer %ReadChar.call.loc8 // CHECK:STDOUT: %.loc8_32.2: %i32 = converted %ReadChar.call.loc8, %.loc8_32.1 // CHECK:STDOUT: %n: %i32 = value_binding n, %.loc8_32.2 @@ -69,10 +66,7 @@ fn Main() { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ReadChar.ref.loc9: %ReadChar.type.9f3 = name_ref ReadChar, imports.%Core.ReadChar [concrete = constants.%ReadChar.01f] // CHECK:STDOUT: %ReadChar.call.loc9: init %i32 = call %ReadChar.ref.loc9() -// CHECK:STDOUT: %.loc9_17: type = splice_block %i32.loc9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_37.1: %i32 = value_of_initializer %ReadChar.call.loc9 // CHECK:STDOUT: %.loc9_37.2: %i32 = converted %ReadChar.call.loc9, %.loc9_37.1 // CHECK:STDOUT: %m: %i32 = value_binding m, %.loc9_37.2 diff --git a/toolchain/check/testdata/choice/basic.carbon b/toolchain/check/testdata/choice/basic.carbon index 89583de98dc9..507a697255a7 100644 --- a/toolchain/check/testdata/choice/basic.carbon +++ b/toolchain/check/testdata/choice/basic.carbon @@ -225,8 +225,6 @@ let never: Never = {}; // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Ordering { -// CHECK:STDOUT: %int_2.loc9: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %u2: type = class_type @UInt, @UInt(constants.%int_2.ecc) [concrete = constants.%u2] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.discriminant [concrete = constants.%complete_type.de2] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %impl.elem0.loc5_7.1: %.055 = impl_witness_access constants.%ImplicitAs.impl_witness.762, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0ed] @@ -272,14 +270,14 @@ let never: Never = {}; // CHECK:STDOUT: %.loc6_13.9: ref %Ordering = converted %.loc6_13.3, %.loc6_13.8 // CHECK:STDOUT: %.loc6_13.10: %Ordering = acquire_value %.loc6_13.9 // CHECK:STDOUT: %Equivalent: %Ordering = value_binding Equivalent, %.loc6_13.10 -// CHECK:STDOUT: %int_2.loc7: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] +// CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %impl.elem0.loc7_10.1: %.055 = impl_witness_access constants.%ImplicitAs.impl_witness.762, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0ed] -// CHECK:STDOUT: %bound_method.loc7_10.1: = bound_method %int_2.loc7, %impl.elem0.loc7_10.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.c76] +// CHECK:STDOUT: %bound_method.loc7_10.1: = bound_method %int_2, %impl.elem0.loc7_10.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.c76] // CHECK:STDOUT: %specific_fn.loc7_10.1: = specific_function %impl.elem0.loc7_10.1, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_2.ecc) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] -// CHECK:STDOUT: %bound_method.loc7_10.2: = bound_method %int_2.loc7, %specific_fn.loc7_10.1 [concrete = constants.%bound_method.c5b] -// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7: init %u2 = call %bound_method.loc7_10.2(%int_2.loc7) [concrete = constants.%int_2.788] +// CHECK:STDOUT: %bound_method.loc7_10.2: = bound_method %int_2, %specific_fn.loc7_10.1 [concrete = constants.%bound_method.c5b] +// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7: init %u2 = call %bound_method.loc7_10.2(%int_2) [concrete = constants.%int_2.788] // CHECK:STDOUT: %.loc7_10.1: %u2 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc7 [concrete = constants.%int_2.788] -// CHECK:STDOUT: %.loc7_10.2: %u2 = converted %int_2.loc7, %.loc7_10.1 [concrete = constants.%int_2.788] +// CHECK:STDOUT: %.loc7_10.2: %u2 = converted %int_2, %.loc7_10.1 [concrete = constants.%int_2.788] // CHECK:STDOUT: %.loc7_10.3: %struct_type.discriminant = struct_literal (%.loc7_10.2) [concrete = constants.%struct.6e6] // CHECK:STDOUT: %impl.elem0.loc7_10.2: %.a82 = impl_witness_access constants.%Copy.impl_witness.a32, element0 [concrete = constants.%UInt.as.Copy.impl.Op.b2d] // CHECK:STDOUT: %bound_method.loc7_10.3: = bound_method %.loc7_10.2, %impl.elem0.loc7_10.2 [concrete = constants.%UInt.as.Copy.impl.Op.bound.f0c] diff --git a/toolchain/check/testdata/choice/generic.carbon b/toolchain/check/testdata/choice/generic.carbon index 2ebde43bab57..c8afa03840c3 100644 --- a/toolchain/check/testdata/choice/generic.carbon +++ b/toolchain/check/testdata/choice/generic.carbon @@ -37,7 +37,10 @@ choice Always(T:! type) { // CHECK:STDOUT: %Always.decl: %Always.type = class_decl @Always [concrete = constants.%Always.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc14_19.1: type = splice_block %.loc14_19.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc14_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/access/access_modifers.carbon b/toolchain/check/testdata/class/access/access_modifers.carbon index 9b9641526e5b..5b9a3a04b10e 100644 --- a/toolchain/check/testdata/class/access/access_modifers.carbon +++ b/toolchain/check/testdata/class/access/access_modifers.carbon @@ -228,17 +228,13 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Circle { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %Circle.elem = field_decl radius, element0 [concrete] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %SOME_INTERNAL_CONSTANT.patt: %pattern_type.7ce = value_binding_pattern SOME_INTERNAL_CONSTANT [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc6_39: type = splice_block %i32.loc6 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc6_45.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.005] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -251,8 +247,7 @@ class A { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -324,10 +319,7 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %circle.ref.loc26: %Circle = name_ref circle, %circle // CHECK:STDOUT: %radius.ref.loc26: = name_ref radius, [concrete = ] -// CHECK:STDOUT: %.loc26: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %radius: %i32 = value_binding radius, [concrete = ] // CHECK:STDOUT: %circle.ref.loc34: %Circle = name_ref circle, %circle // CHECK:STDOUT: %radius.ref.loc34: = name_ref radius, [concrete = ] @@ -381,8 +373,7 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %A.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x [concrete = constants.%complete_type.1ec] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -399,10 +390,7 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: %x.ref: = name_ref x, [concrete = ] -// CHECK:STDOUT: %.loc16: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: %i32 = value_binding x, [concrete = ] // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -485,8 +473,7 @@ class A { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Circle { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %Circle.elem = field_decl radius, element0 [concrete] // CHECK:STDOUT: %Circle.GetRadius.decl: %Circle.GetRadius.type = fn_decl @Circle.GetRadius [concrete = constants.%Circle.GetRadius] { // CHECK:STDOUT: %self.patt: %pattern_type.fcb = value_binding_pattern self [concrete] @@ -494,8 +481,7 @@ class A { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %Circle = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Circle [concrete = constants.%Circle] @@ -507,8 +493,7 @@ class A { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -519,8 +504,7 @@ class A { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %Circle = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Circle [concrete = constants.%Circle] @@ -627,10 +611,7 @@ class A { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = value_binding_pattern x [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc8: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: %i32 = value_binding x, @__global_init.%x.ref // CHECK:STDOUT: } // CHECK:STDOUT: @@ -639,10 +620,7 @@ class A { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = value_binding_pattern x [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc5_10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc5_16.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -721,18 +699,12 @@ class A { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = value_binding_pattern x [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: %i32 = value_binding x, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = value_binding_pattern y [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc24: type = splice_block %i32.loc24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: %i32 = value_binding y, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -741,10 +713,7 @@ class A { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = value_binding_pattern x [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5.loc5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc5_20: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc5: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc5_26.1: = bound_method %int_5.loc5, %impl.elem0.loc5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -757,10 +726,7 @@ class A { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = value_binding_pattern y [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5.loc6: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc6_18: type = splice_block %i32.loc6 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc6: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc6_24.1: = bound_method %int_5.loc6, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/class/access/inheritance_access.carbon b/toolchain/check/testdata/class/access/inheritance_access.carbon index a1ef377acd9d..75bd5753c0af 100644 --- a/toolchain/check/testdata/class/access/inheritance_access.carbon +++ b/toolchain/check/testdata/class/access/inheritance_access.carbon @@ -344,11 +344,9 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Shape { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %Shape.elem = field_decl x, element0 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %Shape.elem = field_decl y, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x.y [concrete = constants.%complete_type.70a] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -368,10 +366,8 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.511 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.511 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc12_36: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12_36: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc12_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc12_36: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc12_41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc12_44.1: %tuple.type.24b = tuple_literal (%i32.loc12_36, %i32.loc12_41) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc12_44.2: type = converted %.loc12_44.1, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %.loc12_44.3: Core.Form = init_form %.loc12_44.2, call_param1 [concrete = constants.%.97a] @@ -500,8 +496,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -644,10 +639,7 @@ class B { // CHECK:STDOUT: %SOME_CONSTANT.patt: %pattern_type.7ce = value_binding_pattern SOME_CONSTANT [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc5_32: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc5_38.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -660,8 +652,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -683,8 +674,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -693,8 +683,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -786,8 +775,7 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Shape { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %Shape.elem = field_decl y, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.y [concrete = constants.%complete_type.0f9] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -806,8 +794,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %Square = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Square [concrete = constants.%Square] @@ -1112,10 +1099,7 @@ class B { // CHECK:STDOUT: %SOME_PRIVATE_CONSTANT.patt: %pattern_type.7ce = value_binding_pattern SOME_PRIVATE_CONSTANT [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_86: Core.IntLiteral = int_value 86 [concrete = constants.%int_86.bd3] -// CHECK:STDOUT: %.loc11_38: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc11_44.1: = bound_method %int_86, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -1145,8 +1129,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1344,10 +1327,7 @@ class B { // CHECK:STDOUT: %SOME_PROTECTED_CONSTANT.patt: %pattern_type.7ce = value_binding_pattern SOME_PROTECTED_CONSTANT [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5.loc5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc5_42: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc5: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc5_48.1: = bound_method %int_5.loc5, %impl.elem0.loc5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem0.loc5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -1360,10 +1340,7 @@ class B { // CHECK:STDOUT: %SOME_PRIVATE_CONSTANT.patt: %pattern_type.7ce = value_binding_pattern SOME_PRIVATE_CONSTANT [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5.loc6: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc6_38: type = splice_block %i32.loc6 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc6: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc6_44.1: = bound_method %int_5.loc6, %impl.elem0.loc6 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem0.loc6, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -1386,10 +1363,7 @@ class B { // CHECK:STDOUT: %INTERNAL_CONSTANT.patt: %pattern_type.7ce = value_binding_pattern INTERNAL_CONSTANT [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] -// CHECK:STDOUT: %.loc10_36: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc10_42.1: = bound_method %int_5, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -1413,8 +1387,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1425,8 +1398,7 @@ class B { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc36: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %B = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%B [concrete = constants.%B] @@ -1506,8 +1478,7 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %A.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x [concrete = constants.%complete_type.1ec] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -1589,8 +1560,7 @@ class B { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @A { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %A.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x [concrete = constants.%complete_type.1ec] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/access/todo_access_modifiers.carbon b/toolchain/check/testdata/class/access/todo_access_modifiers.carbon index f2d7c10ff35f..99c67100ac44 100644 --- a/toolchain/check/testdata/class/access/todo_access_modifiers.carbon +++ b/toolchain/check/testdata/class/access/todo_access_modifiers.carbon @@ -61,11 +61,9 @@ class Access { // CHECK:STDOUT: class @Access { // CHECK:STDOUT: %Access.F.decl: %Access.F.type = fn_decl @Access.F [concrete = constants.%Access.F] {} {} // CHECK:STDOUT: %Access.G.decl: %Access.G.type = fn_decl @Access.G [concrete = constants.%Access.G] {} {} -// 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: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21: %Access.elem = field_decl k, element0 [concrete] -// CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc23: %Access.elem = field_decl l, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.k.l [concrete = constants.%complete_type.48a] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/adapter/adapt.carbon b/toolchain/check/testdata/class/adapter/adapt.carbon index 91a6f336002c..c6cd7ef397fb 100644 --- a/toolchain/check/testdata/class/adapter/adapt.carbon +++ b/toolchain/check/testdata/class/adapter/adapt.carbon @@ -106,11 +106,9 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @SomeClass { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %SomeClass.elem = field_decl a, element0 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %SomeClass.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -133,10 +131,8 @@ interface I { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @StructAdapter { -// CHECK:STDOUT: %int_32.loc14_14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc14_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc14_14: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc14_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b] // CHECK:STDOUT: adapt_decl %struct_type.a.b [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b [concrete = constants.%complete_type.705] @@ -256,8 +252,7 @@ interface I { // CHECK:STDOUT: interface_with_self_decl @I [concrete] // CHECK:STDOUT: // CHECK:STDOUT: !with Self: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = %Self @@ -268,8 +263,7 @@ interface I { // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/adapter/adapt_copy.carbon b/toolchain/check/testdata/class/adapter/adapt_copy.carbon index 60955abf0127..955b0cadc4b5 100644 --- a/toolchain/check/testdata/class/adapter/adapt_copy.carbon +++ b/toolchain/check/testdata/class/adapter/adapt_copy.carbon @@ -243,16 +243,14 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %return.param_patt: %pattern_type.87f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptCopyable.ref.loc27_41: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] -// CHECK:STDOUT: %int_32.loc27_56: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc27_56: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc27_56: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc27_59.1: %tuple.type.24b = tuple_literal (%AdaptCopyable.ref.loc27_41, %u32.loc27_56) [concrete = constants.%tuple.fd0] // CHECK:STDOUT: %.loc27_59.2: type = converted %.loc27_59.1, constants.%tuple.type.d78 [concrete = constants.%tuple.type.d78] // CHECK:STDOUT: %.loc27_59.3: Core.Form = init_form %.loc27_59.2, call_param1 [concrete = constants.%.382] // CHECK:STDOUT: %c.param: %tuple.type.d78 = value_param call_param0 // CHECK:STDOUT: %.loc27_34.1: type = splice_block %.loc27_34.3 [concrete = constants.%tuple.type.d78] { // CHECK:STDOUT: %AdaptCopyable.ref.loc27_16: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] -// CHECK:STDOUT: %int_32.loc27_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc27_31: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc27_31: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc27_34.2: %tuple.type.24b = tuple_literal (%AdaptCopyable.ref.loc27_16, %u32.loc27_31) [concrete = constants.%tuple.fd0] // CHECK:STDOUT: %.loc27_34.3: type = converted %.loc27_34.2, constants.%tuple.type.d78 [concrete = constants.%tuple.type.d78] // CHECK:STDOUT: } @@ -263,8 +261,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptCopyable { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: adapt_decl %i32 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%i32.builtin [concrete = constants.%complete_type.f8a] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -305,8 +302,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: assign %d.var, // CHECK:STDOUT: %.loc35_29.1: type = splice_block %.loc35_29.3 [concrete = constants.%tuple.type.d78] { // CHECK:STDOUT: %AdaptCopyable.ref.loc35: type = name_ref AdaptCopyable, file.%AdaptCopyable.decl [concrete = constants.%AdaptCopyable] -// CHECK:STDOUT: %int_32.loc35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc35: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc35: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc35_29.2: %tuple.type.24b = tuple_literal (%AdaptCopyable.ref.loc35, %u32.loc35) [concrete = constants.%tuple.fd0] // CHECK:STDOUT: %.loc35_29.3: type = converted %.loc35_29.2, constants.%tuple.type.d78 [concrete = constants.%tuple.type.d78] // CHECK:STDOUT: } @@ -423,16 +419,14 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %return.param_patt: %pattern_type.6f4 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptTuple.ref.loc13_38: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] -// CHECK:STDOUT: %int_32.loc13_50: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc13_50: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc13_50: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc13_53.1: %tuple.type.24b = tuple_literal (%AdaptTuple.ref.loc13_38, %u32.loc13_50) [concrete = constants.%tuple.b75] // CHECK:STDOUT: %.loc13_53.2: type = converted %.loc13_53.1, constants.%tuple.type.3c7 [concrete = constants.%tuple.type.3c7] // CHECK:STDOUT: %.loc13_53.3: Core.Form = init_form %.loc13_53.2, call_param1 [concrete = constants.%.626] // CHECK:STDOUT: %c.param: %tuple.type.3c7 = value_param call_param0 // CHECK:STDOUT: %.loc13_31.1: type = splice_block %.loc13_31.3 [concrete = constants.%tuple.type.3c7] { // CHECK:STDOUT: %AdaptTuple.ref.loc13_16: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] -// CHECK:STDOUT: %int_32.loc13_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc13_28: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc13_28: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc13_31.2: %tuple.type.24b = tuple_literal (%AdaptTuple.ref.loc13_16, %u32.loc13_28) [concrete = constants.%tuple.b75] // CHECK:STDOUT: %.loc13_31.3: type = converted %.loc13_31.2, constants.%tuple.type.3c7 [concrete = constants.%tuple.type.3c7] // CHECK:STDOUT: } @@ -443,10 +437,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptTuple { -// CHECK:STDOUT: %int_32.loc5_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc5_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_10: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_18: %tuple.type.24b = tuple_literal (%i32.loc5_10, %i32.loc5_15) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc5_19: type = converted %.loc5_18, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: adapt_decl %.loc5_19 [concrete] @@ -564,8 +556,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: assign %d.var, %.loc14_3 // CHECK:STDOUT: %.loc14_26.1: type = splice_block %.loc14_26.3 [concrete = constants.%tuple.type.3c7] { // CHECK:STDOUT: %AdaptTuple.ref.loc14: type = name_ref AdaptTuple, file.%AdaptTuple.decl [concrete = constants.%AdaptTuple] -// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc14: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc14: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc14_26.2: %tuple.type.24b = tuple_literal (%AdaptTuple.ref.loc14, %u32.loc14) [concrete = constants.%tuple.b75] // CHECK:STDOUT: %.loc14_26.3: type = converted %.loc14_26.2, constants.%tuple.type.3c7 [concrete = constants.%tuple.type.3c7] // CHECK:STDOUT: } @@ -794,11 +785,9 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptNoncopyableIndirect { -// CHECK:STDOUT: %int_32.loc9_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Noncopyable.ref: type = name_ref Noncopyable, file.%Noncopyable.decl [concrete = constants.%Noncopyable] -// CHECK:STDOUT: %int_32.loc9_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_31: %tuple.type.ff9 = tuple_literal (%i32.loc9_10, %Noncopyable.ref, %i32.loc9_28) [concrete = constants.%tuple.19a] // CHECK:STDOUT: %.loc9_32: type = converted %.loc9_31, constants.%tuple.type.7f9 [concrete = constants.%tuple.type.7f9] // CHECK:STDOUT: adapt_decl %.loc9_32 [concrete] @@ -954,16 +943,14 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: %return.param_patt: %pattern_type.b13 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %AdaptStruct.ref.loc13_39: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] -// CHECK:STDOUT: %int_32.loc13_52: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc13_52: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc13_52: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc13_55.1: %tuple.type.24b = tuple_literal (%AdaptStruct.ref.loc13_39, %u32.loc13_52) [concrete = constants.%tuple.556] // CHECK:STDOUT: %.loc13_55.2: type = converted %.loc13_55.1, constants.%tuple.type.691 [concrete = constants.%tuple.type.691] // CHECK:STDOUT: %.loc13_55.3: Core.Form = init_form %.loc13_55.2, call_param1 [concrete = constants.%.d13] // CHECK:STDOUT: %c.param: %tuple.type.691 = value_param call_param0 // CHECK:STDOUT: %.loc13_32.1: type = splice_block %.loc13_32.3 [concrete = constants.%tuple.type.691] { // CHECK:STDOUT: %AdaptStruct.ref.loc13_16: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] -// CHECK:STDOUT: %int_32.loc13_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc13_29: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc13_29: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc13_32.2: %tuple.type.24b = tuple_literal (%AdaptStruct.ref.loc13_16, %u32.loc13_29) [concrete = constants.%tuple.556] // CHECK:STDOUT: %.loc13_32.3: type = converted %.loc13_32.2, constants.%tuple.type.691 [concrete = constants.%tuple.type.691] // CHECK:STDOUT: } @@ -974,10 +961,8 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptStruct { -// CHECK:STDOUT: %int_32.loc5_14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc5_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_14: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.e.f: type = struct_type {.e: %i32, .f: %i32} [concrete = constants.%struct_type.e.f] // CHECK:STDOUT: adapt_decl %struct_type.e.f [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.e.f [concrete = constants.%complete_type.511] @@ -1094,8 +1079,7 @@ fn InTuple(c: (AdaptStruct, u32)) -> (AdaptStruct, u32) { // CHECK:STDOUT: assign %d.var, %.loc14_3 // CHECK:STDOUT: %.loc14_27.1: type = splice_block %.loc14_27.3 [concrete = constants.%tuple.type.691] { // CHECK:STDOUT: %AdaptStruct.ref.loc14: type = name_ref AdaptStruct, file.%AdaptStruct.decl [concrete = constants.%AdaptStruct] -// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc14: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc14: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc14_27.2: %tuple.type.24b = tuple_literal (%AdaptStruct.ref.loc14, %u32.loc14) [concrete = constants.%tuple.556] // CHECK:STDOUT: %.loc14_27.3: type = converted %.loc14_27.2, constants.%tuple.type.691 [concrete = constants.%tuple.type.691] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/adapter/extend_adapt.carbon b/toolchain/check/testdata/class/adapter/extend_adapt.carbon index 1fc9046c75a9..2917ae217936 100644 --- a/toolchain/check/testdata/class/adapter/extend_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/extend_adapt.carbon @@ -220,11 +220,9 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @SomeClass { -// 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: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7: %SomeClass.elem = field_decl a, element0 [concrete] -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: %SomeClass.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %SomeClass.StaticMemberFunction.decl: %SomeClass.StaticMemberFunction.type = fn_decl @SomeClass.StaticMemberFunction [concrete = constants.%SomeClass.StaticMemberFunction] {} {} // CHECK:STDOUT: %SomeClass.AdapterMethod.decl: %SomeClass.AdapterMethod.type = fn_decl @SomeClass.AdapterMethod [concrete = constants.%SomeClass.AdapterMethod] { @@ -405,8 +403,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %SomeClassAdapter = value_param call_param0 // CHECK:STDOUT: %SomeClassAdapter.ref: type = name_ref SomeClassAdapter, file.%SomeClassAdapter.decl [concrete = constants.%SomeClassAdapter] @@ -417,11 +414,9 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @SomeClass { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %SomeClass.elem = field_decl a, element0 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %SomeClass.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -494,8 +489,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %StructAdapter = value_param call_param0 // CHECK:STDOUT: %StructAdapter.ref: type = name_ref StructAdapter, file.%StructAdapter.decl [concrete = constants.%StructAdapter] @@ -506,10 +500,8 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @StructAdapter { -// CHECK:STDOUT: %int_32.loc5_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc5_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_21: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b] // CHECK:STDOUT: adapt_decl %struct_type.a.b [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b [concrete = constants.%complete_type.705] @@ -571,8 +563,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %TupleAdapter = value_param call_param0 // CHECK:STDOUT: %TupleAdapter.ref: type = name_ref TupleAdapter, file.%TupleAdapter.decl [concrete = constants.%TupleAdapter] @@ -583,10 +574,8 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @TupleAdapter { -// CHECK:STDOUT: %int_32.loc5_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc5_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_17: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_25: %tuple.type.24b = tuple_literal (%i32.loc5_17, %i32.loc5_22) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc5_26: type = converted %.loc5_25, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: adapt_decl %.loc5_26 [concrete] @@ -654,7 +643,8 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4_37: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc4_37.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc4_37.2: Core.Form = init_form %.loc4_37.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc4_31.1: type = splice_block %.loc4_31.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -674,8 +664,7 @@ fn F(a: IntAdapter) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %IntAdapter = value_param call_param0 // CHECK:STDOUT: %IntAdapter.ref: type = name_ref IntAdapter, file.%IntAdapter.decl [concrete = constants.%IntAdapter] diff --git a/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon b/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon index 1d749bdca182..0938ea55aac3 100644 --- a/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon +++ b/toolchain/check/testdata/class/adapter/fail_adapt_with_subobjects.carbon @@ -122,8 +122,7 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptWithBase { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: adapt_decl %i32 [concrete] // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc15: %AdaptWithBase.elem = base_decl %Base.ref, element [concrete] @@ -170,11 +169,9 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptWithField { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: adapt_decl %i32.loc8 [concrete] -// 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: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13: %AdaptWithField.elem = field_decl n, element [concrete] // CHECK:STDOUT: complete_type_witness = // CHECK:STDOUT: @@ -184,17 +181,13 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @AdaptWithFields { -// 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: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: adapt_decl %i32.loc20 [concrete] -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: %AdaptWithFields.elem = field_decl a, element [concrete] -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc26: %AdaptWithFields.elem = field_decl b, element [concrete] -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc27: %AdaptWithFields.elem = field_decl c, element [concrete] // CHECK:STDOUT: complete_type_witness = // CHECK:STDOUT: @@ -252,8 +245,7 @@ class AdaptWithBaseAndFields { // CHECK:STDOUT: class @AdaptWithBaseAndFields { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc7: %AdaptWithBaseAndFields.elem.43f = base_decl %Base.ref, element [concrete] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: %AdaptWithBaseAndFields.elem.37a = field_decl n, element [concrete] // CHECK:STDOUT: %.loc16_10: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %.loc16_11: type = converted %.loc16_10, constants.%empty_struct_type [concrete = constants.%empty_struct_type] diff --git a/toolchain/check/testdata/class/adapter/init_adapt.carbon b/toolchain/check/testdata/class/adapter/init_adapt.carbon index 49b98e6e6dfd..37ee096a2710 100644 --- a/toolchain/check/testdata/class/adapter/init_adapt.carbon +++ b/toolchain/check/testdata/class/adapter/init_adapt.carbon @@ -242,11 +242,9 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %C.elem = field_decl a, element0 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %C.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.501 [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -450,11 +448,9 @@ var e: C = MakeAdaptC(); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %C.elem = field_decl a, element0 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %C.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.501 [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/basic.carbon b/toolchain/check/testdata/class/basic.carbon index d9c3101c13fe..be1d839ec068 100644 --- a/toolchain/check/testdata/class/basic.carbon +++ b/toolchain/check/testdata/class/basic.carbon @@ -111,14 +111,10 @@ fn Run() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc25_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc25_23: Core.Form = init_form %i32.loc25_23, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc25_23: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc25: Core.Form = init_form %i32.loc25_23, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %n.param.loc25: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc25_15: type = splice_block %i32.loc25_15 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25_15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n.loc25: %i32 = value_binding n, %n.param.loc25 // CHECK:STDOUT: %return.param.loc25: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return.loc25: ref %i32 = return_slot %return.param.loc25 @@ -127,14 +123,11 @@ fn Run() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc29: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { @@ -144,14 +137,10 @@ fn Run() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc16_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc16_19: Core.Form = init_form %i32.loc16_19, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc16_19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc16: Core.Form = init_form %i32.loc16_19, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc16_11: type = splice_block %i32.loc16_11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -162,20 +151,15 @@ fn Run() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc20_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc20_19: Core.Form = init_form %i32.loc20_19, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc20_19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc20: Core.Form = init_form %i32.loc20_19, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %n.param.loc20: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc20_11: type = splice_block %i32.loc20_11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc20_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc20_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n.loc20: %i32 = value_binding n, %n.param.loc20 // CHECK:STDOUT: %return.param.loc20: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return.loc20: ref %i32 = return_slot %return.param.loc20 // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22: %Class.elem = field_decl k, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.k [concrete = constants.%complete_type.954] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/complete_in_member_fn.carbon b/toolchain/check/testdata/class/complete_in_member_fn.carbon index 372c3d8afedd..0e1d988e17fc 100644 --- a/toolchain/check/testdata/class/complete_in_member_fn.carbon +++ b/toolchain/check/testdata/class/complete_in_member_fn.carbon @@ -76,8 +76,7 @@ class C { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_17: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %c.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -85,8 +84,7 @@ class C { // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: %C.elem = field_decl a, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a [concrete = constants.%complete_type.fd7] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/destroy_calls.carbon b/toolchain/check/testdata/class/destroy_calls.carbon index 796fc9bca7e4..59619aaa9242 100644 --- a/toolchain/check/testdata/class/destroy_calls.carbon +++ b/toolchain/check/testdata/class/destroy_calls.carbon @@ -354,7 +354,10 @@ fn G() { F({}); } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0, template [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc6_19.1: type = splice_block %.loc6_19.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc6_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_15.2: type = symbolic_binding T, 0, template [template = %T.loc6_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/field/comp_time_field.carbon b/toolchain/check/testdata/class/field/comp_time_field.carbon index cd2bc4ab4435..29e4309dd97b 100644 --- a/toolchain/check/testdata/class/field/comp_time_field.carbon +++ b/toolchain/check/testdata/class/field/comp_time_field.carbon @@ -77,13 +77,19 @@ var x: Class = {}; // CHECK:STDOUT: %A.patt: %pattern_type = value_binding_pattern A [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref.loc9: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_11.1: type = splice_block %.loc9_11.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_11.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %A: type = value_binding A, %Class.ref.loc9 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %B.patt: %pattern_type = value_binding_pattern B [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.ref.loc15: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_20.1: type = splice_block %.loc15_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %B: type = value_binding B, %Class.ref.loc15 // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/field/compound_field.carbon b/toolchain/check/testdata/class/field/compound_field.carbon index 2d8a87f83faa..1b659b9e9450 100644 --- a/toolchain/check/testdata/class/field/compound_field.carbon +++ b/toolchain/check/testdata/class/field/compound_field.carbon @@ -130,8 +130,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc28: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %d.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref.loc28: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] @@ -145,8 +144,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc32: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %d.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] @@ -160,8 +158,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc36_45: type = ptr_type %i32 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc36_45: Core.Form = init_form %ptr.loc36_45, call_param1 [concrete = constants.%.85d] // CHECK:STDOUT: %p.param: %ptr.f74 = value_param call_param0 @@ -179,8 +176,7 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc40_42: type = ptr_type %i32 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc40_42: Core.Form = init_form %ptr.loc40_42, call_param1 [concrete = constants.%.85d] // CHECK:STDOUT: %p.param: %ptr.f74 = value_param call_param0 @@ -195,14 +191,11 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Base.elem = field_decl a, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Base.elem = field_decl b, element1 [concrete] -// CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: %Base.elem = field_decl c, element2 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.c [concrete = constants.%complete_type.ebc] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -217,11 +210,9 @@ fn AccessBaseIndirect(p: Derived*) -> i32* { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc22: %Derived.elem.029 = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc24: %Derived.elem.530 = field_decl d, element1 [concrete] -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: %Derived.elem.530 = field_decl e, element2 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.base.d.e.b4b [concrete = constants.%complete_type.ea9] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/field/field_access.carbon b/toolchain/check/testdata/class/field/field_access.carbon index ba0c8577578f..8dc9b199453c 100644 --- a/toolchain/check/testdata/class/field/field_access.carbon +++ b/toolchain/check/testdata/class/field/field_access.carbon @@ -111,11 +111,9 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Class.elem = field_decl j, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Class.elem = field_decl k, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.j.k [concrete = constants.%complete_type.cf7] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -172,10 +170,7 @@ fn Run() { // CHECK:STDOUT: %bound_method.loc24_25.2: = bound_method %.loc24_25.2, %specific_fn.loc24 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc24: init %i32 = call %bound_method.loc24_25.2(%.loc24_25.2) // CHECK:STDOUT: assign %cj.var, %Int.as.Copy.impl.Op.call.loc24 -// CHECK:STDOUT: %.loc24_18: type = splice_block %i32.loc24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %cj: ref %i32 = ref_binding cj, %cj.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ck.patt: %pattern_type.7ce = ref_binding_pattern ck [concrete] @@ -192,10 +187,7 @@ fn Run() { // CHECK:STDOUT: %bound_method.loc25_25.2: = bound_method %.loc25_25.2, %specific_fn.loc25 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc25: init %i32 = call %bound_method.loc25_25.2(%.loc25_25.2) // CHECK:STDOUT: assign %ck.var, %Int.as.Copy.impl.Op.call.loc25 -// CHECK:STDOUT: %.loc25_18: type = splice_block %i32.loc25 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ck: ref %i32 = ref_binding ck, %ck.var // CHECK:STDOUT: %DestroyOp.bound.loc25: = bound_method %ck.var, constants.%DestroyOp.b0ebf8.1 // CHECK:STDOUT: %DestroyOp.call.loc25: init %empty_tuple.type = call %DestroyOp.bound.loc25(%ck.var) diff --git a/toolchain/check/testdata/class/field/field_access_in_value.carbon b/toolchain/check/testdata/class/field/field_access_in_value.carbon index dcc5716779e5..86ab8f14418c 100644 --- a/toolchain/check/testdata/class/field/field_access_in_value.carbon +++ b/toolchain/check/testdata/class/field/field_access_in_value.carbon @@ -112,11 +112,9 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Class.elem = field_decl j, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Class.elem = field_decl k, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.j.k [concrete = constants.%complete_type.cf7] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -180,10 +178,7 @@ fn Test() { // CHECK:STDOUT: %bound_method.loc25_25.2: = bound_method %.loc25_25.2, %specific_fn.loc25 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc25: init %i32 = call %bound_method.loc25_25.2(%.loc25_25.2) // CHECK:STDOUT: assign %cj.var, %Int.as.Copy.impl.Op.call.loc25 -// CHECK:STDOUT: %.loc25_18: type = splice_block %i32.loc25 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %cj: ref %i32 = ref_binding cj, %cj.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %ck.patt: %pattern_type.7ce = ref_binding_pattern ck [concrete] @@ -200,10 +195,7 @@ fn Test() { // CHECK:STDOUT: %bound_method.loc26_25.2: = bound_method %.loc26_25.2, %specific_fn.loc26 // CHECK:STDOUT: %Int.as.Copy.impl.Op.call.loc26: init %i32 = call %bound_method.loc26_25.2(%.loc26_25.2) // CHECK:STDOUT: assign %ck.var, %Int.as.Copy.impl.Op.call.loc26 -// CHECK:STDOUT: %.loc26_18: type = splice_block %i32.loc26 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ck: ref %i32 = ref_binding ck, %ck.var // CHECK:STDOUT: %DestroyOp.bound.loc26: = bound_method %ck.var, constants.%DestroyOp.b0ebf8.1 // CHECK:STDOUT: %DestroyOp.call.loc26: init %empty_tuple.type = call %DestroyOp.bound.loc26(%ck.var) diff --git a/toolchain/check/testdata/class/generic/adapt.carbon b/toolchain/check/testdata/class/generic/adapt.carbon index d33c53180ebc..0ff9b6491e0c 100644 --- a/toolchain/check/testdata/class/generic/adapt.carbon +++ b/toolchain/check/testdata/class/generic/adapt.carbon @@ -192,7 +192,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Adapter.decl: type = class_decl @Adapter [concrete = constants.%Adapter] {} {} @@ -202,8 +205,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc12: Core.Form = init_form %i32.loc12, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Adapter = value_param call_param0 // CHECK:STDOUT: %Adapter.ref: type = name_ref Adapter, file.%Adapter.decl [concrete = constants.%Adapter] @@ -238,8 +240,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: class @Adapter { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.b13] // CHECK:STDOUT: adapt_decl %C [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x.ed6 [concrete = constants.%complete_type.1ec] @@ -254,8 +255,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %Adapter = name_ref a, %a // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// 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: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.b13] // CHECK:STDOUT: %.loc13_13.1: %C.b13 = as_compatible %a.ref // CHECK:STDOUT: %.loc13_13.2: %C.b13 = converted %a.ref, %.loc13_13.1 @@ -364,8 +364,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.501 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.501 = out_param_pattern %return.patt, call_param1 [concrete] // 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: Core.Form = init_form %i32.loc6, call_param1 [concrete = constants.%.bb0] // CHECK:STDOUT: %a.param: %Adapter = value_param call_param0 // CHECK:STDOUT: %Adapter.ref: type = name_ref Adapter, imports.%Main.Adapter [concrete = constants.%Adapter] @@ -405,8 +404,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %Adapter = name_ref a, %a // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C.generic] -// 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: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.829] // CHECK:STDOUT: %.loc7_13.1: %C.829 = as_compatible %a.ref // CHECK:STDOUT: %.loc7_13.2: %C.829 = converted %a.ref, %.loc7_13.1 @@ -492,7 +490,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Adapter.decl: type = class_decl @Adapter [concrete = constants.%Adapter] {} {} @@ -502,8 +503,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc12: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Adapter = value_param call_param0 // CHECK:STDOUT: %Adapter.ref: type = name_ref Adapter, file.%Adapter.decl [concrete = constants.%Adapter] @@ -538,8 +538,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: class @Adapter { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.b13] // CHECK:STDOUT: adapt_decl %C [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x.ed6 [concrete = constants.%complete_type.1ec] @@ -622,7 +621,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_13.1: type = splice_block %.loc7_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Adapter.decl: type = class_decl @Adapter [concrete = constants.%Adapter] {} {} @@ -653,8 +655,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: class @Adapter { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.b13] // CHECK:STDOUT: adapt_decl %C [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x.ed6 [concrete = constants.%complete_type.1ec] @@ -746,8 +747,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.501 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.501 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: Core.Form = init_form %i32, call_param1 [concrete = constants.%.bb0] // CHECK:STDOUT: %a.param: %Adapter = value_param call_param0 // CHECK:STDOUT: %Adapter.ref: type = name_ref Adapter, imports.%Main.Adapter [concrete = constants.%Adapter] @@ -870,7 +870,10 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %Adapter.decl: %Adapter.type = class_decl @Adapter [concrete = constants.%Adapter.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Convert.decl: %Convert.type = fn_decl @Convert [concrete = constants.%Convert] { @@ -879,14 +882,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc8_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_32: Core.Form = init_form %i32.loc8_32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Adapter.b1e = value_param call_param0 // CHECK:STDOUT: %.loc8_26: type = splice_block %Adapter [concrete = constants.%Adapter.b1e] { // CHECK:STDOUT: %Adapter.ref: %Adapter.type = name_ref Adapter, file.%Adapter.decl [concrete = constants.%Adapter.generic] -// CHECK:STDOUT: %int_32.loc8_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Adapter: type = class_type @Adapter, @Adapter(constants.%i32) [concrete = constants.%Adapter.b1e] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %Adapter.b1e = value_binding a, %a.param @@ -917,8 +918,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: fn @Convert(%a.param: %Adapter.b1e) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %Adapter.b1e = name_ref a, %a -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_12.1: %i32 = as_compatible %a.ref // CHECK:STDOUT: %.loc9_12.2: %i32 = converted %a.ref, %.loc9_12.1 // CHECK:STDOUT: %impl.elem0: %.8e2 = impl_witness_access constants.%Copy.impl_witness.f17, element0 [concrete = constants.%Int.as.Copy.impl.Op.664] @@ -1019,14 +1019,12 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // 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: %i32.loc6_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_40: Core.Form = init_form %i32.loc6_40, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Adapter.b1e = value_param call_param0 // CHECK:STDOUT: %.loc6_34: type = splice_block %Adapter [concrete = constants.%Adapter.b1e] { // CHECK:STDOUT: %Adapter.ref: %Adapter.type = name_ref Adapter, imports.%Main.Adapter [concrete = constants.%Adapter.generic] -// CHECK:STDOUT: %int_32.loc6_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Adapter: type = class_type @Adapter, @Adapter(constants.%i32) [concrete = constants.%Adapter.b1e] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %Adapter.b1e = value_binding a, %a.param @@ -1040,8 +1038,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14_43: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Adapter.8a3 = value_param call_param0 // CHECK:STDOUT: %.loc14_37: type = splice_block %Adapter [concrete = constants.%Adapter.8a3] { @@ -1071,8 +1068,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11: %C.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -1085,8 +1081,7 @@ fn ImportedConvertLocal(a: Adapter(C)) -> i32 { // CHECK:STDOUT: fn @ImportedConvert(%a.param: %Adapter.b1e) -> out %return.param: %i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %a.ref: %Adapter.b1e = name_ref a, %a -// 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: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_12.1: %i32 = as_compatible %a.ref // CHECK:STDOUT: %.loc7_12.2: %i32 = converted %a.ref, %.loc7_12.1 // CHECK:STDOUT: %impl.elem0: %.8e2 = impl_witness_access constants.%Copy.impl_witness.f17, element0 [concrete = constants.%Int.as.Copy.impl.Op.664] diff --git a/toolchain/check/testdata/class/generic/base_is_generic.carbon b/toolchain/check/testdata/class/generic/base_is_generic.carbon index 95cbd5ce2d62..714dce31d79b 100644 --- a/toolchain/check/testdata/class/generic/base_is_generic.carbon +++ b/toolchain/check/testdata/class/generic/base_is_generic.carbon @@ -162,7 +162,10 @@ fn H() { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_21.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Param.decl: type = class_decl @Param [concrete = constants.%Param] {} {} @@ -173,8 +176,7 @@ fn H() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %d.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] @@ -208,8 +210,7 @@ fn H() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Param { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9: %Param.elem = field_decl y, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.y [concrete = constants.%complete_type.0f9] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -358,8 +359,7 @@ fn H() { // CHECK:STDOUT: %return.patt: %pattern_type.501 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.501 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: Core.Form = init_form %i32, call_param1 [concrete = constants.%.bb0] // CHECK:STDOUT: %d.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, imports.%Main.Derived [concrete = constants.%Derived] @@ -478,7 +478,10 @@ fn H() { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} @@ -610,13 +613,19 @@ fn H() { // CHECK:STDOUT: %X.decl: %X.type = class_decl @X [concrete = constants.%X.generic] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_14.2: type = symbolic_binding U, 0 [symbolic = %U.loc4_14.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.1: type = splice_block %.loc8_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} @@ -706,17 +715,13 @@ fn H() { // CHECK:STDOUT: %i.patt: %pattern_type.7ce = value_binding_pattern i [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32.loc13_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.b13] // CHECK:STDOUT: %.loc13_29: %X.G.type.f75 = specific_constant @X.%X.G.decl, @X(constants.%i32) [concrete = constants.%X.G.e2a] // CHECK:STDOUT: %G.ref: %X.G.type.f75 = name_ref G, %.loc13_29 [concrete = constants.%X.G.e2a] // CHECK:STDOUT: %X.G.specific_fn: = specific_function %G.ref, @X.G(constants.%i32) [concrete = constants.%X.G.specific_fn.54d] // CHECK:STDOUT: %X.G.call: init %i32 = call %X.G.specific_fn() -// CHECK:STDOUT: %.loc13_17: type = splice_block %i32.loc13_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13_32.1: %i32 = value_of_initializer %X.G.call // CHECK:STDOUT: %.loc13_32.2: %i32 = converted %X.G.call, %.loc13_32.1 // CHECK:STDOUT: %i: %i32 = value_binding i, %.loc13_32.2 @@ -909,17 +914,13 @@ fn H() { // CHECK:STDOUT: %j.patt: %pattern_type.7ce = value_binding_pattern j [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%Main.C [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32.loc7_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.b13] // CHECK:STDOUT: %.loc7_29: %X.G.type.f75 = specific_constant imports.%Main.import_ref.940, @X(constants.%i32) [concrete = constants.%X.G.e2a] // CHECK:STDOUT: %G.ref: %X.G.type.f75 = name_ref G, %.loc7_29 [concrete = constants.%X.G.e2a] // CHECK:STDOUT: %X.G.specific_fn: = specific_function %G.ref, @X.G(constants.%i32) [concrete = constants.%X.G.specific_fn.54d] // CHECK:STDOUT: %X.G.call: init %i32 = call %X.G.specific_fn() -// CHECK:STDOUT: %.loc7_17: type = splice_block %i32.loc7_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_32.1: %i32 = value_of_initializer %X.G.call // CHECK:STDOUT: %.loc7_32.2: %i32 = converted %X.G.call, %.loc7_32.1 // CHECK:STDOUT: %j: %i32 = value_binding j, %.loc7_32.2 diff --git a/toolchain/check/testdata/class/generic/basic.carbon b/toolchain/check/testdata/class/generic/basic.carbon index a69ca229f7c8..db33db15c91b 100644 --- a/toolchain/check/testdata/class/generic/basic.carbon +++ b/toolchain/check/testdata/class/generic/basic.carbon @@ -97,7 +97,10 @@ class Declaration(T:! type); // CHECK:STDOUT: %Declaration.decl: %Declaration.type = class_decl @Declaration [concrete = constants.%Declaration.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc17_23.1: type = splice_block %.loc17_23.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc17_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc17_19.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/call.carbon b/toolchain/check/testdata/class/generic/call.carbon index dba23a1852cd..ac95c26def9d 100644 --- a/toolchain/check/testdata/class/generic/call.carbon +++ b/toolchain/check/testdata/class/generic/call.carbon @@ -163,12 +163,14 @@ class Outer(T:! type) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.7ce = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] +// CHECK:STDOUT: %.loc4_27: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.6f3)] // CHECK:STDOUT: } @@ -179,8 +181,7 @@ class Outer(T:! type) { // CHECK:STDOUT: %a.var: ref %Class.ff1 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc6_21.1: type = splice_block %Class.loc6 [concrete = constants.%Class.ff1] { // CHECK:STDOUT: %Class.ref.loc6: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.235] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %impl.elem0.loc6: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] @@ -290,12 +291,14 @@ class Outer(T:! type) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.7ce = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] +// CHECK:STDOUT: %.loc4_27: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.6f3)] // CHECK:STDOUT: } @@ -306,8 +309,7 @@ class Outer(T:! type) { // CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref = ref_binding a, [concrete = ] @@ -376,12 +378,14 @@ class Outer(T:! type) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.7ce = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] +// CHECK:STDOUT: %.loc4_27: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.6f3)] // CHECK:STDOUT: } @@ -392,8 +396,7 @@ class Outer(T:! type) { // CHECK:STDOUT: %a.var: ref = var %a.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2] @@ -467,12 +470,14 @@ class Outer(T:! type) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: %pattern_type.7ce = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] +// CHECK:STDOUT: %.loc4_27: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_23.2: %i32 = symbolic_binding N, 1 [symbolic = %N.loc4_23.1 (constants.%N.6f3)] // CHECK:STDOUT: } @@ -484,8 +489,7 @@ class Outer(T:! type) { // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, %Class.decl [concrete = constants.%Class.generic] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr] // CHECK:STDOUT: %.loc16: type = converted %int_5, [concrete = ] // CHECK:STDOUT: } @@ -583,7 +587,10 @@ class Outer(T:! type) { // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc2_17.1: type = splice_block %.loc2_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc2_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc2_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc2_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -599,7 +606,10 @@ class Outer(T:! type) { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.e0d) = class_decl @Inner [symbolic = @Outer.%Inner.generic (constants.%Inner.generic.ada)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_19.1: type = splice_block %.loc3_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc3_15.2: type = symbolic_binding U, 1 [symbolic = %U.loc3_15.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] diff --git a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon index 190650f3ed07..4384e7956667 100644 --- a/toolchain/check/testdata/class/generic/complete_in_conversion.carbon +++ b/toolchain/check/testdata/class/generic/complete_in_conversion.carbon @@ -140,7 +140,8 @@ fn F(a: A(0)*) { // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc2_33: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc2_33.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc2_33.2: Core.Form = init_form %.loc2_33.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc2_27.1: type = splice_block %.loc2_27.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -159,8 +160,7 @@ fn F(a: A(0)*) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int.1, @Int.1(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_9.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc6_9.1 (constants.%N.5de)] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/field.carbon b/toolchain/check/testdata/class/generic/field.carbon index 6e56ace5bd53..70e55e022797 100644 --- a/toolchain/check/testdata/class/generic/field.carbon +++ b/toolchain/check/testdata/class/generic/field.carbon @@ -126,7 +126,10 @@ fn H(U:! Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -135,14 +138,12 @@ fn H(U:! Core.Copy, c: Class(U)) -> U { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc9_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_24: Core.Form = init_form %i32.loc9_24, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %c.param: %Class.805 = value_param call_param0 // CHECK:STDOUT: %.loc9_18: type = splice_block %Class [concrete = constants.%Class.805] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [concrete = constants.%Class.generic] -// CHECK:STDOUT: %int_32.loc9_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9_15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Class: type = class_type @Class, @Class(constants.%i32) [concrete = constants.%Class.805] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %Class.805 = value_binding c, %c.param diff --git a/toolchain/check/testdata/class/generic/generic_vs_params.carbon b/toolchain/check/testdata/class/generic/generic_vs_params.carbon index e21b2153afdb..158cb1302af6 100644 --- a/toolchain/check/testdata/class/generic/generic_vs_params.carbon +++ b/toolchain/check/testdata/class/generic/generic_vs_params.carbon @@ -140,13 +140,19 @@ class Foo[T:! type]; // CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.fa0 = class_decl @GenericAndParams.loc6 [concrete = constants.%GenericAndParams.generic.e6f] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_28.1: type = splice_block %.loc6_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_24.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_24.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.1: type = splice_block %.loc8_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} @@ -251,7 +257,10 @@ class Foo[T:! type]; // CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.208) = class_decl @GenericAndParams.loc10 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.cc2)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_30.1: type = splice_block %.loc10_30.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_30.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc10_26.2: type = symbolic_binding U, 1 [symbolic = %U.loc10_26.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] @@ -412,7 +421,10 @@ class Foo[T:! type]; // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc11_10.1: type = splice_block %.loc11_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc11_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc11_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -477,7 +489,10 @@ class Foo[T:! type]; // CHECK:STDOUT: %Foo.decl: %Foo.type = class_decl @Foo [concrete = constants.%Foo.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15.1: type = splice_block %.loc8_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_11.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_11.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/import.carbon b/toolchain/check/testdata/class/generic/import.carbon index ff63361417da..3411baa3af9e 100644 --- a/toolchain/check/testdata/class/generic/import.carbon +++ b/toolchain/check/testdata/class/generic/import.carbon @@ -160,13 +160,19 @@ class Class(U:! type) { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CompleteClass.decl: %CompleteClass.type = class_decl @CompleteClass [concrete = constants.%CompleteClass.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_25.1: type = splice_block %.loc6_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_21.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -174,8 +180,7 @@ class Class(U:! type) { // CHECK:STDOUT: %return.param_patt: %pattern_type.cb5 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, file.%CompleteClass.decl [concrete = constants.%CompleteClass.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(constants.%i32) [concrete = constants.%CompleteClass.d85] // CHECK:STDOUT: %.loc11: Core.Form = init_form %CompleteClass, call_param0 [concrete = constants.%.edb] // CHECK:STDOUT: %return.param: ref %CompleteClass.d85 = out_param call_param0 @@ -199,15 +204,13 @@ class Class(U:! type) { // CHECK:STDOUT: %CompleteClass.F: @CompleteClass.%CompleteClass.F.type (%CompleteClass.F.type) = struct_value () [symbolic = %CompleteClass.F (constants.%CompleteClass.F)] // CHECK:STDOUT: // CHECK:STDOUT: class { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7: @CompleteClass.%CompleteClass.elem (%CompleteClass.elem) = field_decl n, element0 [concrete] // CHECK:STDOUT: %CompleteClass.F.decl: @CompleteClass.%CompleteClass.F.type (%CompleteClass.F.type) = fn_decl @CompleteClass.F [symbolic = @CompleteClass.%CompleteClass.F (constants.%CompleteClass.F)] { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_13: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -350,7 +353,10 @@ class Class(U:! type) { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4: type = symbolic_binding T, 0 [symbolic = %T.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -358,8 +364,7 @@ class Class(U:! type) { // CHECK:STDOUT: %return.param_patt: %pattern_type.b91 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(constants.%i32) [concrete = constants.%CompleteClass.667] // CHECK:STDOUT: %.loc8: Core.Form = init_form %CompleteClass, call_param0 [concrete = constants.%.991] // CHECK:STDOUT: %return.param: ref %CompleteClass.667 = out_param call_param0 @@ -545,8 +550,7 @@ class Class(U:! type) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -555,8 +559,7 @@ class Class(U:! type) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: Core.Form = init_form %i32.loc10, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -595,8 +598,7 @@ class Class(U:! type) { // CHECK:STDOUT: assign %v.var, %F.call // CHECK:STDOUT: %.loc6_27: type = splice_block %CompleteClass [concrete = constants.%CompleteClass.d85] { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(constants.%i32) [concrete = constants.%CompleteClass.d85] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %CompleteClass.d85 = ref_binding v, %v.var @@ -633,8 +635,7 @@ class Class(U:! type) { // CHECK:STDOUT: assign %v.var, %F.call // CHECK:STDOUT: %.loc11_27: type = splice_block %CompleteClass [concrete = constants.%CompleteClass.d85] { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] -// 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: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(constants.%i32) [concrete = constants.%CompleteClass.d85] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %CompleteClass.d85 = ref_binding v, %v.var @@ -784,8 +785,7 @@ class Class(U:! type) { // CHECK:STDOUT: assign %v.var, // CHECK:STDOUT: %.loc14_35: type = splice_block %CompleteClass [concrete = constants.%CompleteClass.582] { // CHECK:STDOUT: %CompleteClass.ref: %CompleteClass.type = name_ref CompleteClass, imports.%Main.CompleteClass [concrete = constants.%CompleteClass.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.9e1] // CHECK:STDOUT: %CompleteClass: type = class_type @CompleteClass, @CompleteClass(constants.%ptr.9e1) [concrete = constants.%CompleteClass.582] // CHECK:STDOUT: } @@ -877,7 +877,10 @@ class Class(U:! type) { // CHECK:STDOUT: %Class.decl: %Class.type.a9b607.2 = class_decl @Class.loc12 [concrete = constants.%Class.generic.f12661.2] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc12_13.2: type = symbolic_binding U, 0 [symbolic = %U.loc12_13.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/init.carbon b/toolchain/check/testdata/class/generic/init.carbon index 554bc9bf4173..71d60c813083 100644 --- a/toolchain/check/testdata/class/generic/init.carbon +++ b/toolchain/check/testdata/class/generic/init.carbon @@ -155,14 +155,10 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc14_38: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_38: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc14_38: Core.Form = init_form %i32.loc14_38, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc14_38: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc14: Core.Form = init_form %i32.loc14_38, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %x.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc14_30: type = splice_block %i32.loc14_30 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc14_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc14_30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: %i32 = value_binding x, %x.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -261,8 +257,7 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: assign %v.var, %.loc15_3 // CHECK:STDOUT: %.loc15_19: type = splice_block %Class [concrete = constants.%Class.805] { // CHECK:STDOUT: %Class.ref: %Class.type = name_ref Class, file.%Class.decl [concrete = constants.%Class.generic] -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Class: type = class_type @Class, @Class(constants.%i32) [concrete = constants.%Class.805] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %Class.805 = ref_binding v, %v.var @@ -378,14 +373,10 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc13_39: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_39: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc13_39: Core.Form = init_form %i32.loc13_39, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc13_39: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc13: Core.Form = init_form %i32.loc13_39, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %x.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc13_31: type = splice_block %i32.loc13_31 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: %i32 = value_binding x, %x.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -437,13 +428,11 @@ fn InitFromAdaptedSpecific(x: i32) -> i32 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %x.ref: %i32 = name_ref x, %x // CHECK:STDOUT: %Adapt.ref: %Adapt.type = name_ref Adapt, file.%Adapt.decl [concrete = constants.%Adapt.generic] -// CHECK:STDOUT: %int_32.loc14_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc14_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Adapt: type = class_type @Adapt, @Adapt(constants.%i32) [concrete = constants.%Adapt.808] // CHECK:STDOUT: %.loc14_13.1: %Adapt.808 = as_compatible %x.ref // CHECK:STDOUT: %.loc14_13.2: %Adapt.808 = converted %x.ref, %.loc14_13.1 -// CHECK:STDOUT: %int_32.loc14_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc14_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14_28.1: %i32 = as_compatible %.loc14_13.2 // CHECK:STDOUT: %.loc14_28.2: %i32 = converted %.loc14_13.2, %.loc14_28.1 // CHECK:STDOUT: %impl.elem0: %.8e2 = impl_witness_access constants.%Copy.impl_witness.f17, element0 [concrete = constants.%Int.as.Copy.impl.Op.664] diff --git a/toolchain/check/testdata/class/generic/member_out_of_line.carbon b/toolchain/check/testdata/class/generic/member_out_of_line.carbon index 31081eb363a1..9e3889a46e33 100644 --- a/toolchain/check/testdata/class/generic/member_out_of_line.carbon +++ b/toolchain/check/testdata/class/generic/member_out_of_line.carbon @@ -404,7 +404,10 @@ fn Generic(unused T:! ()).WrongType() {} // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %B.F.decl: %B.F.type = fn_decl @B.F [symbolic = constants.%B.F] { @@ -413,7 +416,10 @@ fn Generic(unused T:! ()).WrongType() {} // CHECK:STDOUT: %a.patt: @B.F.%pattern_type.loc7_22 (%pattern_type.51d) = value_binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: @B.F.%pattern_type.loc7_22 (%pattern_type.51d) = value_param_pattern %a.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc11_10.1: type = splice_block %.loc11_10.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc11_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11: type = symbolic_binding T, 0 [symbolic = @A.%T.loc5_9.1 (constants.%T)] // CHECK:STDOUT: %.loc11_22: type = splice_block %T.ref.loc11_22 [symbolic = @B.%T (constants.%T)] { // CHECK:STDOUT: diff --git a/toolchain/check/testdata/class/generic/member_type.carbon b/toolchain/check/testdata/class/generic/member_type.carbon index d78478790122..c05b9b3b75c2 100644 --- a/toolchain/check/testdata/class/generic/member_type.carbon +++ b/toolchain/check/testdata/class/generic/member_type.carbon @@ -183,8 +183,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc12: Core.Form = init_form %i32.loc12, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -299,8 +298,7 @@ fn Test() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %Inner.74c = var %c.var_patt // CHECK:STDOUT: %Outer.ref.loc13_29: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] -// CHECK:STDOUT: %int_32.loc13_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_35: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Copy.facet.loc13_38: %Copy.type = facet_value %i32.loc13_35, (constants.%Copy.impl_witness.f17) [concrete = constants.%Copy.facet.de4] // CHECK:STDOUT: %.loc13_38: %Copy.type = converted %i32.loc13_35, %Copy.facet.loc13_38 [concrete = constants.%Copy.facet.de4] // CHECK:STDOUT: %Outer.loc13_38: type = class_type @Outer, @Outer(constants.%Copy.facet.de4) [concrete = constants.%Outer.a6c] @@ -324,8 +322,7 @@ fn Test() -> i32 { // CHECK:STDOUT: assign %c.var, %Outer.F.call // CHECK:STDOUT: %.loc13_20.1: type = splice_block %Inner.ref [concrete = constants.%Inner.74c] { // CHECK:STDOUT: %Outer.ref.loc13_10: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] -// CHECK:STDOUT: %int_32.loc13_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Copy.facet.loc13_19: %Copy.type = facet_value %i32.loc13_16, (constants.%Copy.impl_witness.f17) [concrete = constants.%Copy.facet.de4] // CHECK:STDOUT: %.loc13_19: %Copy.type = converted %i32.loc13_16, %Copy.facet.loc13_19 [concrete = constants.%Copy.facet.de4] // CHECK:STDOUT: %Outer.loc13_19: type = class_type @Outer, @Outer(constants.%Copy.facet.de4) [concrete = constants.%Outer.a6c] @@ -526,7 +523,10 @@ fn Test() -> i32 { // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} @@ -534,8 +534,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22: Core.Form = init_form %i32.loc22, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -633,8 +632,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] @@ -696,8 +694,7 @@ fn Test() -> i32 { // CHECK:STDOUT: impl_decl @D.as.Inner.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%D [concrete = constants.%D] // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Outer: type = class_type @Outer, @Outer(constants.%i32) [concrete = constants.%Outer.d71] // CHECK:STDOUT: %.loc17: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%i32) [concrete = constants.%Inner.type.94a] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc17 [concrete = constants.%Inner.type.94a] @@ -777,8 +774,7 @@ fn Test() -> i32 { // CHECK:STDOUT: assign %c.var, %.loc23_3 // CHECK:STDOUT: %.loc23_20.1: type = splice_block %C.ref [concrete = constants.%C.d3f] { // CHECK:STDOUT: %Outer.ref.loc23: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] -// CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Outer.loc23: type = class_type @Outer, @Outer(constants.%i32) [concrete = constants.%Outer.d71] // CHECK:STDOUT: %.loc23_20.2: type = specific_constant @Outer.%C.decl, @Outer(constants.%i32) [concrete = constants.%C.d3f] // CHECK:STDOUT: %C.ref: type = name_ref C, %.loc23_20.2 [concrete = constants.%C.d3f] @@ -786,8 +782,7 @@ fn Test() -> i32 { // CHECK:STDOUT: %c: ref %C.d3f = ref_binding c, %c.var // CHECK:STDOUT: %c.ref: ref %C.d3f = name_ref c, %c // CHECK:STDOUT: %Outer.ref.loc24: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Outer.loc24: type = class_type @Outer, @Outer(constants.%i32) [concrete = constants.%Outer.d71] // CHECK:STDOUT: %.loc24_23: type = specific_constant @Outer.%Inner.decl, @Outer(constants.%i32) [concrete = constants.%Inner.type.94a] // CHECK:STDOUT: %Inner.ref: type = name_ref Inner, %.loc24_23 [concrete = constants.%Inner.type.94a] diff --git a/toolchain/check/testdata/class/generic/method_deduce.carbon b/toolchain/check/testdata/class/generic/method_deduce.carbon index 8539e9762866..9b6425b8c1be 100644 --- a/toolchain/check/testdata/class/generic/method_deduce.carbon +++ b/toolchain/check/testdata/class/generic/method_deduce.carbon @@ -109,7 +109,10 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc18_17.1: type = splice_block %.loc18_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc18_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc18_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc18_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallGenericMethod.decl: %CallGenericMethod.type = fn_decl @CallGenericMethod [concrete = constants.%CallGenericMethod] { @@ -192,7 +195,10 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %.loc19_28.3: %tuple.type.24b = tuple_literal (%T.ref, %U.ref.loc19_27) [symbolic = %tuple (constants.%tuple.4b9)] // CHECK:STDOUT: %.loc19_28.4: type = converted %.loc19_28.3, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc19_28.5: Core.Form = init_form %.loc19_28.4, call_param0 [symbolic = %.loc19_28.2 (constants.%.fbc)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc19_14.1: type = splice_block %.loc19_14.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc19_14.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc19_10.2: type = symbolic_binding U, 1 [symbolic = %U.loc19_10.1 (constants.%U)] // CHECK:STDOUT: %return.param: ref @Class.Get.%tuple.type (%tuple.type.a5e) = out_param call_param0 // CHECK:STDOUT: %return: ref @Class.Get.%tuple.type (%tuple.type.a5e) = return_slot %return.param @@ -212,7 +218,10 @@ fn CallGenericMethodWithNonDeducedParam(c: Class(A)) -> (A, B) { // CHECK:STDOUT: %x.param: @Class.GetNoDeduce.%T (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc20_21: type = name_ref T, @Class.%T.loc18_13.2 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %x: @Class.GetNoDeduce.%T (%T) = value_binding x, %x.param -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_28.1: type = splice_block %.loc20_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc20_24.2: type = symbolic_binding U, 1 [symbolic = %U.loc20_24.1 (constants.%U)] // CHECK:STDOUT: %return.param: ref @Class.GetNoDeduce.%tuple.type (%tuple.type.a5e) = out_param call_param1 // CHECK:STDOUT: %return: ref @Class.GetNoDeduce.%tuple.type (%tuple.type.a5e) = return_slot %return.param diff --git a/toolchain/check/testdata/class/generic/redeclare.carbon b/toolchain/check/testdata/class/generic/redeclare.carbon index 979aac909495..3c6fc306d4ea 100644 --- a/toolchain/check/testdata/class/generic/redeclare.carbon +++ b/toolchain/check/testdata/class/generic/redeclare.carbon @@ -127,13 +127,19 @@ class E(U:! type) {} // CHECK:STDOUT: %Generic.decl.loc4: %Generic.type = class_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl.loc6: %Generic.type = class_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_19.1: type = splice_block %.loc6_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -188,7 +194,10 @@ class E(U:! type) {} // CHECK:STDOUT: %A.decl.loc12: %A.type = class_decl @A.loc12 [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_13.1: type = splice_block %.loc12_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -262,10 +271,13 @@ class E(U:! type) {} // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: @B.loc14.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc14_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_9.1 (constants.%T)] -// CHECK:STDOUT: %.loc14: type = splice_block %T.ref [symbolic = %T.loc14_9.1 (constants.%T)] { +// CHECK:STDOUT: %.loc14_13.1: type = splice_block %.loc14_13.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc14_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_9.1 (constants.%T)] +// CHECK:STDOUT: %.loc14_23: type = splice_block %T.ref [symbolic = %T.loc14_9.1 (constants.%T)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_9.2 [symbolic = %T.loc14_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc14_19.2: @B.loc14.%T.loc14_9.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc14_19.1 (constants.%N.bd9)] @@ -349,17 +361,23 @@ class E(U:! type) {} // CHECK:STDOUT: %C.decl.loc6: %C.type.e297ae.1 = class_decl @C.loc6 [concrete = constants.%C.generic.65f314.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_13.1: type = splice_block %.loc6_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc14: %C.type.e297ae.2 = class_decl @C.loc14 [concrete = constants.%C.generic.65f314.2] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: %pattern_type.1ab = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc14_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_9.1 (constants.%T)] -// CHECK:STDOUT: %.loc14: type = splice_block %A.ref [concrete = constants.%A] { +// CHECK:STDOUT: %.loc14_13.1: type = splice_block %.loc14_13.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc14_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_9.1 (constants.%T)] +// CHECK:STDOUT: %.loc14_23: type = splice_block %A.ref [concrete = constants.%A] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc14_19.2: %A = symbolic_binding U, 1 [symbolic = %U.loc14_19.1 (constants.%U)] @@ -441,7 +459,10 @@ class E(U:! type) {} // CHECK:STDOUT: %D.decl.loc6: %D.type.6dc267.1 = class_decl @D.loc6 [concrete = constants.%D.generic.3c4a9e.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_13.1: type = splice_block %.loc6_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_9.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl.loc14: %D.type.6dc267.2 = class_decl @D.loc14 [concrete = constants.%D.generic.3c4a9e.2] { @@ -524,13 +545,19 @@ class E(U:! type) {} // CHECK:STDOUT: %E.decl.loc4: %E.type.97c458.1 = class_decl @E.loc4 [concrete = constants.%E.generic.e80795.1] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %E.decl.loc12: %E.type.97c458.2 = class_decl @E.loc12 [concrete = constants.%E.generic.e80795.2] { // CHECK:STDOUT: %U.patt: %pattern_type = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_13.1: type = splice_block %.loc12_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc12_9.2: type = symbolic_binding U, 0 [symbolic = %U.loc12_9.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/self.carbon b/toolchain/check/testdata/class/generic/self.carbon index 497d6e25cc79..4580c914f1c5 100644 --- a/toolchain/check/testdata/class/generic/self.carbon +++ b/toolchain/check/testdata/class/generic/self.carbon @@ -76,7 +76,10 @@ class Class(T:! type) { // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/generic/stringify.carbon b/toolchain/check/testdata/class/generic/stringify.carbon index ab3fd08fa18b..c3664c3c6d07 100644 --- a/toolchain/check/testdata/class/generic/stringify.carbon +++ b/toolchain/check/testdata/class/generic/stringify.carbon @@ -226,7 +226,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { @@ -255,8 +258,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Outer.loc19: type = class_type @Outer, @Outer(constants.%ptr.c28) [concrete = constants.%Outer.b7c] // CHECK:STDOUT: %.loc19_18: %Inner.type.cd9 = specific_constant @Outer.%Inner.decl, @Outer(constants.%ptr.c28) [concrete = constants.%Inner.generic.0f6] // CHECK:STDOUT: %Inner.ref: %Inner.type.cd9 = name_ref Inner, %.loc19_18 [concrete = constants.%Inner.generic.0f6] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: %ptr.loc19_34: type = ptr_type %struct_type.a [concrete = constants.%ptr.1bb] // CHECK:STDOUT: %Inner: type = class_type @Inner, @Inner(constants.%ptr.c28, constants.%ptr.1bb) [concrete = constants.%Inner.304] @@ -275,7 +277,10 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.e0d) = class_decl @Inner [symbolic = @Outer.%Inner.generic (constants.%Inner.generic.ada)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_19.1: type = splice_block %.loc5_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_15.2: type = symbolic_binding U, 1 [symbolic = %U.loc5_15.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] @@ -395,8 +400,7 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_9.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc4_9.1 (constants.%N.5de)] // CHECK:STDOUT: } @@ -576,11 +580,9 @@ var g: E({.a = 1, .b = 2}) = {} as E({.a = 3, .b = 4} as D); // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %D.elem = field_decl a, element0 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %D.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.501 [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/import.carbon b/toolchain/check/testdata/class/import.carbon index 0fe0103e1669..47288a478718 100644 --- a/toolchain/check/testdata/class/import.carbon +++ b/toolchain/check/testdata/class/import.carbon @@ -110,8 +110,7 @@ fn Run() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Field { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: %Field.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x [concrete = constants.%complete_type.1ec] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/inheritance/base.carbon b/toolchain/check/testdata/class/inheritance/base.carbon index 737d5f4f32f4..ef63cc10f9ac 100644 --- a/toolchain/check/testdata/class/inheritance/base.carbon +++ b/toolchain/check/testdata/class/inheritance/base.carbon @@ -159,10 +159,8 @@ class Derived { // CHECK:STDOUT: %return.patt: %pattern_type.511 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.511 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc17_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc17_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17_27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17_35.1: %tuple.type.24b = tuple_literal (%i32.loc17_27, %i32.loc17_32) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc17_35.2: type = converted %.loc17_35.1, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %.loc17_35.3: Core.Form = init_form %.loc17_35.2, call_param1 [concrete = constants.%.97a] @@ -175,8 +173,7 @@ class Derived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4: %Base.elem = field_decl b, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.b.0a3 [concrete = constants.%complete_type.ba8] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -189,8 +186,7 @@ class Derived { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc8: %Derived.elem.b58 = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: %Derived.elem.683 = field_decl d, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.base.d.81a [concrete = constants.%complete_type.3b4] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -311,8 +307,7 @@ class Derived { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Derived { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7: %Derived.elem = field_decl d, element0 [concrete] // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.d [concrete = constants.%complete_type.860] diff --git a/toolchain/check/testdata/class/inheritance/base_field.carbon b/toolchain/check/testdata/class/inheritance/base_field.carbon index 967be29bf7c7..3fea74bdd1c3 100644 --- a/toolchain/check/testdata/class/inheritance/base_field.carbon +++ b/toolchain/check/testdata/class/inheritance/base_field.carbon @@ -94,8 +94,7 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc28_30: type = ptr_type %i32 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc28_30: Core.Form = init_form %ptr.loc28_30, call_param1 [concrete = constants.%.85d] // CHECK:STDOUT: %p.param: %ptr.f74 = value_param call_param0 @@ -110,14 +109,11 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Base.elem = field_decl a, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Base.elem = field_decl b, element1 [concrete] -// CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: %Base.elem = field_decl c, element2 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.c [concrete = constants.%complete_type.ebc] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -132,11 +128,9 @@ fn Access(p: Derived*) -> i32* { // CHECK:STDOUT: class @Derived { // CHECK:STDOUT: %Base.ref: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] // CHECK:STDOUT: %.loc22: %Derived.elem.029 = base_decl %Base.ref, element0 [concrete] -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc24: %Derived.elem.530 = field_decl d, element1 [concrete] -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: %Derived.elem.530 = field_decl e, element2 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.base.d.e.b4b [concrete = constants.%complete_type.ea9] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/inheritance/base_method.carbon b/toolchain/check/testdata/class/inheritance/base_method.carbon index bc7c14ec5eae..820755219a07 100644 --- a/toolchain/check/testdata/class/inheritance/base_method.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method.carbon @@ -117,8 +117,7 @@ fn Call(p: Derived*) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Base.elem = field_decl a, element0 [concrete] // CHECK:STDOUT: %Base.F.decl: %Base.F.type = fn_decl @Base.F [concrete = constants.%Base.F] { // CHECK:STDOUT: %self.patt: %pattern_type.101 = ref_binding_pattern self [concrete] diff --git a/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon b/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon index 8df70a37f8b7..6bf1fdbd2df7 100644 --- a/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon +++ b/toolchain/check/testdata/class/inheritance/base_method_qualified.carbon @@ -109,8 +109,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc29: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc15 [concrete = constants.%Derived] @@ -124,8 +123,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc33_33: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %p.param: %ptr.f74 = value_param call_param0 // CHECK:STDOUT: %.loc33_27: type = splice_block %ptr [concrete = constants.%ptr.f74] { @@ -142,8 +140,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc37: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc15 [concrete = constants.%Derived] @@ -157,8 +154,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc41_46: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %p.param: %ptr.f74 = value_param call_param0 // CHECK:STDOUT: %.loc41_40: type = splice_block %ptr [concrete = constants.%ptr.f74] { @@ -209,8 +205,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %Base = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [concrete = constants.%Base] @@ -224,8 +219,7 @@ fn PassDerivedToBaseIndirect(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc19: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %Derived = value_param call_param0 // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl.loc15 [concrete = constants.%Derived] diff --git a/toolchain/check/testdata/class/inheritance/import_base.carbon b/toolchain/check/testdata/class/inheritance/import_base.carbon index 8a435234962e..fa9e293226fe 100644 --- a/toolchain/check/testdata/class/inheritance/import_base.carbon +++ b/toolchain/check/testdata/class/inheritance/import_base.carbon @@ -99,11 +99,9 @@ fn Run() { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Base [concrete = constants.%Base] // CHECK:STDOUT: %self: %Base = value_binding self, %self.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: %Base.elem = field_decl x, element0 [concrete] -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9: %Base.elem = field_decl unused_y, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x.unused_y [concrete = constants.%complete_type.cf1] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/inheritance/self_conversion.carbon b/toolchain/check/testdata/class/inheritance/self_conversion.carbon index ad253963467b..0b67a4e3f569 100644 --- a/toolchain/check/testdata/class/inheritance/self_conversion.carbon +++ b/toolchain/check/testdata/class/inheritance/self_conversion.carbon @@ -126,8 +126,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc26: Core.Form = init_form %i32.loc26, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc26: %Base = value_param call_param0 // CHECK:STDOUT: %Base.ref.loc26: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] @@ -149,8 +148,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc34_25: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %p.param: %ptr.f74 = value_param call_param0 // CHECK:STDOUT: %.loc34_19: type = splice_block %ptr [concrete = constants.%ptr.f74] { @@ -164,8 +162,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Base.elem = field_decl a, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a [concrete = constants.%complete_type.fd7] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -185,8 +182,7 @@ fn Call(p: Derived*) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22: Core.Form = init_form %i32.loc22, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc22: %Base = value_param call_param0 // CHECK:STDOUT: %Base.ref.loc22: type = name_ref Base, file.%Base.decl [concrete = constants.%Base] diff --git a/toolchain/check/testdata/class/init.carbon b/toolchain/check/testdata/class/init.carbon index d1adf67a4f97..c925804f3963 100644 --- a/toolchain/check/testdata/class/init.carbon +++ b/toolchain/check/testdata/class/init.carbon @@ -105,10 +105,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %Class.ref.loc20_34: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %.loc20_34: Core.Form = init_form %Class.ref.loc20_34, call_param2 [concrete = constants.%.7f7] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc20_12: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %next.param: %ptr.8e5 = value_param call_param1 // CHECK:STDOUT: %.loc20_28: type = splice_block %ptr [concrete = constants.%ptr.8e5] { @@ -130,10 +127,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: %Class.ref.loc24_41: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %.loc24_41: Core.Form = init_form %Class.ref.loc24_41, call_param2 [concrete = constants.%.7f7] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc24_19: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %next.param: %ptr.8e5 = value_param call_param1 // CHECK:STDOUT: %.loc24_35: type = splice_block %ptr [concrete = constants.%ptr.8e5] { @@ -147,8 +141,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Class.elem.762 = field_decl n, element0 [concrete] // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] // CHECK:STDOUT: %ptr: type = ptr_type %Class.ref [concrete = constants.%ptr.8e5] diff --git a/toolchain/check/testdata/class/init_as.carbon b/toolchain/check/testdata/class/init_as.carbon index 81153652535e..ef61af09f4cb 100644 --- a/toolchain/check/testdata/class/init_as.carbon +++ b/toolchain/check/testdata/class/init_as.carbon @@ -108,8 +108,7 @@ fn F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -117,11 +116,9 @@ fn F() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Class.elem = field_decl a, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Class.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.501 [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/init_nested.carbon b/toolchain/check/testdata/class/init_nested.carbon index e183b36c98d6..1a974695ffd7 100644 --- a/toolchain/check/testdata/class/init_nested.carbon +++ b/toolchain/check/testdata/class/init_nested.carbon @@ -94,11 +94,9 @@ fn MakeOuter() -> Outer { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Inner { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %Inner.elem = field_decl a, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Inner.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/local.carbon b/toolchain/check/testdata/class/local.carbon index 6983ea02d64f..da58ae752799 100644 --- a/toolchain/check/testdata/class/local.carbon +++ b/toolchain/check/testdata/class/local.carbon @@ -119,8 +119,7 @@ class A { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -143,8 +142,7 @@ class A { // CHECK:STDOUT: %return.param: ref %B = out_param call_param0 // CHECK:STDOUT: %return: ref %B = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc23: %B.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n.033 [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/method/generic_method.carbon b/toolchain/check/testdata/class/method/generic_method.carbon index 680ecfee5897..8d9d57a41c35 100644 --- a/toolchain/check/testdata/class/method/generic_method.carbon +++ b/toolchain/check/testdata/class/method/generic_method.carbon @@ -56,7 +56,10 @@ fn Class(T:! type).F[unused self: Self](unused n: T) {} // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Class.F.decl: %Class.F.type = fn_decl @Class.F [symbolic = constants.%Class.F] { @@ -65,7 +68,10 @@ fn Class(T:! type).F[unused self: Self](unused n: T) {} // CHECK:STDOUT: %n.patt: @Class.F.%pattern_type.loc17_20 (%pattern_type.51d) = value_binding_pattern n [concrete] // CHECK:STDOUT: %n.param_patt: @Class.F.%pattern_type.loc17_20 (%pattern_type.51d) = value_param_pattern %n.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_14.1: type = splice_block %.loc20_14.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_14.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20: type = symbolic_binding T, 0 [symbolic = @Class.%T.loc15_13.1 (constants.%T)] // CHECK:STDOUT: %self.param.loc20: @Class.F.%Class (%Class) = value_param call_param0 // CHECK:STDOUT: %.loc20_35.1: type = splice_block %Self.ref.loc20 [symbolic = %Class (constants.%Class)] { diff --git a/toolchain/check/testdata/class/method/method.carbon b/toolchain/check/testdata/class/method/method.carbon index b81a9cbd50fc..814237996d62 100644 --- a/toolchain/check/testdata/class/method/method.carbon +++ b/toolchain/check/testdata/class/method/method.carbon @@ -180,8 +180,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc24: Core.Form = init_form %i32.loc24, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc24: %Class = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc24: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -195,8 +194,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc28: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %c.param: %Class = value_param call_param0 // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] @@ -210,8 +208,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc34: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %c.param: %Class = value_param call_param0 // CHECK:STDOUT: %Class.ref: type = name_ref Class, file.%Class.decl [concrete = constants.%Class] @@ -223,8 +220,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc38: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -233,8 +229,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc42: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -245,8 +240,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc47_38: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %p.param: %ptr.8e5 = value_param call_param0 // CHECK:STDOUT: %.loc47_32: type = splice_block %ptr [concrete = constants.%ptr.8e5] { @@ -263,8 +257,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc51_38: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %p.param: %ptr.8e5 = value_param call_param0 // CHECK:STDOUT: %.loc51_32: type = splice_block %ptr [concrete = constants.%ptr.8e5] { @@ -288,8 +281,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc57: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -298,8 +290,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc61: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -313,8 +304,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32.loc16, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc16: %Class = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc16: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -328,8 +318,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: ref %Class = ref_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -339,8 +328,7 @@ fn CallGOnInitializingExpr() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %F.ref: %Class.F.type = name_ref F, %Class.F.decl [concrete = constants.%Class.F] // CHECK:STDOUT: %A: %Class.F.type = alias_binding A, %Class.F.decl [concrete = constants.%Class.F] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21: %Class.elem = field_decl k, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.k.0bf [concrete = constants.%complete_type.954] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/method/static_method.carbon b/toolchain/check/testdata/class/method/static_method.carbon index 8c9b34ab1d90..af79f0dc0a83 100644 --- a/toolchain/check/testdata/class/method/static_method.carbon +++ b/toolchain/check/testdata/class/method/static_method.carbon @@ -67,14 +67,11 @@ fn Run() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc19: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { @@ -82,8 +79,7 @@ fn Run() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/class/nested_name.carbon b/toolchain/check/testdata/class/nested_name.carbon index 1db91adf394b..5a8a4da1cdf3 100644 --- a/toolchain/check/testdata/class/nested_name.carbon +++ b/toolchain/check/testdata/class/nested_name.carbon @@ -95,8 +95,7 @@ fn G(o: Outer) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21_26: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %oi.param: %Inner = value_param call_param0 // CHECK:STDOUT: %.loc21_15: type = splice_block %Inner.ref [concrete = constants.%Inner] { @@ -128,8 +127,7 @@ fn G(o: Outer) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Inner { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %Inner.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/reenter_scope.carbon b/toolchain/check/testdata/class/reenter_scope.carbon index c183478d0105..82a8e11246b0 100644 --- a/toolchain/check/testdata/class/reenter_scope.carbon +++ b/toolchain/check/testdata/class/reenter_scope.carbon @@ -60,8 +60,7 @@ fn Class.F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20: Core.Form = init_form %i32.loc20, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param.loc20: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return.loc20: ref %i32 = return_slot %return.param.loc20 @@ -73,8 +72,7 @@ fn Class.F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32.loc16, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param.loc16: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return.loc16: ref %i32 = return_slot %return.param.loc16 @@ -83,8 +81,7 @@ fn Class.F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/class/reorder.carbon b/toolchain/check/testdata/class/reorder.carbon index 0b2c2ff69ce7..c494f17c868c 100644 --- a/toolchain/check/testdata/class/reorder.carbon +++ b/toolchain/check/testdata/class/reorder.carbon @@ -84,8 +84,7 @@ class Class { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -94,8 +93,7 @@ class Class { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/class/reorder_qualified.carbon b/toolchain/check/testdata/class/reorder_qualified.carbon index 9badb39d3ffb..70294887d8a8 100644 --- a/toolchain/check/testdata/class/reorder_qualified.carbon +++ b/toolchain/check/testdata/class/reorder_qualified.carbon @@ -168,8 +168,7 @@ class A { // CHECK:STDOUT: %B.decl: type = class_decl @B [concrete = constants.%B] {} {} // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %A.AF.decl: %A.AF.type = fn_decl @A.AF [concrete = constants.%A.AF] {} {} -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc50: %A.elem = field_decl a, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.ba9 [concrete = constants.%complete_type.fd7] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -185,8 +184,7 @@ class A { // CHECK:STDOUT: class @B { // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} // CHECK:STDOUT: %B.BF.decl: %B.BF.type = fn_decl @B.BF [concrete = constants.%B.BF] {} {} -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20: %B.elem = field_decl b, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.b.0a3 [concrete = constants.%complete_type.ba8] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -205,8 +203,7 @@ class A { // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} // CHECK:STDOUT: %D.DF.decl: %D.DF.type = fn_decl @D.DF [concrete = constants.%D.DF] {} {} // CHECK:STDOUT: %C.CF.decl: %C.CF.type = fn_decl @C.CF [concrete = constants.%C.CF] {} {} -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc46: %C.elem = field_decl c, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.c.b66 [concrete = constants.%complete_type.836] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -226,8 +223,7 @@ class A { // CHECK:STDOUT: class @D { // CHECK:STDOUT: %D.F.decl: %D.F.type = fn_decl @D.F [concrete = constants.%D.F] {} {} // CHECK:STDOUT: %D.DF.decl: %D.DF.type = fn_decl @D.DF [concrete = constants.%D.DF] {} {} -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc28: %D.elem = field_decl d, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.d.b7b [concrete = constants.%complete_type.860] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/scope.carbon b/toolchain/check/testdata/class/scope.carbon index fe5a02fc9a1f..a548849377b4 100644 --- a/toolchain/check/testdata/class/scope.carbon +++ b/toolchain/check/testdata/class/scope.carbon @@ -106,8 +106,7 @@ fn Run() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -120,8 +119,7 @@ fn Run() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -130,8 +128,7 @@ fn Run() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -186,10 +183,7 @@ fn Run() { // CHECK:STDOUT: %F.ref.loc30: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %F.call: init %i32 = call %F.ref.loc30() // CHECK:STDOUT: assign %a.var, %F.call -// CHECK:STDOUT: %.loc30: type = splice_block %i32.loc30 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete] @@ -200,10 +194,7 @@ fn Run() { // CHECK:STDOUT: %F.ref.loc31: %Class.F.type = name_ref F, @Class.%Class.F.decl [concrete = constants.%Class.F] // CHECK:STDOUT: %Class.F.call: init %i32 = call %F.ref.loc31() // CHECK:STDOUT: assign %b.var, %Class.F.call -// CHECK:STDOUT: %.loc31: type = splice_block %i32.loc31 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var // CHECK:STDOUT: %DestroyOp.bound.loc31: = bound_method %b.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call.loc31: init %empty_tuple.type = call %DestroyOp.bound.loc31(%b.var) diff --git a/toolchain/check/testdata/class/self/raw_self.carbon b/toolchain/check/testdata/class/self/raw_self.carbon index 8f7aba56217f..3a70b52f4116 100644 --- a/toolchain/check/testdata/class/self/raw_self.carbon +++ b/toolchain/check/testdata/class/self/raw_self.carbon @@ -91,10 +91,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Self.ref.loc21: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %self.loc21_16: ref %Class = ref_binding self, %self.param.loc21_20 // CHECK:STDOUT: %self.param.loc21_34: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc21: type = splice_block %i32.loc21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %self.loc21_28: %i32 = value_binding r#self, %self.param.loc21_34 // CHECK:STDOUT: } // CHECK:STDOUT: %Class.G.decl: %Class.G.type = fn_decl @Class.G [concrete = constants.%Class.G] { @@ -105,10 +102,8 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %return.patt: %pattern_type.511 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.511 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc25_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc25_46: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_46: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25_41: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25_46: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25_49.1: %tuple.type.24b = tuple_literal (%i32.loc25_41, %i32.loc25_46) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc25_49.2: type = converted %.loc25_49.1, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %.loc25_49.3: Core.Form = init_form %.loc25_49.2, call_param2 [concrete = constants.%.0a8] @@ -116,10 +111,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Self.ref.loc25: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %self.loc25_12: %Class = value_binding self, %self.param.loc25_16 // CHECK:STDOUT: %self.param.loc25_30: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc25_32: type = splice_block %i32.loc25_32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %self.loc25_24: %i32 = value_binding r#self, %self.param.loc25_30 // CHECK:STDOUT: %return.param.loc25: ref %tuple.type.d07 = out_param call_param2 // CHECK:STDOUT: %return.loc25: ref %tuple.type.d07 = return_slot %return.param.loc25 @@ -137,10 +129,7 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Self.ref.loc16: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %self.loc16_12: ref %Class = ref_binding self, %self.param.loc16_16 // CHECK:STDOUT: %self.param.loc16_30: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %self.loc16_24: %i32 = value_binding r#self, %self.param.loc16_30 // CHECK:STDOUT: } // CHECK:STDOUT: %Class.G.decl: %Class.G.type = fn_decl @Class.G [concrete = constants.%Class.G] { @@ -151,10 +140,8 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %return.patt: %pattern_type.511 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.511 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc17_37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc17_42: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_42: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17_37: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17_42: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17_45.1: %tuple.type.24b = tuple_literal (%i32.loc17_37, %i32.loc17_42) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc17_45.2: type = converted %.loc17_45.1, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %.loc17_45.3: Core.Form = init_form %.loc17_45.2, call_param2 [concrete = constants.%.0a8] @@ -162,16 +149,12 @@ fn Class.G[self: Self](r#self: i32) -> (i32, i32) { // CHECK:STDOUT: %Self.ref.loc17: type = name_ref Self, constants.%Class [concrete = constants.%Class] // CHECK:STDOUT: %self.loc17_8: %Class = value_binding self, %self.param.loc17_12 // CHECK:STDOUT: %self.param.loc17_26: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc17_28: type = splice_block %i32.loc17_28 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc17_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %self.loc17_20: %i32 = value_binding r#self, %self.param.loc17_26 // CHECK:STDOUT: %return.param.loc17: ref %tuple.type.d07 = out_param call_param2 // CHECK:STDOUT: %return.loc17: ref %tuple.type.d07 = return_slot %return.param.loc17 // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: %Class.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/self/self.carbon b/toolchain/check/testdata/class/self/self.carbon index b57e84a9ab2a..c3d0861bd868 100644 --- a/toolchain/check/testdata/class/self/self.carbon +++ b/toolchain/check/testdata/class/self/self.carbon @@ -103,8 +103,7 @@ class Class { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11: Core.Form = init_form %i32.loc11, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc11: %Class = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc11: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -118,8 +117,7 @@ class Class { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc15: ref %Class = ref_param call_param0 // CHECK:STDOUT: %Self.ref.loc15: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -136,8 +134,7 @@ class Class { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc5: %Class = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc5: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -151,8 +148,7 @@ class Class { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: Core.Form = init_form %i32.loc6, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc6: ref %Class = ref_param call_param0 // CHECK:STDOUT: %Self.ref.loc6: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -160,8 +156,7 @@ class Class { // CHECK:STDOUT: %return.param.loc6: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return.loc6: ref %i32 = return_slot %return.param.loc6 // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: %Class.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type diff --git a/toolchain/check/testdata/class/self/self_type.carbon b/toolchain/check/testdata/class/self/self_type.carbon index 27c5c57da8d3..9662749df8f8 100644 --- a/toolchain/check/testdata/class/self/self_type.carbon +++ b/toolchain/check/testdata/class/self/self_type.carbon @@ -85,8 +85,7 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: Core.Form = init_form %i32.loc25, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc25: %Class = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc25: type = name_ref Self, constants.%Class [concrete = constants.%Class] @@ -103,8 +102,7 @@ fn Class.F[self: Self]() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: Core.Form = init_form %i32.loc16, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param.loc16: %Class = value_param call_param0 // CHECK:STDOUT: %Self.ref.loc16: type = name_ref Self, constants.%Class [concrete = constants.%Class] diff --git a/toolchain/check/testdata/class/syntactic_merge_literal.carbon b/toolchain/check/testdata/class/syntactic_merge_literal.carbon index 8d45de200227..d17211b7306f 100644 --- a/toolchain/check/testdata/class/syntactic_merge_literal.carbon +++ b/toolchain/check/testdata/class/syntactic_merge_literal.carbon @@ -101,8 +101,7 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc4_9.2: %i32 = symbolic_binding a, 0 [symbolic = %a.loc4_9.1 (constants.%a)] // CHECK:STDOUT: } @@ -252,8 +251,7 @@ class D(b:! C(1_000)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a.loc4_9.2: %i32 = symbolic_binding a, 0 [symbolic = %a.loc4_9.1 (constants.%a)] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/class/virtual_modifiers.carbon b/toolchain/check/testdata/class/virtual_modifiers.carbon index c2a846701df4..338e4e01275b 100644 --- a/toolchain/check/testdata/class/virtual_modifiers.carbon +++ b/toolchain/check/testdata/class/virtual_modifiers.carbon @@ -1413,11 +1413,9 @@ class T2(G2:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Base { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %Base.elem = field_decl m1, element1 [concrete] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6: %Base.elem = field_decl m2, element2 [concrete] // CHECK:STDOUT: %Base.F.decl: %Base.F.type = fn_decl @Base.F [concrete = constants.%Base.F] { // CHECK:STDOUT: %self.patt: %pattern_type.101 = value_binding_pattern self [concrete] @@ -1458,12 +1456,9 @@ class T2(G2:! type) { // CHECK:STDOUT: %specific_fn.loc12: = specific_function %impl.elem0.loc12, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc12_3.2: = bound_method %int_3.loc12, %specific_fn.loc12 [concrete = constants.%bound_method.fa7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12: init %i32 = call %bound_method.loc12_3.2(%int_3.loc12) [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc12_3: init %i32 = converted %int_3.loc12, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12 [concrete = constants.%int_3.822] -// CHECK:STDOUT: assign %i.var, %.loc12_3 -// CHECK:STDOUT: %.loc12_10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc12: init %i32 = converted %int_3.loc12, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc12 [concrete = constants.%int_3.822] +// CHECK:STDOUT: assign %i.var, %.loc12 +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i: ref %i32 = ref_binding i, %i.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b1.patt: %pattern_type.101 = ref_binding_pattern b1 [concrete] @@ -1942,10 +1937,7 @@ class T2(G2:! type) { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%Derived [concrete = constants.%Derived] // CHECK:STDOUT: %self: %Derived = value_binding self, %self.param // CHECK:STDOUT: %v.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: %i32 = value_binding v, %v.param // CHECK:STDOUT: } // CHECK:STDOUT: %vtable_decl: ref %ptr.454 = vtable_decl @Derived.vtable [concrete = constants.%Derived.vtable_decl] @@ -2195,7 +2187,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_21.1: type = splice_block %.loc7_21.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_21.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -2313,7 +2308,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_21.1: type = splice_block %.loc7_21.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_21.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Derived.decl: type = class_decl @Derived [concrete = constants.%Derived] {} {} @@ -2670,7 +2668,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %self.param: %T1 = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%T1 [concrete = constants.%T1] // CHECK:STDOUT: %self: %T1 = value_binding self, %self.param -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_32.1: type = splice_block %.loc9_32.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_32.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_28.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] @@ -2725,7 +2726,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %T1.decl: %T1.type = class_decl @T1 [concrete = constants.%T1.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -2749,7 +2753,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Self.ref: type = name_ref Self, %.loc9_22.2 [symbolic = %T1 (constants.%T1)] // CHECK:STDOUT: } // CHECK:STDOUT: %self: @T1.F.%T1 (%T1) = value_binding self, %self.param -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_32.1: type = splice_block %.loc9_32.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_32.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_28.2: type = symbolic_binding T, 1 [symbolic = %T.loc9_28.1 (constants.%T.091)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] @@ -2818,7 +2825,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %T1.decl: %T1.type = class_decl @T1 [concrete = constants.%T1.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -2930,7 +2940,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %T1.decl: %T1.type = class_decl @T1 [concrete = constants.%T1.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -3125,7 +3138,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %GenericDerived.decl: %GenericDerived.type = class_decl @GenericDerived [concrete = constants.%GenericDerived.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_31.1: type = splice_block %.loc9_31.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_31.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_27.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_27.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -3355,7 +3371,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %GenericBase.decl: %GenericBase.type = class_decl @GenericBase [concrete = constants.%GenericBase.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_24.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_24.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %T1.decl: type = class_decl @T1 [concrete = constants.%T1] {} {} @@ -3616,7 +3635,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_21.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %T1.decl: type = class_decl @T1 [concrete = constants.%T1] {} {} @@ -3840,7 +3862,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_21.1: type = splice_block %.loc7_21.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_21.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D1.decl: type = class_decl @D1 [concrete = constants.%D1] {} {} @@ -4046,13 +4071,19 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_21.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Derived.decl: %Derived.type = class_decl @Derived [concrete = constants.%Derived.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_19.1: type = splice_block %.loc7_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -4302,13 +4333,19 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_21.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Derived.decl: %Derived.type = class_decl @Derived [concrete = constants.%Derived.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_19.1: type = splice_block %.loc7_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -4572,7 +4609,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_21.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %T1.decl: type = class_decl @T1 [concrete = constants.%T1] {} {} @@ -4723,7 +4763,10 @@ class T2(G2:! type) { // CHECK:STDOUT: %Base.decl: %Base.type = class_decl @Base [concrete = constants.%Base.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_21.1: type = splice_block %.loc4_21.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_21.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -4998,13 +5041,19 @@ class T2(G2:! type) { // CHECK:STDOUT: %T1.decl: %T1.type = class_decl @T1 [concrete = constants.%T1.generic] { // CHECK:STDOUT: %G1.patt: %pattern_type.98f = symbolic_binding_pattern G1, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %G1.loc4_15.2: type = symbolic_binding G1, 0 [symbolic = %G1.loc4_15.1 (constants.%G1)] // CHECK:STDOUT: } // CHECK:STDOUT: %T2.decl: %T2.type = class_decl @T2 [concrete = constants.%T2.generic] { // CHECK:STDOUT: %G2.patt: %pattern_type.98f = symbolic_binding_pattern G2, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15.1: type = splice_block %.loc8_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %G2.loc8_10.2: type = symbolic_binding G2, 0 [symbolic = %G2.loc8_10.1 (constants.%G2)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -5192,13 +5241,19 @@ class T2(G2:! type) { // CHECK:STDOUT: %T1.decl: %T1.type = class_decl @T1 [concrete = constants.%T1.generic] { // CHECK:STDOUT: %G1.patt: %pattern_type.98f = symbolic_binding_pattern G1, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %G1.loc4_15.2: type = symbolic_binding G1, 0 [symbolic = %G1.loc4_15.1 (constants.%G1)] // CHECK:STDOUT: } // CHECK:STDOUT: %T2.decl: %T2.type = class_decl @T2 [concrete = constants.%T2.generic] { // CHECK:STDOUT: %G2.patt: %pattern_type.98f = symbolic_binding_pattern G2, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15.1: type = splice_block %.loc8_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %G2.loc8_10.2: type = symbolic_binding G2, 0 [symbolic = %G2.loc8_10.1 (constants.%G2)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/array.carbon b/toolchain/check/testdata/deduce/array.carbon index be52a4946238..90e5fc20fd1f 100644 --- a/toolchain/check/testdata/deduce/array.carbon +++ b/toolchain/check/testdata/deduce/array.carbon @@ -215,7 +215,10 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_35: type = name_ref T, %T.loc6_6.2 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_35.3: Core.Form = init_form %T.ref.loc6_35, call_param1 [symbolic = %.loc6_35.2 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %a.param: @F.%array_type.loc6_29.1 (%array_type.3ec) = value_param call_param0 // CHECK:STDOUT: %.loc6_29: type = splice_block %array_type.loc6_29.2 [symbolic = %array_type.loc6_29.1 (constants.%array_type.3ec)] { @@ -437,8 +440,7 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_55: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %.loc6_26.1: type = splice_block %.loc6_26.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] @@ -463,8 +465,7 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -631,10 +632,13 @@ fn G() { // CHECK:STDOUT: %a.patt: @F.%pattern_type (%pattern_type.4d8) = value_binding_pattern a [concrete] // CHECK:STDOUT: %a.param_patt: @F.%pattern_type (%pattern_type.4d8) = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_36.1: type = splice_block %.loc6_36.3 [concrete = Core.IntLiteral] { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, imports.%Core.IntLiteral [concrete = constants.%IntLiteral] // CHECK:STDOUT: %IntLiteral.call: init type = call %IntLiteral.ref() [concrete = Core.IntLiteral] @@ -813,7 +817,10 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_35: type = name_ref T, %T.loc6_6.2 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_35.3: Core.Form = init_form %T.ref.loc6_35, call_param1 [symbolic = %.loc6_35.2 (constants.%.3cf2c9.1)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %a.param: @F.%array_type.loc6_29.1 (%array_type.a0b) = value_param call_param0 // CHECK:STDOUT: %.loc6_29: type = splice_block %array_type.loc6_29.2 [symbolic = %array_type.loc6_29.1 (constants.%array_type.a0b)] { @@ -1040,8 +1047,7 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_55: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %.loc7_26.1: type = splice_block %.loc7_26.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] @@ -1066,8 +1072,7 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1280,13 +1285,11 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_41: Core.Form = init_form %i32.loc6_41, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %.loc6_10: type = splice_block %i32.loc6_10 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_6.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc6_6.1 (constants.%N.5de)] // CHECK:STDOUT: %a.param: @F.%array_type.loc6_35.1 (%array_type.8c3) = value_param call_param0 @@ -1310,8 +1313,7 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1472,8 +1474,7 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc5_10: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc5_6.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc5_6.1 (constants.%N.5de)] // CHECK:STDOUT: %a.param: @F.%array_type.loc5_35.1 (%array_type) = value_param call_param0 diff --git a/toolchain/check/testdata/deduce/binding_pattern.carbon b/toolchain/check/testdata/deduce/binding_pattern.carbon index adc1f6f700de..79932ead061d 100644 --- a/toolchain/check/testdata/deduce/binding_pattern.carbon +++ b/toolchain/check/testdata/deduce/binding_pattern.carbon @@ -123,16 +123,25 @@ fn F(unused U:! type, V:! type where {} impls Core.ImplicitAs(.Self)) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc8_13.2: type = symbolic_binding U, 0 [symbolic = %U.loc8_13.1 (constants.%U)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_27.1: type = splice_block %.loc8_27.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_27.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc8_23.2: type = symbolic_binding V, 1 [symbolic = %V.loc8_23.1 (constants.%V)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -315,25 +324,32 @@ fn F(unused U:! type, V:! type where {} impls Core.ImplicitAs(.Self)) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: %V.patt: %pattern_type.354 = symbolic_binding_pattern V, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_13.2: type = symbolic_binding U, 0 [symbolic = %U.loc9_13.1 (constants.%U)] // CHECK:STDOUT: %.loc9_32.1: type = splice_block %.loc9_32.2 [concrete = constants.%type_where] { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] -// CHECK:STDOUT: %.Self.3: type = symbolic_binding .Self [symbolic_self = constants.%.Self.16f] +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_27: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.Self.2: type = symbolic_binding .Self [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %.loc9_39.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.3 [symbolic_self = constants.%.Self.16f] +// CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %ImplicitAs.type.loc9: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%.Self.16f)> [symbolic_self = constants.%ImplicitAs.type.f60] // CHECK:STDOUT: %.loc9_39.2: type = converted %.loc9_39.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %.loc9_32.2: type = where_expr %.Self.3 [concrete = constants.%type_where] { +// CHECK:STDOUT: %.loc9_32.2: type = where_expr %.Self.2 [concrete = constants.%type_where] { // CHECK:STDOUT: requirement_base_facet_type type // CHECK:STDOUT: requirement_impls %.loc9_39.2, %ImplicitAs.type.loc9 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/deduce/generic_type.carbon b/toolchain/check/testdata/deduce/generic_type.carbon index 837df4f82f41..89938ee234eb 100644 --- a/toolchain/check/testdata/deduce/generic_type.carbon +++ b/toolchain/check/testdata/deduce/generic_type.carbon @@ -118,7 +118,10 @@ fn G() -> i32 { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} @@ -131,7 +134,10 @@ fn G() -> i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc7_28: type = name_ref T, %T.loc7_6.2 [symbolic = %T.loc7_6.1 (constants.%T)] // CHECK:STDOUT: %.loc7_28.3: Core.Form = init_form %T.ref.loc7_28, call_param1 [symbolic = %.loc7_28.2 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.1: type = splice_block %.loc7_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_6.1 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%C.loc7_22.1 (%C.5a3) = value_param call_param0 // CHECK:STDOUT: %.loc7_22: type = splice_block %C.loc7_22.2 [symbolic = %C.loc7_22.1 (constants.%C.5a3)] { @@ -302,7 +308,10 @@ fn G() -> i32 { // CHECK:STDOUT: %I.decl: %I.type = class_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -315,7 +324,10 @@ fn G() -> i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc7_28.2: Core.Form = init_form %C.ref, call_param1 [concrete = constants.%.b89] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.1: type = splice_block %.loc7_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_6.1 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%I.loc7_22.1 (%I.3cf) = value_param call_param0 // CHECK:STDOUT: %.loc7_22: type = splice_block %I.loc7_22.2 [symbolic = %I.loc7_22.1 (constants.%I.3cf)] { @@ -496,7 +508,10 @@ fn G() -> i32 { // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -514,9 +529,15 @@ fn G() -> i32 { // CHECK:STDOUT: %.loc13_56.3: %tuple.type.24b = tuple_literal (%T.ref.loc13_52, %U.ref.loc13_55) [symbolic = %tuple (constants.%tuple.4b9)] // CHECK:STDOUT: %.loc13_56.4: type = converted %.loc13_56.3, constants.%tuple.type.a5e [symbolic = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc13_56.5: Core.Form = init_form %.loc13_56.4, call_param1 [symbolic = %.loc13_56.2 (constants.%.abc)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_10.1: type = splice_block %.loc13_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_6.1 (constants.%T)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_20.1: type = splice_block %.loc13_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc13_16.1 (constants.%U)] // CHECK:STDOUT: %p.param: @F.%Inner.loc13_45.1 (%Inner.e21) = value_param call_param0 // CHECK:STDOUT: %.loc13_45: type = splice_block %Inner.loc13_45.2 [symbolic = %Inner.loc13_45.1 (constants.%Inner.e21)] { @@ -570,7 +591,10 @@ fn G() -> i32 { // CHECK:STDOUT: %Inner.decl: @Outer.%Inner.type (%Inner.type.e0d) = class_decl @Inner [symbolic = @Outer.%Inner.generic (constants.%Inner.generic.ada)] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_19.1: type = splice_block %.loc5_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_15.2: type = symbolic_binding U, 1 [symbolic = %U.loc5_15.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] @@ -819,8 +843,7 @@ fn G() -> i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_19.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc4_19.1 (constants.%N.5de)] // CHECK:STDOUT: } @@ -831,13 +854,11 @@ fn G() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_44: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_44: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_44: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_44: Core.Form = init_form %i32.loc6_44, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %.loc6_10: type = splice_block %i32.loc6_10 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc6_6.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc6_6.1 (constants.%N.5de)] // CHECK:STDOUT: %x.param: @F.%WithNontype.loc6_38.1 (%WithNontype.205) = value_param call_param0 @@ -854,8 +875,7 @@ fn G() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/deduce/int_float.carbon b/toolchain/check/testdata/deduce/int_float.carbon index 9ae7177d23af..eeb2cc4bfb48 100644 --- a/toolchain/check/testdata/deduce/int_float.carbon +++ b/toolchain/check/testdata/deduce/int_float.carbon @@ -140,10 +140,7 @@ fn G(a: f64) -> Core.IntLiteral() { // CHECK:STDOUT: %.loc8_33.2: type = converted %IntLiteral.call, %.loc8_33.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc8_33.3: Core.Form = init_form %.loc8_33.2, call_param1 [concrete = constants.%.7dc] // CHECK:STDOUT: %a.param: %i64 = value_param call_param0 -// CHECK:STDOUT: %.loc8_9: type = splice_block %i64 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %a: %i64 = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref Core.IntLiteral = out_param call_param1 // CHECK:STDOUT: %return: ref Core.IntLiteral = return_slot %return.param @@ -298,10 +295,7 @@ fn G(a: f64) -> Core.IntLiteral() { // CHECK:STDOUT: %.loc8_33.2: type = converted %IntLiteral.call, %.loc8_33.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc8_33.3: Core.Form = init_form %.loc8_33.2, call_param1 [concrete = constants.%.7dc] // CHECK:STDOUT: %a.param: %f64.d77 = value_param call_param0 -// CHECK:STDOUT: %.loc8_9: type = splice_block %f64 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %a: %f64.d77 = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref Core.IntLiteral = out_param call_param1 // CHECK:STDOUT: %return: ref Core.IntLiteral = return_slot %return.param diff --git a/toolchain/check/testdata/deduce/tuple.carbon b/toolchain/check/testdata/deduce/tuple.carbon index 554823a4b209..2e09528c611f 100644 --- a/toolchain/check/testdata/deduce/tuple.carbon +++ b/toolchain/check/testdata/deduce/tuple.carbon @@ -119,9 +119,15 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref.loc7_43: type = name_ref U, %U.loc7_16.2 [symbolic = %U.loc7_16.1 (constants.%U)] // CHECK:STDOUT: %.loc7_43.3: Core.Form = init_form %U.ref.loc7_43, call_param1 [symbolic = %.loc7_43.2 (constants.%.4b7)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.1: type = splice_block %.loc7_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_6.1 (constants.%T)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_20.1: type = splice_block %.loc7_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc7_16.1 (constants.%U)] // CHECK:STDOUT: %pair.param: @F.%tuple.type (%tuple.type.a5e) = value_param call_param0 // CHECK:STDOUT: %.loc7_37.1: type = splice_block %.loc7_37.3 [symbolic = %tuple.type (constants.%tuple.type.a5e)] { @@ -341,10 +347,8 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_31.1: type = splice_block %.loc4_31.3 [concrete = constants.%tuple.type.d07] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32.loc4_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc4_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_23: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_31.2: %tuple.type.24b = tuple_literal (%i32.loc4_23, %i32.loc4_28) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc4_31.3: type = converted %.loc4_31.2, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } @@ -358,19 +362,16 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_54: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_54: Core.Form = init_form %i32.loc6_54, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %.loc6_10: type = splice_block %i32.loc6_10 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %A.loc6_6.2: %i32 = symbolic_binding A, 0 [symbolic = %A.loc6_6.1 (constants.%A)] // CHECK:STDOUT: %.loc6_19: type = splice_block %i32.loc6_19 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32.loc6_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %B.loc6_15.2: %i32 = symbolic_binding B, 1 [symbolic = %B.loc6_15.1 (constants.%B)] // CHECK:STDOUT: %h.param: @F.%HasPair.loc6_48.1 (%HasPair.2e7) = value_param call_param0 @@ -393,8 +394,7 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_29: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %h.param: %HasPair.867 = value_param call_param0 // CHECK:STDOUT: %.loc8_23.1: type = splice_block %HasPair [concrete = constants.%HasPair.867] { @@ -565,7 +565,10 @@ fn G(pair: (C, D)) -> D { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc7_33: type = name_ref T, %T.loc7_6.2 [symbolic = %T.loc7_6.1 (constants.%T)] // CHECK:STDOUT: %.loc7_33.2: Core.Form = init_form %T.ref.loc7_33, call_param1 [symbolic = %.loc7_33.1 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.1: type = splice_block %.loc7_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_6.1 (constants.%T)] // CHECK:STDOUT: %pair.param: @F.%tuple.type (%tuple.type.07a) = value_param call_param0 // CHECK:STDOUT: %.loc7_27.1: type = splice_block %.loc7_27.3 [symbolic = %tuple.type (constants.%tuple.type.07a)] { diff --git a/toolchain/check/testdata/deduce/type_operator.carbon b/toolchain/check/testdata/deduce/type_operator.carbon index 8466134345a2..873df64a41a8 100644 --- a/toolchain/check/testdata/deduce/type_operator.carbon +++ b/toolchain/check/testdata/deduce/type_operator.carbon @@ -121,7 +121,10 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_26: type = name_ref T, %T.loc6_6.2 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_26.3: Core.Form = init_form %T.ref.loc6_26, call_param1 [symbolic = %.loc6_26.2 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%ptr.loc6_20.1 (%ptr.e8f) = value_param call_param0 // CHECK:STDOUT: %.loc6_20: type = splice_block %ptr.loc6_20.2 [symbolic = %ptr.loc6_20.1 (constants.%ptr.e8f)] { @@ -274,7 +277,10 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_32: type = name_ref T, %T.loc6_6.2 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_32.3: Core.Form = init_form %T.ref.loc6_32, call_param1 [symbolic = %.loc6_32.2 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%ptr.loc6_26.1 (%ptr.a15) = value_param call_param0 // CHECK:STDOUT: %.loc6_26: type = splice_block %ptr.loc6_26.2 [symbolic = %ptr.loc6_26.1 (constants.%ptr.a15)] { @@ -431,7 +437,10 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_26: type = name_ref T, %T.loc6_6.2 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_26.3: Core.Form = init_form %T.ref.loc6_26, call_param1 [symbolic = %.loc6_26.2 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%ptr.loc6_20.1 (%ptr.e8f) = value_param call_param0 // CHECK:STDOUT: %.loc6_20: type = splice_block %ptr.loc6_20.2 [symbolic = %ptr.loc6_20.1 (constants.%ptr.e8f)] { @@ -584,7 +593,10 @@ fn G(p: C*) -> const C { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6_32: type = name_ref T, %T.loc6_6.2 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %.loc6_32.3: Core.Form = init_form %T.ref.loc6_32, call_param1 [symbolic = %.loc6_32.2 (constants.%.3cf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: %p.param: @F.%ptr.loc6_26.1 (%ptr.a15) = value_param call_param0 // CHECK:STDOUT: %.loc6_26: type = splice_block %ptr.loc6_26.2 [symbolic = %ptr.loc6_26.1 (constants.%ptr.a15)] { diff --git a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon index ec3530d4d4bd..8d3361975045 100644 --- a/toolchain/check/testdata/deduce/value_with_type_through_access.carbon +++ b/toolchain/check/testdata/deduce/value_with_type_through_access.carbon @@ -176,7 +176,8 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.3 [concrete = constants.%tuple.type] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.loc4_28.2: %tuple.type = tuple_literal (type) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc4_22: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc4_28.2: %tuple.type = tuple_literal (%.loc4_22) [concrete = constants.%tuple.0d2] // CHECK:STDOUT: %.loc4_28.3: type = converted %.loc4_28.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] @@ -190,7 +191,8 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.3 [concrete = constants.%tuple.type] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.loc8_17.2: %tuple.type = tuple_literal (type) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc8_11: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc8_17.2: %tuple.type = tuple_literal (%.loc8_11) [concrete = constants.%tuple.0d2] // CHECK:STDOUT: %.loc8_17.3: type = converted %.loc8_17.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_6.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc8_6.1 (constants.%T)] @@ -378,8 +380,9 @@ fn G() { // CHECK:STDOUT: %HoldsType.decl: %HoldsType.type = class_decl @HoldsType [concrete = constants.%HoldsType.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.7f2 = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.t [concrete = constants.%struct_type.t] { +// CHECK:STDOUT: %.loc4_30: type = splice_block %struct_type.t [concrete = constants.%struct_type.t] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_26: type = type_literal type [concrete = type] // CHECK:STDOUT: %struct_type.t: type = struct_type {.t: type} [concrete = constants.%struct_type.t] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: %struct_type.t = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T)] @@ -393,6 +396,7 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_19: type = splice_block %struct_type.t [concrete = constants.%struct_type.t] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_15: type = type_literal type [concrete = type] // CHECK:STDOUT: %struct_type.t: type = struct_type {.t: type} [concrete = constants.%struct_type.t] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_6.2: %struct_type.t = symbolic_binding T, 0 [symbolic = %T.loc8_6.1 (constants.%T)] @@ -628,7 +632,7 @@ fn G() { // CHECK:STDOUT: %a.param: = value_param call_param1 // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %T.ref.loc21_51: %Class = name_ref T, %T.loc21_6.2 [symbolic = %T.loc21_6.1 (constants.%T.d7d)] -// CHECK:STDOUT: %t.ref: %Class.elem = name_ref t, @Class.%.loc5 [concrete = @Class.%.loc5] +// CHECK:STDOUT: %t.ref: %Class.elem = name_ref t, @Class.%.loc5_8 [concrete = @Class.%.loc5_8] // CHECK:STDOUT: %.loc21_52.2: ref type = class_element_access %T.ref.loc21_51, element0 [symbolic = %.loc21_52.1 (constants.%.208)] // CHECK:STDOUT: %.loc21_52.3: type = acquire_value %.loc21_52.2 // CHECK:STDOUT: } @@ -648,13 +652,14 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Class { -// CHECK:STDOUT: %.loc5: %Class.elem = field_decl t, element0 [concrete] +// CHECK:STDOUT: %.loc5_10: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc5_8: %Class.elem = field_decl t, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.t [concrete = constants.%complete_type.509] // CHECK:STDOUT: complete_type_witness = %complete_type // CHECK:STDOUT: // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%Class -// CHECK:STDOUT: .t = %.loc5 +// CHECK:STDOUT: .t = %.loc5_8 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: generic class @HoldsType(%T.loc8_17.2: %Class) { @@ -865,10 +870,11 @@ fn G() { // CHECK:STDOUT: %HoldsType.decl: %HoldsType.type = class_decl @HoldsType [concrete = constants.%HoldsType.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.dcb = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4: type = splice_block %array_type [concrete = constants.%array_type] { +// CHECK:STDOUT: %.loc4_34: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_27: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %array_type: type = array_type %int_1, type [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc4_27 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_17.2: %array_type = symbolic_binding T, 0 [symbolic = %T.loc4_17.1 (constants.%T.9b7)] // CHECK:STDOUT: } @@ -881,8 +887,9 @@ fn G() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc12_23: type = splice_block %array_type [concrete = constants.%array_type] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_16: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %array_type: type = array_type %int_1, type [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc12_16 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_6.2: %array_type = symbolic_binding T, 0 [symbolic = %T.loc12_6.1 (constants.%T.9b7)] // CHECK:STDOUT: %x.param: @F.%HoldsType.loc12_47.1 (%HoldsType) = value_param call_param0 @@ -896,8 +903,6 @@ fn G() { // CHECK:STDOUT: %.1: = splice_block [concrete = ] { // CHECK:STDOUT: %T.ref.loc12_60: %array_type = name_ref T, %T.loc12_6.2 [symbolic = %T.loc12_6.1 (constants.%T.9b7)] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc12_62.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -958,8 +963,9 @@ fn G() { // CHECK:STDOUT: %HoldsType.ref: %HoldsType.type = name_ref HoldsType, file.%HoldsType.decl [concrete = constants.%HoldsType.generic] // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %.loc24_25.1: %tuple.type.85c = tuple_literal (%C.ref) [concrete = constants.%tuple.1f1] +// CHECK:STDOUT: %.loc24_36: type = type_literal type [concrete = type] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1] -// CHECK:STDOUT: %array_type: type = array_type %int_1, type [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_1, %.loc24_36 [concrete = constants.%array_type] // CHECK:STDOUT: %impl.elem0: %.070 = impl_witness_access constants.%Copy.impl_witness.b47, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %C.ref, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%C.ref) [concrete = constants.%C] diff --git a/toolchain/check/testdata/eval/aggregates.carbon b/toolchain/check/testdata/eval/aggregates.carbon index 4c7b1252f9fa..8fe070ebc82f 100644 --- a/toolchain/check/testdata/eval/aggregates.carbon +++ b/toolchain/check/testdata/eval/aggregates.carbon @@ -149,10 +149,8 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %tuple_copy.var: ref %tuple.type.d07 = var %tuple_copy.var_patt [concrete] // CHECK:STDOUT: %.loc4_26.1: type = splice_block %.loc4_26.3 [concrete = constants.%tuple.type.d07] { -// CHECK:STDOUT: %int_32.loc4_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc4_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_18: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_26.2: %tuple.type.24b = tuple_literal (%i32.loc4_18, %i32.loc4_23) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc4_26.3: type = converted %.loc4_26.2, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } @@ -163,12 +161,9 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %struct_copy.var: ref %struct_type.a.b.c = var %struct_copy.var_patt [concrete] // CHECK:STDOUT: %.loc6: type = splice_block %struct_type.a.b.c [concrete = constants.%struct_type.a.b.c] { -// CHECK:STDOUT: %int_32.loc6_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_23: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.c: type = struct_type {.a: %i32, .b: %i32, .c: %i32} [concrete = constants.%struct_type.a.b.c] // CHECK:STDOUT: } // CHECK:STDOUT: %struct_copy: ref %struct_type.a.b.c = ref_binding struct_copy, %struct_copy.var [concrete = %struct_copy.var] @@ -178,8 +173,7 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %tuple_index.var: ref %array_type = var %tuple_index.var_patt [concrete] // CHECK:STDOUT: %.loc8: type = splice_block %array_type.loc8 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %array_type.loc8: type = array_type %int_1.loc8, %i32.loc8 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -190,8 +184,7 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %struct_access.var: ref %array_type = var %struct_access.var_patt [concrete] // CHECK:STDOUT: %.loc10: type = splice_block %array_type.loc10 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_1.loc10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %array_type.loc10: type = array_type %int_1.loc10, %i32.loc10 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -203,10 +196,8 @@ fn G(N:! i32) { // CHECK:STDOUT: %int_1.loc4: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2.loc4: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc4_35.1: %tuple.type.f94 = tuple_literal (%int_1.loc4, %int_2.loc4) [concrete = constants.%tuple.ad8] -// CHECK:STDOUT: %int_32.loc4_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc4_46: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_46: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_41: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_46: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_49.1: %tuple.type.24b = tuple_literal (%i32.loc4_41, %i32.loc4_46) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc4_49.2: type = converted %.loc4_49.1, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %impl.elem0.loc4_35.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] @@ -248,12 +239,9 @@ fn G(N:! i32) { // CHECK:STDOUT: %int_2.loc6: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %int_1.loc6: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc6_71.1: %struct_type.c.b.a = struct_literal (%int_3.loc6, %int_2.loc6, %int_1.loc6) [concrete = constants.%struct.c75] -// CHECK:STDOUT: %int_32.loc6_81: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_81: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_90: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_90: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_99: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_99: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_81: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_90: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_99: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.b.a.c: type = struct_type {.b: %i32, .a: %i32, .c: %i32} [concrete = constants.%struct_type.b.a.c] // CHECK:STDOUT: %impl.elem0.loc6_71.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc6_71.1: = bound_method %int_2.loc6, %impl.elem0.loc6_71.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.4e5] @@ -307,8 +295,7 @@ fn G(N:! i32) { // CHECK:STDOUT: assign file.%struct_copy.var, %.loc6_1 // CHECK:STDOUT: %int_0.loc8_35: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc8_37.1: %tuple.type.985 = tuple_literal (%int_0.loc8_35) [concrete = constants.%tuple.4f2] -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5] // CHECK:STDOUT: %int_7: Core.IntLiteral = int_value 7 [concrete = constants.%int_7] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] @@ -334,8 +321,7 @@ fn G(N:! i32) { // CHECK:STDOUT: assign file.%tuple_index.var, %.loc8_39 // CHECK:STDOUT: %int_0.loc10_37: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc10_39.1: %tuple.type.985 = tuple_literal (%int_0.loc10_37) [concrete = constants.%tuple.4f2] -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc10: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_1.loc10: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %.loc10_70.1: %struct_type.a.b = struct_literal (%int_3.loc10, %int_1.loc10) [concrete = constants.%struct.a81] @@ -420,8 +406,7 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %array_index.var: ref %array_type.0cb = var %array_index.var_patt [concrete] // CHECK:STDOUT: %.loc9: type = splice_block %array_type [concrete = constants.%array_type.0cb] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [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.0cb] // CHECK:STDOUT: } @@ -432,15 +417,13 @@ fn G(N:! i32) { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %int_0.loc9_35: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: %.loc9_37: %tuple.type.985 = tuple_literal (%int_0.loc9_35) [concrete = constants.%tuple.4f2] -// CHECK:STDOUT: %int_32.loc9_48: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_48: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9_48: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_5: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b] // CHECK:STDOUT: %int_7: Core.IntLiteral = int_value 7 [concrete = constants.%int_7.29f] // CHECK:STDOUT: %int_1.loc9_61: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] // CHECK:STDOUT: %.loc9_65.1: %tuple.type.d46 = tuple_literal (%int_5, %int_7, %int_1.loc9_61, %int_9) [concrete = constants.%tuple.869] -// CHECK:STDOUT: %int_32.loc9_76: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_76: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9_76: type = type_literal constants.%i32 [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.loc9_76 [concrete = constants.%array_type.f32] // CHECK:STDOUT: %impl.elem0.loc9_65.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] @@ -484,8 +467,6 @@ fn G(N:! i32) { // CHECK:STDOUT: %.loc9_67.1: init %array_type.f32 = converted %.loc9_65.1, %.loc9_65.15 [concrete = constants.%array] // CHECK:STDOUT: %int_2.loc9_85: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] // CHECK:STDOUT: %.loc9_67.2: ref %array_type.f32 = temporary %.loc9_65.3, %.loc9_67.1 -// CHECK:STDOUT: %int_32.loc9_86: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_86: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc9_85: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc9_85.1: = bound_method %int_2.loc9_85, %impl.elem0.loc9_85 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.4e5] // CHECK:STDOUT: %specific_fn.loc9_85: = specific_function %impl.elem0.loc9_85, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -686,8 +667,7 @@ fn G(N:! i32) { // CHECK:STDOUT: } // CHECK:STDOUT: %k.var: ref @G.%array_type.loc14_29.2 (%array_type.2ec) = var %k.var_patt // CHECK:STDOUT: %.loc14_29: type = splice_block %array_type.loc14_29.1 [symbolic = %array_type.loc14_29.2 (constants.%array_type.2ec)] { -// 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: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %N.loc12_6.2 [symbolic = %N.loc12_6.1 (constants.%N.5de)] // CHECK:STDOUT: %impl.elem0.loc14_28: %.0a7 = impl_witness_access constants.%ImplicitAs.impl_witness.640, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.dd4] // CHECK:STDOUT: %bound_method.loc14_28.1: = bound_method %N.ref, %impl.elem0.loc14_28 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound)] diff --git a/toolchain/check/testdata/eval/binding.carbon b/toolchain/check/testdata/eval/binding.carbon index a80fd8529971..706db03fdd15 100644 --- a/toolchain/check/testdata/eval/binding.carbon +++ b/toolchain/check/testdata/eval/binding.carbon @@ -129,8 +129,7 @@ let n: array(i32, G()) = (1, 2, 3); // CHECK:STDOUT: %n.patt: %pattern_type.5d8 = value_binding_pattern n [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc11_23: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %F.ref: %F.type = name_ref F, %F.decl [concrete = constants.%F] // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %impl.elem0.loc11_21: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] diff --git a/toolchain/check/testdata/eval/call.carbon b/toolchain/check/testdata/eval/call.carbon index 8de0af5cb953..971b3ef8d8ae 100644 --- a/toolchain/check/testdata/eval/call.carbon +++ b/toolchain/check/testdata/eval/call.carbon @@ -99,7 +99,7 @@ fn UseFGenerically(X:! i32) { // CHECK:STDERR: var unused v: F(X) = {}; // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~ // CHECK:STDERR: - // CHECK:STDERR: fail_todo_dependent_call_type.carbon:[[@LINE+4]]:3: error: cannot access member of interface `Core.Destroy` in type `` that does not implement that interface [MissingImplInMemberAccess] + // CHECK:STDERR: fail_todo_dependent_call_type.carbon:[[@LINE+4]]:3: error: cannot access member of interface `Core.Destroy` in type `` that does not implement that interface [MissingImplInMemberAccess] // CHECK:STDERR: var unused v: F(X) = {}; // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~ // CHECK:STDERR: diff --git a/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon b/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon index 4a7c95e15f19..2391ea22838a 100644 --- a/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_type_to_generic_facet_value.carbon @@ -140,7 +140,10 @@ fn G() { // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc4_19.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_19.1 (constants.%Scalar)] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} @@ -155,10 +158,13 @@ fn G() { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: @CallGenericMethod.%pattern_type (%pattern_type.c49) = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc15_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_22.1 (constants.%T)] -// CHECK:STDOUT: %.loc15: type = splice_block %Generic.type.loc15_52.2 [symbolic = %Generic.type.loc15_52.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.loc15_26.1: type = splice_block %.loc15_26.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc15_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_22.1 (constants.%T)] +// CHECK:STDOUT: %.loc15_52: type = splice_block %Generic.type.loc15_52.2 [symbolic = %Generic.type.loc15_52.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Generic.ref: %Generic.type.835 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_22.2 [symbolic = %T.loc15_22.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_52.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc15_52.1 (constants.%Generic.type.03dff7.2)] @@ -170,10 +176,13 @@ fn G() { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: @PassThroughToGenericMethod.%pattern_type (%pattern_type.c49) = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc21_31.2: type = symbolic_binding T, 0 [symbolic = %T.loc21_31.1 (constants.%T)] -// CHECK:STDOUT: %.loc21: type = splice_block %Generic.type.loc21_54.2 [symbolic = %Generic.type.loc21_54.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.loc21_35.1: type = splice_block %.loc21_35.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc21_35.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc21_31.2: type = symbolic_binding T, 0 [symbolic = %T.loc21_31.1 (constants.%T)] +// CHECK:STDOUT: %.loc21_54: type = splice_block %Generic.type.loc21_54.2 [symbolic = %Generic.type.loc21_54.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Generic.ref: %Generic.type.835 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref.loc21: type = name_ref T, %T.loc21_31.2 [symbolic = %T.loc21_31.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc21_54.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc21_54.1 (constants.%Generic.type.03dff7.2)] @@ -475,7 +484,10 @@ fn G() { // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc4_19.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_19.1 (constants.%Scalar)] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} @@ -492,10 +504,13 @@ fn G() { // CHECK:STDOUT: %t.patt: @CallGenericMethod.%pattern_type.loc15_62 (%pattern_type.51d) = value_binding_pattern t [concrete] // CHECK:STDOUT: %t.param_patt: @CallGenericMethod.%pattern_type.loc15_62 (%pattern_type.51d) = value_param_pattern %t.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc15_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_22.1 (constants.%T)] -// CHECK:STDOUT: %.loc15: type = splice_block %Generic.type.loc15_52.2 [symbolic = %Generic.type.loc15_52.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.loc15_26.1: type = splice_block %.loc15_26.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc15_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_22.1 (constants.%T)] +// CHECK:STDOUT: %.loc15_52: type = splice_block %Generic.type.loc15_52.2 [symbolic = %Generic.type.loc15_52.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Generic.ref: %Generic.type.835 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref.loc15_51: type = name_ref T, %T.loc15_22.2 [symbolic = %T.loc15_22.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_52.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc15_52.1 (constants.%Generic.type.03dff7.2)] diff --git a/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon index c9677e357e72..f2760efb2ec2 100644 --- a/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon +++ b/toolchain/check/testdata/facet/convert_class_value_to_generic_facet_value_value.carbon @@ -189,7 +189,10 @@ fn B() { // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc4_19.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc4_19.1 (constants.%Scalar)] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} @@ -208,10 +211,13 @@ fn B() { // CHECK:STDOUT: %s.patt: @CallGenericMethod.%pattern_type.loc15_68 (%pattern_type.51d) = value_binding_pattern s [concrete] // CHECK:STDOUT: %s.param_patt: @CallGenericMethod.%pattern_type.loc15_68 (%pattern_type.51d) = value_param_pattern %s.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_26.1: type = splice_block %.loc15_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_22.1 (constants.%T)] // CHECK:STDOUT: %.loc15_45: type = splice_block %Generic.type.loc15_45.2 [symbolic = %Generic.type.loc15_45.1 (constants.%Generic.type.03dff7.2)] { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Generic.ref: %Generic.type.835 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref.loc15_44: type = name_ref T, %T.loc15_22.2 [symbolic = %T.loc15_22.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc15_45.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc15_45.1 (constants.%Generic.type.03dff7.2)] @@ -529,9 +535,15 @@ fn B() { // CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [concrete] // CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc3_13.2: type = symbolic_binding V, 0 [symbolic = %V.loc3_13.1 (constants.%V)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_27.1: type = splice_block %.loc3_27.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_27.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %W.loc3_23.2: type = symbolic_binding W, 1 [symbolic = %W.loc3_23.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -544,7 +556,10 @@ fn B() { // CHECK:STDOUT: %.loc7_35: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_36: type = converted %.loc7_35, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.type.loc7_36.1: type = facet_type <@I, @I(constants.%T.67d, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_36.2 (constants.%I.type.eb9)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_14.2 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] { @@ -785,9 +800,15 @@ fn B() { // CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [concrete] // CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc3_13.2: type = symbolic_binding V, 0 [symbolic = %V.loc3_13.1 (constants.%V)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_27.1: type = splice_block %.loc3_27.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_27.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %W.loc3_23.2: type = symbolic_binding W, 1 [symbolic = %W.loc3_23.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -800,7 +821,10 @@ fn B() { // CHECK:STDOUT: %.loc7_35: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc7_36: type = converted %.loc7_35, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %I.type.loc7_36.1: type = facet_type <@I, @I(constants.%T.67d, constants.%empty_tuple.type)> [symbolic = %I.type.loc7_36.2 (constants.%I.type.eb9)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_14.2 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] { @@ -1014,9 +1038,15 @@ fn B() { // CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 0 [concrete] // CHECK:STDOUT: %W.patt: %pattern_type.98f = symbolic_binding_pattern W, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc5_9.2: type = symbolic_binding V, 0 [symbolic = %V.loc5_9.1 (constants.%V)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_23.1: type = splice_block %.loc5_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %W.loc5_19.2: type = symbolic_binding W, 1 [symbolic = %W.loc5_19.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl [concrete] { @@ -1028,7 +1058,10 @@ fn B() { // CHECK:STDOUT: %.loc7_31: type = converted %.loc7_30, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %C.loc7_31.1: type = class_type @C, @C(constants.%T.67d, constants.%empty_tuple.type) [symbolic = %C.loc7_31.2 (constants.%C.13c)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_14.2 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] { diff --git a/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon b/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon index 00fe54cfe17d..49f802bdaa7f 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_as_type_knows_original_type.carbon @@ -114,6 +114,7 @@ fn F[A:! J, B:! A](x: C(A, B)) { // CHECK:STDOUT: %Animal.ref: type = name_ref Animal, file.%Animal.decl [concrete = constants.%Animal.type] // CHECK:STDOUT: %Animal.facet: %Animal.type = facet_value %Goat.ref, (constants.%Animal.impl_witness) [concrete = constants.%Animal.facet] // CHECK:STDOUT: %.loc14_14: %Animal.type = converted %Goat.ref, %Animal.facet [concrete = constants.%Animal.facet] +// CHECK:STDOUT: %.loc14_28: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type: type = facet_access_type %.loc14_14 [concrete = constants.%Goat] // CHECK:STDOUT: %.loc14_25: type = converted %.loc14_14, %as_type [concrete = constants.%Goat] // CHECK:STDOUT: %Eats.facet: %Eats.type = facet_value %.loc14_25, (constants.%Eats.impl_witness) [concrete = constants.%Eats.facet] diff --git a/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon b/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon index 1613f624ad26..82e046fcad14 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_to_narrowed_facet_type.carbon @@ -872,11 +872,12 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %A.ref: type = name_ref A, file.%A.decl [concrete = constants.%A.type] // CHECK:STDOUT: %.Self.2: %A.type = symbolic_binding .Self [symbolic_self = constants.%.Self.091] // CHECK:STDOUT: %.Self.ref: %A.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.091] +// CHECK:STDOUT: %.loc9_43: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %.loc9_31: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %.loc9_25.2: type = where_expr %.Self.2 [concrete = constants.%A.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%A.type -// CHECK:STDOUT: requirement_impls %.loc9_31, type +// CHECK:STDOUT: requirement_impls %.loc9_31, %.loc9_43 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_19.2: %A.type = symbolic_binding U, 0 [symbolic = %U.loc9_19.1 (constants.%U)] @@ -1011,7 +1012,10 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %x.patt: @TakesTypeDeduced.%pattern_type (%pattern_type.51d) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @TakesTypeDeduced.%pattern_type (%pattern_type.51d) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_25.1: type = splice_block %.loc3_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_21.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @TakesTypeDeduced.%T.loc3_21.1 (%T.67db0b.1) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc3_21.2 [symbolic = %T.loc3_21.1 (constants.%T.67db0b.1)] @@ -1024,11 +1028,13 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4_33.1: type = splice_block %.loc4_33.2 [concrete = constants.%type] { // CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc4_28: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.2: type = symbolic_binding .Self [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] +// CHECK:STDOUT: %.loc4_51: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc4_33.2: type = where_expr %.Self.2 [concrete = constants.%type] { // CHECK:STDOUT: requirement_base_facet_type type -// CHECK:STDOUT: requirement_impls %.Self.ref, type +// CHECK:STDOUT: requirement_impls %.Self.ref, %.loc4_51 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_24.2: %type = symbolic_binding U, 0 [symbolic = %U.loc4_24.1 (constants.%U)] @@ -1043,7 +1049,10 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %TakesTypeExplicit.decl: %TakesTypeExplicit.type = fn_decl @TakesTypeExplicit [concrete = constants.%TakesTypeExplicit] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc8_33.1: type = splice_block %.loc8_33.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc8_33.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_29.3: type = symbolic_binding T, 0 [symbolic = %T.loc8_29.2 (constants.%T.67db0b.2)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallsWithExtraWhereExplicit.decl: %CallsWithExtraWhereExplicit.type = fn_decl @CallsWithExtraWhereExplicit [concrete = constants.%CallsWithExtraWhereExplicit] { @@ -1051,11 +1060,13 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_41.1: type = splice_block %.loc9_41.2 [concrete = constants.%type] { // CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_36: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.2: type = symbolic_binding .Self [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] +// CHECK:STDOUT: %.loc9_59: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc9_41.2: type = where_expr %.Self.2 [concrete = constants.%type] { // CHECK:STDOUT: requirement_base_facet_type type -// CHECK:STDOUT: requirement_impls %.Self.ref, type +// CHECK:STDOUT: requirement_impls %.Self.ref, %.loc9_59 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_32.2: %type = symbolic_binding U, 0 [symbolic = %U.loc9_32.1 (constants.%U)] @@ -1213,11 +1224,13 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc3_36.1: type = splice_block %.loc3_36.2 [concrete = constants.%type] { // CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_31: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.2: type = symbolic_binding .Self [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] +// CHECK:STDOUT: %.loc3_54: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc3_36.2: type = where_expr %.Self.2 [concrete = constants.%type] { // CHECK:STDOUT: requirement_base_facet_type type -// CHECK:STDOUT: requirement_impls %.Self.ref, type +// CHECK:STDOUT: requirement_impls %.Self.ref, %.loc3_54 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_27.2: %type = symbolic_binding T, 0 [symbolic = %T.loc3_27.1 (constants.%T.f45530.1)] @@ -1234,7 +1247,10 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %y.patt: @CallsWithType.%pattern_type (%pattern_type.51d) = value_binding_pattern y [concrete] // CHECK:STDOUT: %y.param_patt: @CallsWithType.%pattern_type (%pattern_type.51d) = value_param_pattern %y.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_18.2: type = symbolic_binding U, 0 [symbolic = %U.loc4_18.1 (constants.%U)] // CHECK:STDOUT: %y.param: @CallsWithType.%U.loc4_18.1 (%U) = value_param call_param0 // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc4_18.2 [symbolic = %U.loc4_18.1 (constants.%U)] @@ -1245,11 +1261,13 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc8_44.1: type = splice_block %.loc8_44.2 [concrete = constants.%type] { // CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc8_39: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.2: type = symbolic_binding .Self [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] +// CHECK:STDOUT: %.loc8_62: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc8_44.2: type = where_expr %.Self.2 [concrete = constants.%type] { // CHECK:STDOUT: requirement_base_facet_type type -// CHECK:STDOUT: requirement_impls %.Self.ref, type +// CHECK:STDOUT: requirement_impls %.Self.ref, %.loc8_62 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_35.3: %type = symbolic_binding T, 0 [symbolic = %T.loc8_35.2 (constants.%T.f45530.2)] @@ -1257,7 +1275,10 @@ fn CallsWithTypeExplicit(U:! type) { // CHECK:STDOUT: %CallsWithTypeExplicit.decl: %CallsWithTypeExplicit.type = fn_decl @CallsWithTypeExplicit [concrete = constants.%CallsWithTypeExplicit] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_30.1: type = splice_block %.loc9_30.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_30.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_26.2: type = symbolic_binding U, 0 [symbolic = %U.loc9_26.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon b/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon index 2cad93ae2202..291197e36447 100644 --- a/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon +++ b/toolchain/check/testdata/facet/convert_facet_value_value_to_generic_facet_value_value.carbon @@ -156,7 +156,10 @@ fn F() { // CHECK:STDOUT: %Eats.decl: %Eats.type.321 = interface_decl @Eats [concrete = constants.%Eats.generic] { // CHECK:STDOUT: %Food.patt: %pattern_type.98f = symbolic_binding_pattern Food, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc21_23.1: type = splice_block %.loc21_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc21_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Food.loc21_16.2: type = symbolic_binding Food, 0 [symbolic = %Food.loc21_16.1 (constants.%Food.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @T.binding.as_type.as.Eats.impl [concrete] { diff --git a/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon b/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon index cb371a684c5e..9c53b46cb2f0 100644 --- a/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon +++ b/toolchain/check/testdata/facet/fail_convert_class_type_to_generic_facet_value.carbon @@ -100,7 +100,10 @@ fn G() { // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_28.1: type = splice_block %.loc15_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc15_19.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc15_19.1 (constants.%Scalar)] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} @@ -116,10 +119,13 @@ fn G() { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: @CallGenericMethod.%pattern_type (%pattern_type.c49) = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc27_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc27_22.1 (constants.%T)] -// CHECK:STDOUT: %.loc27: type = splice_block %Generic.type.loc27_52.2 [symbolic = %Generic.type.loc27_52.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.loc27_26.1: type = splice_block %.loc27_26.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc27_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc27_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc27_22.1 (constants.%T)] +// CHECK:STDOUT: %.loc27_52: type = splice_block %Generic.type.loc27_52.2 [symbolic = %Generic.type.loc27_52.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Generic.ref: %Generic.type.835 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc27_22.2 [symbolic = %T.loc27_22.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc27_52.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc27_52.1 (constants.%Generic.type.03dff7.2)] diff --git a/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon b/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon index d77ac978a972..b68e6d22eecc 100644 --- a/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon +++ b/toolchain/check/testdata/facet/fail_deduction_uses_runtime_type_conversion.carbon @@ -118,7 +118,8 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), from:! RuntimeConvertFrom) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc17_28.1: type = splice_block %.loc17_28.3 [concrete = constants.%tuple.type] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.loc17_28.2: %tuple.type = tuple_literal (type) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc17_22: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc17_28.2: %tuple.type = tuple_literal (%.loc17_22) [concrete = constants.%tuple.0d2] // CHECK:STDOUT: %.loc17_28.3: type = converted %.loc17_28.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc17_17.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc17_17.1 (constants.%T)] @@ -140,7 +141,8 @@ fn G(holds_to: HoldsType((RuntimeConvertTo, )), from:! RuntimeConvertFrom) { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc27_17.1: type = splice_block %.loc27_17.3 [concrete = constants.%tuple.type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.loc27_17.2: %tuple.type = tuple_literal (type) [concrete = constants.%tuple.0d2] +// CHECK:STDOUT: %.loc27_11: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc27_17.2: %tuple.type = tuple_literal (%.loc27_11) [concrete = constants.%tuple.0d2] // CHECK:STDOUT: %.loc27_17.3: type = converted %.loc27_17.2, constants.%tuple.type [concrete = constants.%tuple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc27_6.2: %tuple.type = symbolic_binding T, 0 [symbolic = %T.loc27_6.1 (constants.%T)] diff --git a/toolchain/check/testdata/facet/period_self.carbon b/toolchain/check/testdata/facet/period_self.carbon index 5f36268c290b..a65e0a58182b 100644 --- a/toolchain/check/testdata/facet/period_self.carbon +++ b/toolchain/check/testdata/facet/period_self.carbon @@ -391,7 +391,10 @@ fn F[U:! Core.Destroy where .Self impls I(.Self)](u: U) { // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -447,6 +450,7 @@ fn F[U:! Core.Destroy where .Self impls I(.Self)](u: U) { // CHECK:STDOUT: // CHECK:STDOUT: %I.ref: %I.type.609 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %.Self.ref.loc12_12: %type = name_ref .Self, %.Self.1 [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc12_21: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.as_type.loc12_18: type = facet_access_type %.Self.ref.loc12_12 [symbolic_self = constants.%.Self.binding.as_type.8db] // CHECK:STDOUT: %.loc12_18: type = converted %.Self.ref.loc12_12, %.Self.as_type.loc12_18 [symbolic_self = constants.%.Self.binding.as_type.8db] // CHECK:STDOUT: %I.type: type = facet_type <@I, @I(constants.%.Self.binding.as_type.8db)> [symbolic_self = constants.%I.type.bee] diff --git a/toolchain/check/testdata/for/actual.carbon b/toolchain/check/testdata/for/actual.carbon index 77a5d2027df5..e4452123e5c3 100644 --- a/toolchain/check/testdata/for/actual.carbon +++ b/toolchain/check/testdata/for/actual.carbon @@ -283,14 +283,11 @@ fn Read(y:! Core.IntLiteral()) { // CHECK:STDOUT: %return.param_patt: %pattern_type.615 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %IntRange.ref.loc26: %IntRange.type = name_ref IntRange, file.%IntRange.decl [concrete = constants.%IntRange.generic] -// CHECK:STDOUT: %int_32.loc26_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] +// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %IntRange.loc26: type = class_type @IntRange, @IntRange(constants.%int_32) [concrete = constants.%IntRange.a89] // CHECK:STDOUT: %.loc26_34.2: Core.Form = init_form %IntRange.loc26, call_param1 [concrete = constants.%.235] // CHECK:STDOUT: %end.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc26_15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc26_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %end: %i32 = value_binding end, %end.param // CHECK:STDOUT: %return.param: ref %IntRange.a89 = out_param call_param1 // CHECK:STDOUT: %return: ref %IntRange.a89 = return_slot %return.param diff --git a/toolchain/check/testdata/for/pattern.carbon b/toolchain/check/testdata/for/pattern.carbon index 315547e2faba..ba895207b1e6 100644 --- a/toolchain/check/testdata/for/pattern.carbon +++ b/toolchain/check/testdata/for/pattern.carbon @@ -447,8 +447,6 @@ fn Run() { // CHECK:STDOUT: --- tuple.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %Body.type: type = fn_type @Body [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] @@ -540,9 +538,9 @@ fn Run() { // CHECK:STDOUT: %.loc10_25: %pattern_type.860 = tuple_pattern (%a.patt, %b.patt) [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %EmptyRange.ref: %EmptyRange.type = name_ref EmptyRange, imports.%Main.EmptyRange [concrete = constants.%EmptyRange.generic] -// CHECK:STDOUT: %Bool.call.loc10_42: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %Bool.call.loc10_48: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_52: %tuple.type.24b = tuple_literal (%Bool.call.loc10_42, %Bool.call.loc10_48) [concrete = constants.%tuple.9fa] +// CHECK:STDOUT: %.loc10_42: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc10_48: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc10_52: %tuple.type.24b = tuple_literal (%.loc10_42, %.loc10_48) [concrete = constants.%tuple.9fa] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value constants.%tuple.type.784, (constants.%Copy.impl_witness.f9f) [concrete = constants.%Copy.facet.3ce] // CHECK:STDOUT: %.loc10_53: %Copy.type = converted %.loc10_52, %Copy.facet [concrete = constants.%Copy.facet.3ce] // CHECK:STDOUT: %EmptyRange: type = class_type @EmptyRange, @EmptyRange(constants.%Copy.facet.3ce) [concrete = constants.%EmptyRange.717] @@ -595,18 +593,10 @@ fn Run() { // CHECK:STDOUT: %.loc10_61.10: ref %tuple.type.784 = temporary %.loc10_61.8, %Optional.Get.call // CHECK:STDOUT: %tuple.elem0: ref bool = tuple_access %.loc10_61.10, element0 // CHECK:STDOUT: %tuple.elem1: ref bool = tuple_access %.loc10_61.10, element1 -// CHECK:STDOUT: %.loc10_12.1: type = splice_block %.loc10_12.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc10_12: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_12.2: type = value_of_initializer %Bool.call.loc10_12 [concrete = bool] -// CHECK:STDOUT: %.loc10_12.3: type = converted %Bool.call.loc10_12, %.loc10_12.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc10_12: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_61.11: bool = acquire_value %tuple.elem0 // CHECK:STDOUT: %a: bool = value_binding a, %.loc10_61.11 -// CHECK:STDOUT: %.loc10_21.1: type = splice_block %.loc10_21.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc10_21: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_21.2: type = value_of_initializer %Bool.call.loc10_21 [concrete = bool] -// CHECK:STDOUT: %.loc10_21.3: type = converted %Bool.call.loc10_21, %.loc10_21.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc10_21: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_61.12: bool = acquire_value %tuple.elem1 // CHECK:STDOUT: %b: bool = value_binding b, %.loc10_61.12 // CHECK:STDOUT: %Body.ref: %Body.type = name_ref Body, file.%Body.decl [concrete = constants.%Body] diff --git a/toolchain/check/testdata/function/builtin/adapted_type.carbon b/toolchain/check/testdata/function/builtin/adapted_type.carbon index 1cadfbd51592..597f29662e4a 100644 --- a/toolchain/check/testdata/function/builtin/adapted_type.carbon +++ b/toolchain/check/testdata/function/builtin/adapted_type.carbon @@ -97,7 +97,8 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc4_20.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc4_20.2: Core.Form = init_form %.loc4_20.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -108,7 +109,8 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc10: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc10_28.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc10_28.2: Core.Form = init_form %.loc10_28.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %N.param: %MyIntLiteral = value_param call_param0 // CHECK:STDOUT: %MyIntLiteral.ref: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral] // CHECK:STDOUT: %N: %MyIntLiteral = value_binding N, %N.param @@ -267,7 +269,8 @@ fn Int(N: MyIntLiteral) -> type = "int.make_type_signed"; // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc12: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc12_28.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc12_28.2: Core.Form = init_form %.loc12_28.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %N.param: %MyIntLiteral = value_param call_param0 // CHECK:STDOUT: %MyIntLiteral.ref: type = name_ref MyIntLiteral, file.%MyIntLiteral.decl [concrete = constants.%MyIntLiteral] // CHECK:STDOUT: %N: %MyIntLiteral = value_binding N, %N.param diff --git a/toolchain/check/testdata/function/builtin/call.carbon b/toolchain/check/testdata/function/builtin/call.carbon index 6c36df93e2b0..ae3bc18adeaf 100644 --- a/toolchain/check/testdata/function/builtin/call.carbon +++ b/toolchain/check/testdata/function/builtin/call.carbon @@ -104,20 +104,13 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_27: Core.Form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc15_27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_11: type = splice_block %i32.loc15_11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_19: type = splice_block %i32.loc15_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -128,8 +121,7 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc17_30: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Add.ref: %Add.type = name_ref Add, %Add.decl [concrete = constants.%Add] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] @@ -168,20 +160,13 @@ fn RuntimeCall(a: i32, b: i32) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc19_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc19_35: Core.Form = init_form %i32.loc19_35, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc19_35: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc19: Core.Form = init_form %i32.loc19_35, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc19_19: type = splice_block %i32.loc19_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc19_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc19_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc19_27: type = splice_block %i32.loc19_27 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc19_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc19_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/function/builtin/call_from_operator.carbon b/toolchain/check/testdata/function/builtin/call_from_operator.carbon index 39028a1d5e5f..2c503bd9d705 100644 --- a/toolchain/check/testdata/function/builtin/call_from_operator.carbon +++ b/toolchain/check/testdata/function/builtin/call_from_operator.carbon @@ -168,7 +168,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc4_20.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc4_20.2: Core.Form = init_form %.loc4_20.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -178,7 +179,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc5_28: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc5_28.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc5_28.2: Core.Form = init_form %.loc5_28.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc5_22.1: type = splice_block %.loc5_22.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] @@ -193,31 +195,34 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %AddWith.decl: %AddWith.type.b56 = interface_decl @AddWith [concrete = constants.%AddWith.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_23.1: type = splice_block %.loc7_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_19.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %As.decl: %As.type.3c9 = interface_decl @As [concrete = constants.%As.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc11_18.1: type = splice_block %.loc11_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc11_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc11_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.595 = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_26.1: type = splice_block %.loc15_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_22.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @i32.builtin.as.AddWith.impl [concrete] {} { -// CHECK:STDOUT: %int_32.loc19_6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc19_6: init type = call constants.%Int(%int_32.loc19_6) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc19_6.1: type = value_of_initializer %Int.call.loc19_6 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc19_6.2: type = converted %Int.call.loc19_6, %.loc19_6.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc19_6: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %AddWith.ref: %AddWith.type.b56 = name_ref AddWith, file.%AddWith.decl [concrete = constants.%AddWith.generic] -// CHECK:STDOUT: %int_32.loc19_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc19_21: init type = call constants.%Int(%int_32.loc19_21) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc19_24.1: type = value_of_initializer %Int.call.loc19_21 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc19_24.2: type = converted %Int.call.loc19_21, %.loc19_24.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc19_21: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %AddWith.type: type = facet_type <@AddWith, @AddWith(constants.%i32.builtin)> [concrete = constants.%AddWith.type.aed] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @Core.IntLiteral.as.As.impl [concrete] {} { @@ -226,10 +231,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc23_17.1: type = value_of_initializer %IntLiteral.call [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc23_17.2: type = converted %IntLiteral.call, %.loc23_17.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %As.ref: %As.type.3c9 = name_ref As, file.%As.decl [concrete = constants.%As.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc23_28.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc23_28.2: type = converted %Int.call, %.loc23_28.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc23_25: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %As.type: type = facet_type <@As, @As(constants.%i32.builtin)> [concrete = constants.%As.type.1ed] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @Core.IntLiteral.as.ImplicitAs.impl [concrete] {} { @@ -238,17 +240,11 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc27_17.1: type = value_of_initializer %IntLiteral.call [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc27_17.2: type = converted %IntLiteral.call, %.loc27_17.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.595 = name_ref ImplicitAs, file.%ImplicitAs.decl [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc27_36.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc27_36.2: type = converted %Int.call, %.loc27_36.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc27_33: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%i32.builtin)> [concrete = constants.%ImplicitAs.type.92b] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @i32.builtin.as.ImplicitAs.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc31_6.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc31_6.2: type = converted %Int.call, %.loc31_6.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc31_6: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.595 = name_ref ImplicitAs, file.%ImplicitAs.decl [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] // CHECK:STDOUT: %IntLiteral.call: init type = call %IntLiteral.ref() [concrete = Core.IntLiteral] @@ -401,7 +397,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @i32.builtin.as.AddWith.impl: %.loc19_6.2 as %AddWith.type { +// CHECK:STDOUT: impl @i32.builtin.as.AddWith.impl: %.loc19_6 as %AddWith.type { // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.decl: %i32.builtin.as.AddWith.impl.Op.type = fn_decl @i32.builtin.as.AddWith.impl.Op [concrete = constants.%i32.builtin.as.AddWith.impl.Op] { // CHECK:STDOUT: %self.patt: %pattern_type.956 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.956 = value_param_pattern %self.patt, call_param0 [concrete] @@ -410,13 +406,13 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Self.ref.loc20_37: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref.loc20_37: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc20: Core.Form = init_form %Self.ref.loc20_37, call_param2 [concrete = constants.%.2f6] // CHECK:STDOUT: %self.param: %i32.builtin = value_param call_param0 -// CHECK:STDOUT: %Self.ref.loc20_15: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref.loc20_15: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self: %i32.builtin = value_binding self, %self.param // CHECK:STDOUT: %other.param: %i32.builtin = value_param call_param1 -// CHECK:STDOUT: %Self.ref.loc20_28: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref.loc20_28: type = name_ref Self, @i32.builtin.as.AddWith.impl.%.loc19_6 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %other: %i32.builtin = value_binding other, %other.param // CHECK:STDOUT: %return.param: ref %i32.builtin = out_param call_param2 // CHECK:STDOUT: %return: ref %i32.builtin = return_slot %return.param @@ -436,11 +432,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc24_31.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc24_31.2: type = converted %Int.call, %.loc24_31.1 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc24_31.3: Core.Form = init_form %.loc24_31.2, call_param1 [concrete = constants.%.8a4] +// CHECK:STDOUT: %.loc24_31.1: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc24_31.2: Core.Form = init_form %.loc24_31.1, call_param1 [concrete = constants.%.8a4] // CHECK:STDOUT: %self.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @Core.IntLiteral.as.As.impl.%.loc23_17.2 [concrete = Core.IntLiteral] // CHECK:STDOUT: %self: Core.IntLiteral = value_binding self, %self.param @@ -462,11 +455,8 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc28_31.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc28_31.2: type = converted %Int.call, %.loc28_31.1 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc28_31.3: Core.Form = init_form %.loc28_31.2, call_param1 [concrete = constants.%.8a4] +// CHECK:STDOUT: %.loc28_31.1: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc28_31.2: Core.Form = init_form %.loc28_31.1, call_param1 [concrete = constants.%.8a4] // CHECK:STDOUT: %self.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @Core.IntLiteral.as.ImplicitAs.impl.%.loc27_17.2 [concrete = Core.IntLiteral] // CHECK:STDOUT: %self: Core.IntLiteral = value_binding self, %self.param @@ -481,7 +471,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: witness = %ImplicitAs.impl_witness // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @i32.builtin.as.ImplicitAs.impl: %.loc31_6.2 as %ImplicitAs.type { +// CHECK:STDOUT: impl @i32.builtin.as.ImplicitAs.impl: %.loc31_6 as %ImplicitAs.type { // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.decl: %i32.builtin.as.ImplicitAs.impl.Convert.type = fn_decl @i32.builtin.as.ImplicitAs.impl.Convert [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] { // CHECK:STDOUT: %self.patt: %pattern_type.956 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.956 = value_param_pattern %self.patt, call_param0 [concrete] @@ -494,7 +484,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %.loc32_42.2: type = converted %IntLiteral.call, %.loc32_42.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc32_42.3: Core.Form = init_form %.loc32_42.2, call_param1 [concrete = constants.%.7dc] // CHECK:STDOUT: %self.param: %i32.builtin = value_param call_param0 -// CHECK:STDOUT: %Self.ref: type = name_ref Self, @i32.builtin.as.ImplicitAs.impl.%.loc31_6.2 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Self.ref: type = name_ref Self, @i32.builtin.as.ImplicitAs.impl.%.loc31_6 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %self: %i32.builtin = value_binding self, %self.param // CHECK:STDOUT: %return.param: ref Core.IntLiteral = out_param call_param1 // CHECK:STDOUT: %return: ref Core.IntLiteral = return_slot %return.param @@ -913,7 +903,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import_ref.b3bc94.6: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [symbolic = @AddWith.%T.1 (constants.%T)] // CHECK:STDOUT: %Core.import_ref.a84 = import_ref Core//default, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: %Core.import_ref.bf0: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%AddWith.impl_witness] -// CHECK:STDOUT: %Core.import_ref.748f05.2: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Core.import_ref.63cbb1.2: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin] // CHECK:STDOUT: %Core.import_ref.a41: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%AddWith.type.46d] // CHECK:STDOUT: %Core.import_ref.b8a: %i32.builtin.as.AddWith.impl.Op.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin.as.AddWith.impl.Op] // CHECK:STDOUT: %AddWith.impl_witness_table = impl_witness_table (%Core.import_ref.b8a), @i32.builtin.as.AddWith.impl [concrete] @@ -930,7 +920,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %Core.import_ref.a86459.2: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = Core.IntLiteral] // CHECK:STDOUT: %Core.import_ref.7e7: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.type.78a] // CHECK:STDOUT: %Core.import_ref.8be: = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.impl_witness.304] -// CHECK:STDOUT: %Core.import_ref.748f05.3: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %Core.import_ref.63cbb1.3: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin] // CHECK:STDOUT: %Core.import_ref.79b: type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%ImplicitAs.type.139] // CHECK:STDOUT: %Core.import_ref.954: %i32.builtin.as.ImplicitAs.impl.Convert.type = import_ref Core//default, loc{{\d+_\d+}}, loaded [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %ImplicitAs.impl_witness_table.267 = impl_witness_table (%Core.import_ref.954), @i32.builtin.as.ImplicitAs.impl [concrete] @@ -950,23 +940,16 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: } // CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc4_44: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc4_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc4_16: init type = call constants.%Int(%int_32.loc4_16) [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc4_16: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc4_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc4_27: init type = call constants.%Int(%int_32.loc4_27) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_27.1: type = value_of_initializer %Int.call.loc4_27 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_27.2: type = converted %Int.call.loc4_27, %.loc4_27.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc4_27: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %impl.elem0.loc4_24: %.e3a = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_24: = bound_method %int_1, %impl.elem0.loc4_24 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.4b3] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_24: init %i32.builtin = call %bound_method.loc4_24(%int_1) [concrete = constants.%int_1.f38] // CHECK:STDOUT: %.loc4_24.1: %i32.builtin = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc4_24 [concrete = constants.%int_1.f38] // CHECK:STDOUT: %.loc4_24.2: %i32.builtin = converted %int_1, %.loc4_24.1 [concrete = constants.%int_1.f38] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %int_32.loc4_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc4_40: init type = call constants.%Int(%int_32.loc4_40) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_40.1: type = value_of_initializer %Int.call.loc4_40 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_40.2: type = converted %Int.call.loc4_40, %.loc4_40.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc4_40: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %impl.elem0.loc4_37: %.e3a = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_37: = bound_method %int_2, %impl.elem0.loc4_37 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.7b2] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_37: init %i32.builtin = call %bound_method.loc4_37(%int_2) [concrete = constants.%int_2.5a1] @@ -975,8 +958,6 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %impl.elem0.loc4_32.1: %.0ff = impl_witness_access constants.%AddWith.impl_witness, element0 [concrete = constants.%i32.builtin.as.AddWith.impl.Op] // CHECK:STDOUT: %bound_method.loc4_32.1: = bound_method %.loc4_24.2, %impl.elem0.loc4_32.1 [concrete = constants.%i32.builtin.as.AddWith.impl.Op.bound.abd] // CHECK:STDOUT: %i32.builtin.as.AddWith.impl.Op.call: init %i32.builtin = call %bound_method.loc4_32.1(%.loc4_24.2, %.loc4_37.2) [concrete = constants.%int_3.a0f] -// CHECK:STDOUT: %.loc4_16.1: type = value_of_initializer %Int.call.loc4_16 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_16.2: type = converted %Int.call.loc4_16, %.loc4_16.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %impl.elem0.loc4_32.2: %.626 = impl_witness_access constants.%ImplicitAs.impl_witness.304, element0 [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_32.2: = bound_method %i32.builtin.as.AddWith.impl.Op.call, %impl.elem0.loc4_32.2 [concrete = constants.%i32.builtin.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %.loc4_32.1: %i32.builtin = value_of_initializer %i32.builtin.as.AddWith.impl.Op.call [concrete = constants.%int_3.a0f] @@ -984,7 +965,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %i32.builtin.as.ImplicitAs.impl.Convert.call: 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 %i32.builtin.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc4_32.4: Core.IntLiteral = converted %i32.builtin.as.AddWith.impl.Op.call, %.loc4_32.3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %.loc4_32.4, %.loc4_16.2 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %.loc4_32.4, %.loc4_16 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref %array_type = ref_binding arr, %arr.var [concrete = %arr.var] // CHECK:STDOUT: } @@ -1045,7 +1026,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: witness = imports.%Core.import_ref.ad5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @i32.builtin.as.AddWith.impl: imports.%Core.import_ref.748f05.2 as imports.%Core.import_ref.a41 [from "core.carbon"] { +// CHECK:STDOUT: impl @i32.builtin.as.AddWith.impl: imports.%Core.import_ref.63cbb1.2 as imports.%Core.import_ref.a41 [from "core.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Core.import_ref.bf0 // CHECK:STDOUT: } @@ -1055,7 +1036,7 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: witness = imports.%Core.import_ref.d1a // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @i32.builtin.as.ImplicitAs.impl: imports.%Core.import_ref.748f05.3 as imports.%Core.import_ref.79b [from "core.carbon"] { +// CHECK:STDOUT: impl @i32.builtin.as.ImplicitAs.impl: imports.%Core.import_ref.63cbb1.3 as imports.%Core.import_ref.79b [from "core.carbon"] { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = imports.%Core.import_ref.8be // CHECK:STDOUT: } @@ -1110,20 +1091,14 @@ var arr: array(i32, (1 as i32) + (2 as i32)) = (3, 4, (3 as i32) + (4 as i32)); // CHECK:STDOUT: %int_3.loc4_49: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %int_4.loc4_52: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] // CHECK:STDOUT: %int_3.loc4_56: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %int_32.loc4_61: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc4_61: init type = call constants.%Int(%int_32.loc4_61) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_61.1: type = value_of_initializer %Int.call.loc4_61 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_61.2: type = converted %Int.call.loc4_61, %.loc4_61.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc4_61: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %impl.elem0.loc4_58: %.e3a = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_58: = bound_method %int_3.loc4_56, %impl.elem0.loc4_58 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.2b2] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_58: init %i32.builtin = call %bound_method.loc4_58(%int_3.loc4_56) [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_58.1: %i32.builtin = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc4_58 [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_58.2: %i32.builtin = converted %int_3.loc4_56, %.loc4_58.1 [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %int_4.loc4_69: Core.IntLiteral = int_value 4 [concrete = constants.%int_4.0c1] -// CHECK:STDOUT: %int_32.loc4_74: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc4_74: init type = call constants.%Int(%int_32.loc4_74) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_74.1: type = value_of_initializer %Int.call.loc4_74 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_74.2: type = converted %Int.call.loc4_74, %.loc4_74.1 [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc4_74: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %impl.elem0.loc4_71: %.e3a = impl_witness_access constants.%As.impl_witness, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert] // CHECK:STDOUT: %bound_method.loc4_71: = bound_method %int_4.loc4_69, %impl.elem0.loc4_71 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.2d0] // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc4_71: init %i32.builtin = call %bound_method.loc4_71(%int_4.loc4_69) [concrete = constants.%int_4.4f1] diff --git a/toolchain/check/testdata/function/builtin/definition.carbon b/toolchain/check/testdata/function/builtin/definition.carbon index 6adb9ffbdd2b..591c3ca3b1cc 100644 --- a/toolchain/check/testdata/function/builtin/definition.carbon +++ b/toolchain/check/testdata/function/builtin/definition.carbon @@ -50,20 +50,13 @@ fn Add(a: i32, b: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_27: Core.Form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc15_27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15_27, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_11: type = splice_block %i32.loc15_11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_19: type = splice_block %i32.loc15_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/function/builtin/fail_redefined.carbon b/toolchain/check/testdata/function/builtin/fail_redefined.carbon index df928e240be2..40f5dee331e1 100644 --- a/toolchain/check/testdata/function/builtin/fail_redefined.carbon +++ b/toolchain/check/testdata/function/builtin/fail_redefined.carbon @@ -105,20 +105,13 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_25: Core.Form = init_form %i32.loc15_25, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc15_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15_25, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_9: type = splice_block %i32.loc15_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_17: type = splice_block %i32.loc15_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -131,20 +124,13 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// 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: %.loc23_32: Core.Form = init_form %i32.loc23_32, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc23_32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc23: Core.Form = init_form %i32.loc23_32, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc23_9: type = splice_block %i32.loc23_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc23_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc23_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc23_24: type = splice_block %i32.loc23_24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc23_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc23_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -157,20 +143,13 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc25_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc25_32: Core.Form = init_form %i32.loc25_32, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc25_32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc25: Core.Form = init_form %i32.loc25_32, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc25_9: type = splice_block %i32.loc25_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc25_24: type = splice_block %i32.loc25_24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -183,20 +162,13 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc33_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc33_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc33_25: Core.Form = init_form %i32.loc33_25, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc33_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc33: Core.Form = init_form %i32.loc33_25, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc33_9: type = splice_block %i32.loc33_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc33_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc33_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc33_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc33_17: type = splice_block %i32.loc33_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc33_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc33_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc33_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -209,20 +181,13 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc35_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc35_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc35_25: Core.Form = init_form %i32.loc35_25, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc35_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc35: Core.Form = init_form %i32.loc35_25, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc35_9: type = splice_block %i32.loc35_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc35_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc35_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc35_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc35_17: type = splice_block %i32.loc35_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc35_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc35_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc35_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -235,20 +200,13 @@ fn C(n: i32, m: i32) -> i32 = "int.sadd"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc43_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc43_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc43_25: Core.Form = init_form %i32.loc43_25, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc43_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc43: Core.Form = init_form %i32.loc43_25, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc43_9: type = splice_block %i32.loc43_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc43_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc43_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc43_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc43_17: type = splice_block %i32.loc43_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc43_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc43_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc43_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/function/builtin/import.carbon b/toolchain/check/testdata/function/builtin/import.carbon index b75285a53d42..248aa05b7ea7 100644 --- a/toolchain/check/testdata/function/builtin/import.carbon +++ b/toolchain/check/testdata/function/builtin/import.carbon @@ -68,7 +68,8 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc5: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc5_20.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc5_20.2: Core.Form = init_form %.loc5_20.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -78,7 +79,8 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc6_28: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc6_28.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc6_28.2: Core.Form = init_form %.loc6_28.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %N.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc6_22.1: type = splice_block %.loc6_22.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] @@ -96,11 +98,8 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc8_30.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc8_30.2: type = converted %Int.call, %.loc8_30.1 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc8_30.3: Core.Form = init_form %.loc8_30.2, call_param1 [concrete = constants.%.8a4] +// CHECK:STDOUT: %.loc8_30.1: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc8_30.2: Core.Form = init_form %.loc8_30.1, call_param1 [concrete = constants.%.8a4] // CHECK:STDOUT: %a.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc8_24.1: type = splice_block %.loc8_24.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] @@ -124,12 +123,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %.loc9_39.2: type = converted %IntLiteral.call, %.loc9_39.1 [concrete = Core.IntLiteral] // CHECK:STDOUT: %.loc9_39.3: Core.Form = init_form %.loc9_39.2, call_param1 [concrete = constants.%.7dc] // CHECK:STDOUT: %a.param: %i32.builtin = value_param call_param0 -// CHECK:STDOUT: %.loc9_20.1: type = splice_block %.loc9_20.3 [concrete = constants.%i32.builtin] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc9_20.2: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc9_20.3: type = converted %Int.call, %.loc9_20.2 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc9_20: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %a: %i32.builtin = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref Core.IntLiteral = out_param call_param1 // CHECK:STDOUT: %return: ref Core.IntLiteral = return_slot %return.param @@ -142,26 +136,13 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %return.patt: %pattern_type.956 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.956 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc11_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc11_31: init type = call constants.%Int(%int_32.loc11_31) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_31.1: type = value_of_initializer %Int.call.loc11_31 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_31.2: type = converted %Int.call.loc11_31, %.loc11_31.1 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_31.3: Core.Form = init_form %.loc11_31.2, call_param2 [concrete = constants.%.2f6] +// CHECK:STDOUT: %.loc11_31.1: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc11_31.2: Core.Form = init_form %.loc11_31.1, call_param2 [concrete = constants.%.2f6] // CHECK:STDOUT: %a.param: %i32.builtin = value_param call_param0 -// CHECK:STDOUT: %.loc11_15.1: type = splice_block %.loc11_15.3 [concrete = constants.%i32.builtin] { -// CHECK:STDOUT: %int_32.loc11_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc11_15: init type = call constants.%Int(%int_32.loc11_15) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_15.2: type = value_of_initializer %Int.call.loc11_15 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_15.3: type = converted %Int.call.loc11_15, %.loc11_15.2 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc11_15: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %a: %i32.builtin = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32.builtin = value_param call_param1 -// CHECK:STDOUT: %.loc11_23.1: type = splice_block %.loc11_23.3 [concrete = constants.%i32.builtin] { -// CHECK:STDOUT: %int_32.loc11_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call.loc11_23: init type = call constants.%Int(%int_32.loc11_23) [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_23.2: type = value_of_initializer %Int.call.loc11_23 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc11_23.3: type = converted %Int.call.loc11_23, %.loc11_23.2 [concrete = constants.%i32.builtin] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc11_23: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %b: %i32.builtin = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32.builtin = out_param call_param2 // CHECK:STDOUT: %return: ref %i32.builtin = return_slot %return.param @@ -231,8 +212,7 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: } // CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc4_82: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.call: init type = call constants.%Int(%int_32) [concrete = constants.%i32.builtin] +// CHECK:STDOUT: %.loc4_16: type = type_literal constants.%i32.builtin [concrete = constants.%i32.builtin] // CHECK:STDOUT: %Core.ref.loc4_21: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %AsIntLiteral.ref: %AsIntLiteral.type = name_ref AsIntLiteral, imports.%Core.AsIntLiteral [concrete = constants.%AsIntLiteral] // CHECK:STDOUT: %Core.ref.loc4_39: = name_ref Core, imports.%Core [concrete = imports.%Core] @@ -253,11 +233,9 @@ var arr: array(i32, Core.AsIntLiteral(Core.TestAdd(Core.AsI32(1), Core.AsI32(2)) // CHECK:STDOUT: %.loc4_80.1: %i32.builtin = value_of_initializer %TestAdd.call [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %.loc4_80.2: %i32.builtin = converted %TestAdd.call, %.loc4_80.1 [concrete = constants.%int_3.a0f] // CHECK:STDOUT: %AsIntLiteral.call: init Core.IntLiteral = call %AsIntLiteral.ref(%.loc4_80.2) [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %.loc4_16.1: type = value_of_initializer %Int.call [concrete = constants.%i32.builtin] -// CHECK:STDOUT: %.loc4_16.2: type = converted %Int.call, %.loc4_16.1 [concrete = constants.%i32.builtin] // CHECK:STDOUT: %.loc4_81.1: Core.IntLiteral = value_of_initializer %AsIntLiteral.call [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %.loc4_81.2: Core.IntLiteral = converted %AsIntLiteral.call, %.loc4_81.1 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type: type = array_type %.loc4_81.2, %.loc4_16.2 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %.loc4_81.2, %.loc4_16 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %arr: ref %array_type = ref_binding arr, %arr.var [concrete = %arr.var] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/builtin/method.carbon b/toolchain/check/testdata/function/builtin/method.carbon index e9630cb06a98..118f7f677ad6 100644 --- a/toolchain/check/testdata/function/builtin/method.carbon +++ b/toolchain/check/testdata/function/builtin/method.carbon @@ -128,8 +128,7 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { @@ -138,11 +137,9 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: } // CHECK:STDOUT: %arr.var: ref %array_type = var %arr.var_patt [concrete] // CHECK:STDOUT: %.loc23_40: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc23_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc23_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc23_24: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc23_24.1: = bound_method %int_1, %impl.elem0.loc23_24 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc23_24: = specific_function %impl.elem0.loc23_24, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -230,20 +227,13 @@ var arr: array(i32, (1 as i32).(I.F)(2)); // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc20_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc20_34: Core.Form = init_form %i32.loc20_34, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc20_34: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc20: Core.Form = init_form %i32.loc20_34, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %self.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc20_14: type = splice_block %i32.loc20_14 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc20_14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc20_14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %self: %i32 = value_binding self, %self.param // CHECK:STDOUT: %other.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc20_26: type = splice_block %i32.loc20_26 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc20_26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc20_26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %other: %i32 = value_binding other, %other.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/function/builtin/positional.carbon b/toolchain/check/testdata/function/builtin/positional.carbon index 251407cfb51b..63713b500006 100644 --- a/toolchain/check/testdata/function/builtin/positional.carbon +++ b/toolchain/check/testdata/function/builtin/positional.carbon @@ -69,8 +69,7 @@ fn Mul = "int.smul"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/function/call/fail_param_count.carbon b/toolchain/check/testdata/function/call/fail_param_count.carbon index d3879d43790d..b5d0bef25595 100644 --- a/toolchain/check/testdata/function/call/fail_param_count.carbon +++ b/toolchain/check/testdata/function/call/fail_param_count.carbon @@ -113,10 +113,7 @@ fn Main() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc16: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Run2.decl: %Run2.type = fn_decl @Run2 [concrete = constants.%Run2] { @@ -126,16 +123,10 @@ fn Main() { // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc17_19: type = splice_block %i32.loc17_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc17_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc17_34: type = splice_block %i32.loc17_34 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc17_34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/fail_param_type.carbon b/toolchain/check/testdata/function/call/fail_param_type.carbon index e5deec5fd488..d60547b1e01d 100644 --- a/toolchain/check/testdata/function/call/fail_param_type.carbon +++ b/toolchain/check/testdata/function/call/fail_param_type.carbon @@ -69,10 +69,7 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} diff --git a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon index de40eab64a34..e7c6bd644fe6 100644 --- a/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon +++ b/toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon @@ -94,8 +94,7 @@ fn Run() { // CHECK:STDOUT: %return.patt: %pattern_type.0ae = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.0ae = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc15_13: Core.Form = init_form %f64, call_param0 [concrete = constants.%.833] // CHECK:STDOUT: %return.param: ref %f64.d77 = out_param call_param0 // CHECK:STDOUT: %return: ref %f64.d77 = return_slot %return.param @@ -124,12 +123,9 @@ fn Run() { // CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt // CHECK:STDOUT: %Foo.ref: %Foo.type = name_ref Foo, file.%Foo.decl [concrete = constants.%Foo] // CHECK:STDOUT: %Foo.call: init %f64.d77 = call %Foo.ref() -// CHECK:STDOUT: %.loc25_3: %i32 = converted %Foo.call, [concrete = ] +// CHECK:STDOUT: %.loc25: %i32 = converted %Foo.call, [concrete = ] // CHECK:STDOUT: assign %x.var, -// CHECK:STDOUT: %.loc25_17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %x.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %x.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%x.var) diff --git a/toolchain/check/testdata/function/call/i32.carbon b/toolchain/check/testdata/function/call/i32.carbon index 4bc05952f4ed..9228e5984957 100644 --- a/toolchain/check/testdata/function/call/i32.carbon +++ b/toolchain/check/testdata/function/call/i32.carbon @@ -99,14 +99,10 @@ fn Main() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_20: Core.Form = init_form %i32.loc15_20, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc15_20: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15_20, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_12: type = splice_block %i32.loc15_12 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -143,10 +139,7 @@ fn Main() { // CHECK:STDOUT: %.loc20_28.2: %i32 = converted %int_1, %.loc20_28.1 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %Echo.call: init %i32 = call %Echo.ref(%.loc20_28.2) // CHECK:STDOUT: assign %b.var, %Echo.call -// CHECK:STDOUT: %.loc20_17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %b.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%b.var) diff --git a/toolchain/check/testdata/function/call/more_param_ir.carbon b/toolchain/check/testdata/function/call/more_param_ir.carbon index 062c088864be..05d5caf6e58c 100644 --- a/toolchain/check/testdata/function/call/more_param_ir.carbon +++ b/toolchain/check/testdata/function/call/more_param_ir.carbon @@ -96,16 +96,10 @@ fn Main() { // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_18: type = splice_block %i32.loc15_18 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_33: type = splice_block %i32.loc15_33 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} @@ -135,8 +129,7 @@ fn Main() { // CHECK:STDOUT: %.loc18_3: init %tuple.type.a1c = converted %.loc18_22.1, %.loc18_22.3 [concrete = constants.%tuple.246] // CHECK:STDOUT: assign %x.var, %.loc18_3 // CHECK:STDOUT: %.loc18_15.1: type = splice_block %.loc18_15.3 [concrete = constants.%tuple.type.a1c] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18_15.2: %tuple.type.85c = tuple_literal (%i32) [concrete = constants.%tuple.896] // CHECK:STDOUT: %.loc18_15.3: type = converted %.loc18_15.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/call/params_one.carbon b/toolchain/check/testdata/function/call/params_one.carbon index 8f7245e8e7f7..e9a778289239 100644 --- a/toolchain/check/testdata/function/call/params_one.carbon +++ b/toolchain/check/testdata/function/call/params_one.carbon @@ -75,10 +75,7 @@ fn Main() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/params_one_comma.carbon b/toolchain/check/testdata/function/call/params_one_comma.carbon index 1bb8b16cc243..5e7179fbcbba 100644 --- a/toolchain/check/testdata/function/call/params_one_comma.carbon +++ b/toolchain/check/testdata/function/call/params_one_comma.carbon @@ -76,10 +76,7 @@ fn Main() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/params_two.carbon b/toolchain/check/testdata/function/call/params_two.carbon index cf8afb0c038a..77fb1596cb5c 100644 --- a/toolchain/check/testdata/function/call/params_two.carbon +++ b/toolchain/check/testdata/function/call/params_two.carbon @@ -81,16 +81,10 @@ fn Main() { // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_18: type = splice_block %i32.loc15_18 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_33: type = splice_block %i32.loc15_33 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/params_two_comma.carbon b/toolchain/check/testdata/function/call/params_two_comma.carbon index 6274c999ebf4..064ed7c145aa 100644 --- a/toolchain/check/testdata/function/call/params_two_comma.carbon +++ b/toolchain/check/testdata/function/call/params_two_comma.carbon @@ -82,16 +82,10 @@ fn Main() { // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_18: type = splice_block %i32.loc15_18 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_33: type = splice_block %i32.loc15_33 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} diff --git a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon index e84401339fe2..b228bf4cc148 100644 --- a/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon +++ b/toolchain/check/testdata/function/call/prefer_unqualified_lookup.carbon @@ -92,17 +92,22 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %Class.decl: %Class.type = class_decl @Class [concrete = constants.%Class.generic] { // CHECK:STDOUT: %F.patt: %pattern_type.98f = symbolic_binding_pattern F, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %F.loc5_13.2: type = symbolic_binding F, 0 [symbolic = %F.loc5_13.1 (constants.%F)] // CHECK:STDOUT: } // CHECK:STDOUT: %Inner.G.decl: %Inner.G.type = fn_decl @Inner.G [symbolic = constants.%Inner.G] { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_14.1: type = splice_block %.loc13_14.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_14.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %F.loc13_10: type = symbolic_binding F, 0 [symbolic = @Class.%F.loc5_13.1 (constants.%F)] -// 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: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13_33: Core.Form = init_form %i32.loc13, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param.loc13: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return.loc13: ref %i32 = return_slot %return.param.loc13 @@ -139,8 +144,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -149,8 +153,7 @@ fn Class(F:! type).Inner.G() -> i32 { return F(); } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9: Core.Form = init_form %i32.loc9, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param.loc9: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return.loc9: ref %i32 = return_slot %return.param.loc9 diff --git a/toolchain/check/testdata/function/call/ref.carbon b/toolchain/check/testdata/function/call/ref.carbon index 0c0579330eb7..cf2be7c3ac1b 100644 --- a/toolchain/check/testdata/function/call/ref.carbon +++ b/toolchain/check/testdata/function/call/ref.carbon @@ -142,10 +142,7 @@ fn G() { // CHECK:STDOUT: %x.param_patt: %pattern_type.7ce = ref_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: ref %i32 = ref_param call_param0 -// CHECK:STDOUT: %.loc5: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} @@ -166,12 +163,9 @@ fn G() { // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc8_3.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc8_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc8_3: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %y.var, %.loc8_3 -// CHECK:STDOUT: %.loc8_10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc8: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %y.var, %.loc8 +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %y.ref: ref %i32 = name_ref y, %y diff --git a/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon b/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon index 978cf32e41a3..3f6bfbe047ec 100644 --- a/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon +++ b/toolchain/check/testdata/function/declaration/fail_param_in_type.carbon @@ -52,15 +52,11 @@ fn F(n: i32, a: array(i32, n)*); // CHECK:STDOUT: %a.param_patt: = value_param_pattern %a.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc19_9: type = splice_block %i32.loc19_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc19_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc19_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %a.param: = value_param call_param1 -// CHECK:STDOUT: %.loc19_30: type = splice_block %ptr [concrete = ] { -// CHECK:STDOUT: %int_32.loc19_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %.loc19: type = splice_block %ptr [concrete = ] { +// CHECK:STDOUT: %i32.loc19_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n // CHECK:STDOUT: %ptr: type = ptr_type [concrete = ] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon b/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon index 464c24706aba..c3a374807520 100644 --- a/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon +++ b/toolchain/check/testdata/function/declaration/fail_param_redecl.carbon @@ -55,16 +55,10 @@ fn F(n: i32, n: i32); // CHECK:STDOUT: %n.param_patt.loc22_15: %pattern_type.7ce = value_param_pattern %n.patt.loc22_14, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param.loc22_7: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc22_9: type = splice_block %i32.loc22_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc22_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc22_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n.loc22_6: %i32 = value_binding n, %n.param.loc22_7 // CHECK:STDOUT: %n.param.loc22_15: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc22_17: type = splice_block %i32.loc22_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc22_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc22_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n.loc22_14: %i32 = value_binding n, %n.param.loc22_15 // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/import.carbon b/toolchain/check/testdata/function/declaration/import.carbon index 9bf135427a7a..920966c950c9 100644 --- a/toolchain/check/testdata/function/declaration/import.carbon +++ b/toolchain/check/testdata/function/declaration/import.carbon @@ -314,14 +314,10 @@ import library "extern_api"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc5_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_17: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc5_17: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc5_9: type = splice_block %i32.loc5_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -332,14 +328,12 @@ import library "extern_api"; // CHECK:STDOUT: %return.patt: %pattern_type.688 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: %.loc6_28: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55] // CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0 // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%tuple.type.a1c] { -// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_14.2: %tuple.type.85c = tuple_literal (%i32.loc6_10) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: } @@ -418,14 +412,10 @@ import library "extern_api"; // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc5_52: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_52: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_52: Core.Form = init_form %i32.loc5_52, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc5_52: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5_52, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc5_44: type = splice_block %i32.loc5_44 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5_44: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_44: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5_44: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -436,14 +426,12 @@ import library "extern_api"; // CHECK:STDOUT: %return.patt: %pattern_type.688 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_60: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_60: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_60: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: %.loc6_63: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55] // CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0 // CHECK:STDOUT: %.loc6_49.1: type = splice_block %.loc6_49.3 [concrete = constants.%tuple.type.a1c] { -// CHECK:STDOUT: %int_32.loc6_45: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_45: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_45: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_49.2: %tuple.type.85c = tuple_literal (%i32.loc6_45) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc6_49.3: type = converted %.loc6_49.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: } @@ -567,10 +555,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete] @@ -578,8 +563,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc8: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var] @@ -740,27 +724,21 @@ import library "extern_api"; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} { -// CHECK:STDOUT: %int_32.loc23_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc23_24: Core.Form = init_form %i32.loc23_24, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc23_24: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc23: Core.Form = init_form %i32.loc23_24, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc23_16: type = splice_block %i32.loc23_16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc23_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc23_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [concrete = constants.%C] {} { -// CHECK:STDOUT: %int_32.loc32_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc32_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc32_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: %.loc32_35: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55] // CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0 // CHECK:STDOUT: %.loc32_21.1: type = splice_block %.loc32_21.3 [concrete = constants.%tuple.type.a1c] { -// CHECK:STDOUT: %int_32.loc32_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc32_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc32_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc32_21.2: %tuple.type.85c = tuple_literal (%i32.loc32_17) [concrete = constants.%tuple.896] // CHECK:STDOUT: %.loc32_21.3: type = converted %.loc32_21.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: } @@ -785,10 +763,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc53: type = splice_block %i32.loc53 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc53: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete] @@ -796,8 +771,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc54: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { -// CHECK:STDOUT: %int_32.loc54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc54: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var] @@ -958,27 +932,21 @@ import library "extern_api"; // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [concrete = constants.%A] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} { -// CHECK:STDOUT: %int_32.loc7_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc7_24: Core.Form = init_form %i32.loc7_24, call_param1 [concrete = constants.%.bb0] +// CHECK:STDOUT: %i32.loc7_24: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc7: Core.Form = init_form %i32.loc7_24, call_param1 [concrete = constants.%.bb0] // CHECK:STDOUT: %b.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc7_16: type = splice_block %i32.loc7_16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = fn_decl @C [concrete = constants.%C] {} { -// CHECK:STDOUT: %int_32.loc8_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: %.loc8_35: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.f56] // CHECK:STDOUT: %c.param: %tuple.type.dd4 = value_param call_param0 // CHECK:STDOUT: %.loc8_21.1: type = splice_block %.loc8_21.3 [concrete = constants.%tuple.type.dd4] { -// CHECK:STDOUT: %int_32.loc8_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_21.2: %tuple.type.85c = tuple_literal (%i32.loc8_17) [concrete = constants.%tuple.38e] // CHECK:STDOUT: %.loc8_21.3: type = converted %.loc8_21.2, constants.%tuple.type.dd4 [concrete = constants.%tuple.type.dd4] // CHECK:STDOUT: } @@ -1003,10 +971,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.var_patt: %pattern_type.501 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc13: type = splice_block %i32.loc13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.f5f = ref_binding_pattern c [concrete] @@ -1014,8 +979,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc14: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { -// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var] @@ -1190,10 +1154,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc53: type = splice_block %i32.loc53 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc53: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete] @@ -1201,8 +1162,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc54: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { -// CHECK:STDOUT: %int_32.loc54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc54: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var] @@ -1377,10 +1337,7 @@ import library "extern_api"; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc53: type = splice_block %i32.loc53 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc53: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete] @@ -1388,8 +1345,7 @@ import library "extern_api"; // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc54: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { -// CHECK:STDOUT: %int_32.loc54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc54: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var] diff --git a/toolchain/check/testdata/function/declaration/param_same_name.carbon b/toolchain/check/testdata/function/declaration/param_same_name.carbon index 038500a49654..3c79c2c46ad7 100644 --- a/toolchain/check/testdata/function/declaration/param_same_name.carbon +++ b/toolchain/check/testdata/function/declaration/param_same_name.carbon @@ -51,10 +51,7 @@ fn G(a: i32); // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -62,10 +59,7 @@ fn G(a: i32); // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/declaration/ref.carbon b/toolchain/check/testdata/function/declaration/ref.carbon index 3994fb54eb64..97f388af078f 100644 --- a/toolchain/check/testdata/function/declaration/ref.carbon +++ b/toolchain/check/testdata/function/declaration/ref.carbon @@ -53,8 +53,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_11.1: type = ref_tag %i32 // CHECK:STDOUT: %.loc4_11.2: Core.Form = ref_form %i32 [concrete = constants.%.1da] // CHECK:STDOUT: } @@ -70,10 +69,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %F.ref: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %F.call: ref %i32 = call %F.ref() -// CHECK:STDOUT: %.loc7: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %F.call // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon b/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon index da88a5b38b30..5f9c18124d88 100644 --- a/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon +++ b/toolchain/check/testdata/function/definition/fail_decl_param_mismatch.carbon @@ -155,6 +155,7 @@ fn K() -> {} { return {}; } // CHECK:STDOUT: %x.param_patt: = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: = value_param call_param0 +// CHECK:STDOUT: %.loc40: type = type_literal [concrete = ] // CHECK:STDOUT: %x: = value_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl.loc42: %I.type.f30c8e.1 = fn_decl @I.loc42 [concrete = constants.%I.73832e.1] {} {} diff --git a/toolchain/check/testdata/function/definition/import.carbon b/toolchain/check/testdata/function/definition/import.carbon index b120a5efe613..566dd8b92385 100644 --- a/toolchain/check/testdata/function/definition/import.carbon +++ b/toolchain/check/testdata/function/definition/import.carbon @@ -181,14 +181,10 @@ fn D() {} // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc5_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc5_17: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc5_17: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc5: Core.Form = init_form %i32.loc5_17, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc5_9: type = splice_block %i32.loc5_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -199,14 +195,12 @@ fn D() {} // CHECK:STDOUT: %return.patt: %pattern_type.688 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.688 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: %.loc6_28: Core.Form = init_form %struct_type.c, call_param1 [concrete = constants.%.a55] // CHECK:STDOUT: %c.param: %tuple.type.a1c = value_param call_param0 // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.3 [concrete = constants.%tuple.type.a1c] { -// CHECK:STDOUT: %int_32.loc6_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_14.2: %tuple.type.85c = tuple_literal (%i32.loc6_10) [concrete = constants.%tuple.896] // CHECK:STDOUT: %.loc6_14.3: type = converted %.loc6_14.2, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: } @@ -363,10 +357,7 @@ fn D() {} // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.688 = ref_binding_pattern c [concrete] @@ -374,8 +365,7 @@ fn D() {} // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %struct_type.c = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc8: type = splice_block %struct_type.c [concrete = constants.%struct_type.c] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c: type = struct_type {.c: %i32} [concrete = constants.%struct_type.c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.c = ref_binding c, %c.var [concrete = %c.var] @@ -460,14 +450,10 @@ fn D() {} // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %A.decl: %A.type.8165c1.2 = fn_decl @A.loc14 [concrete = constants.%A.8aef9d.2] {} {} // CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [concrete = constants.%B] {} { -// CHECK:STDOUT: %int_32.loc23_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc23_17: Core.Form = init_form %i32.loc23_17, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc23_17: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc23: Core.Form = init_form %i32.loc23_17, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc23_9: type = splice_block %i32.loc23_9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc23_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc23_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/function/definition/params_one.carbon b/toolchain/check/testdata/function/definition/params_one.carbon index 41981bfbfb94..d94a81f44886 100644 --- a/toolchain/check/testdata/function/definition/params_one.carbon +++ b/toolchain/check/testdata/function/definition/params_one.carbon @@ -46,10 +46,7 @@ fn Foo(unused a: i32) {} // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_one_comma.carbon b/toolchain/check/testdata/function/definition/params_one_comma.carbon index c33478695188..a5c32d637753 100644 --- a/toolchain/check/testdata/function/definition/params_one_comma.carbon +++ b/toolchain/check/testdata/function/definition/params_one_comma.carbon @@ -46,10 +46,7 @@ fn Foo(unused a: i32,) {} // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_two.carbon b/toolchain/check/testdata/function/definition/params_two.carbon index faba73e40249..9d7d3225dee3 100644 --- a/toolchain/check/testdata/function/definition/params_two.carbon +++ b/toolchain/check/testdata/function/definition/params_two.carbon @@ -48,16 +48,10 @@ fn Foo(unused a: i32, unused b: i32) {} // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_18: type = splice_block %i32.loc15_18 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_33: type = splice_block %i32.loc15_33 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/definition/params_two_comma.carbon b/toolchain/check/testdata/function/definition/params_two_comma.carbon index e55e28ddd2e2..f850b1238a40 100644 --- a/toolchain/check/testdata/function/definition/params_two_comma.carbon +++ b/toolchain/check/testdata/function/definition/params_two_comma.carbon @@ -48,16 +48,10 @@ fn Foo(unused a: i32, unused b: i32,) {} // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_18: type = splice_block %i32.loc15_18 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_33: type = splice_block %i32.loc15_33 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon index 36a5626e5212..572af9e0256b 100644 --- a/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon +++ b/toolchain/check/testdata/function/generic/call_method_on_generic_facet.carbon @@ -130,7 +130,10 @@ fn G() { // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %Scalar.patt: %pattern_type.98f = symbolic_binding_pattern Scalar, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_28.1: type = splice_block %.loc15_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Scalar.loc15_19.2: type = symbolic_binding Scalar, 0 [symbolic = %Scalar.loc15_19.1 (constants.%Scalar)] // CHECK:STDOUT: } // CHECK:STDOUT: %GenericParam.decl: type = class_decl @GenericParam [concrete = constants.%GenericParam] {} {} @@ -150,10 +153,13 @@ fn G() { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: @CallGenericMethod.%pattern_type (%pattern_type.c49) = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc33_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc33_22.1 (constants.%T)] -// CHECK:STDOUT: %.loc33: type = splice_block %Generic.type.loc33_45.2 [symbolic = %Generic.type.loc33_45.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.loc33_26.1: type = splice_block %.loc33_26.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc33_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc33_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc33_22.1 (constants.%T)] +// CHECK:STDOUT: %.loc33_45: type = splice_block %Generic.type.loc33_45.2 [symbolic = %Generic.type.loc33_45.1 (constants.%Generic.type.03dff7.2)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Generic.ref: %Generic.type.835 = name_ref Generic, file.%Generic.decl [concrete = constants.%Generic.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc33_22.2 [symbolic = %T.loc33_22.1 (constants.%T)] // CHECK:STDOUT: %Generic.type.loc33_45.2: type = facet_type <@Generic, @Generic(constants.%T)> [symbolic = %Generic.type.loc33_45.1 (constants.%Generic.type.03dff7.2)] diff --git a/toolchain/check/testdata/function/generic/deduce.carbon b/toolchain/check/testdata/function/generic/deduce.carbon index 3921d876a775..636ebfe92c55 100644 --- a/toolchain/check/testdata/function/generic/deduce.carbon +++ b/toolchain/check/testdata/function/generic/deduce.carbon @@ -273,7 +273,10 @@ fn F() { // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type %T.ref.loc4_38 [symbolic = %ptr.loc4_39.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_39.2: Core.Form = init_form %ptr.loc4_39.2, call_param0 [symbolic = %.loc4_39.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.1: type = splice_block %.loc4_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%ptr.loc4_39.1 (%ptr.e8f) = out_param call_param0 // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%ptr.loc4_39.1 (%ptr.e8f) = return_slot %return.param @@ -282,8 +285,7 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param0 [concrete] // 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc6 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc6: Core.Form = init_form %ptr, call_param0 [concrete = constants.%.546] // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param0 @@ -298,7 +300,10 @@ fn F() { // CHECK:STDOUT: %struct_type.a.loc10_62.2: type = struct_type {.a: @CallExplicitGenericParamWithGenericArg.%T.loc10_43.1 (%T)} [symbolic = %struct_type.a.loc10_62.1 (constants.%struct_type.a)] // CHECK:STDOUT: %ptr.loc10_63.2: type = ptr_type %struct_type.a.loc10_62.2 [symbolic = %ptr.loc10_63.1 (constants.%ptr.88d)] // CHECK:STDOUT: %.loc10_63.2: Core.Form = init_form %ptr.loc10_63.2, call_param0 [symbolic = %.loc10_63.1 (constants.%.5bf)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_47.1: type = splice_block %.loc10_47.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_47.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_43.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_43.1 (constants.%T)] // CHECK:STDOUT: %return.param: ref @CallExplicitGenericParamWithGenericArg.%ptr.loc10_63.1 (%ptr.88d) = out_param call_param0 // CHECK:STDOUT: %return: ref @CallExplicitGenericParamWithGenericArg.%ptr.loc10_63.1 (%ptr.88d) = return_slot %return.param @@ -328,8 +333,7 @@ fn F() { // CHECK:STDOUT: fn @CallExplicitGenericParam() -> out %return.param: %ptr.235 { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %ExplicitGenericParam.ref: %ExplicitGenericParam.type = name_ref ExplicitGenericParam, file.%ExplicitGenericParam.decl [concrete = constants.%ExplicitGenericParam] -// 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: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ExplicitGenericParam.specific_fn: = specific_function %ExplicitGenericParam.ref, @ExplicitGenericParam(constants.%i32) [concrete = constants.%ExplicitGenericParam.specific_fn.3d2] // CHECK:STDOUT: %ExplicitGenericParam.call: init %ptr.235 = call %ExplicitGenericParam.specific_fn() // CHECK:STDOUT: return %ExplicitGenericParam.call @@ -441,7 +445,10 @@ fn F() { // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_39.2: type = ptr_type %T.ref.loc4_38 [symbolic = %ptr.loc4_39.1 (constants.%ptr)] // CHECK:STDOUT: %.loc4_39.2: Core.Form = init_form %ptr.loc4_39.2, call_param0 [symbolic = %.loc4_39.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.1: type = splice_block %.loc4_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %return.param: ref @ExplicitGenericParam.%ptr.loc4_39.1 (%ptr) = out_param call_param0 // CHECK:STDOUT: %return: ref @ExplicitGenericParam.%ptr.loc4_39.1 (%ptr) = return_slot %return.param @@ -449,7 +456,10 @@ fn F() { // CHECK:STDOUT: %CallExplicitGenericParamConst.decl: %CallExplicitGenericParamConst.type = fn_decl @CallExplicitGenericParamConst [concrete = constants.%CallExplicitGenericParamConst] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_38.1: type = splice_block %.loc6_38.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_38.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_34.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_34.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %CallExplicitGenericParamNonConst.decl: %CallExplicitGenericParamNonConst.type = fn_decl @CallExplicitGenericParamNonConst [concrete = constants.%CallExplicitGenericParamNonConst] { @@ -457,6 +467,7 @@ fn F() { // CHECK:STDOUT: %T.param_patt: %pattern_type.98f = value_param_pattern %T.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %T.param: type = value_param call_param0 +// CHECK:STDOUT: %.loc10: type = type_literal type [concrete = type] // CHECK:STDOUT: %T: type = value_binding T, %T.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -585,7 +596,10 @@ fn F() { // CHECK:STDOUT: %T.ref.loc6_46: type = name_ref T, %T.loc6_27.2 [symbolic = %T.loc6_27.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc6_47.2: type = ptr_type %T.ref.loc6_46 [symbolic = %ptr.loc6_47.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc6_47.2: Core.Form = init_form %ptr.loc6_47.2, call_param1 [symbolic = %.loc6_47.1 (constants.%.4fe)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_31.1: type = splice_block %.loc6_31.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_31.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_27.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_27.1 (constants.%T)] // CHECK:STDOUT: %x.param: @ExplicitAndAlsoDeduced.%T.loc6_27.1 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc6_40: type = name_ref T, %T.loc6_27.2 [symbolic = %T.loc6_27.1 (constants.%T)] @@ -739,7 +753,10 @@ fn F() { // CHECK:STDOUT: %T.ref.loc4_44: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_45.2: type = ptr_type %T.ref.loc4_44 [symbolic = %ptr.loc4_45.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_45.2: Core.Form = init_form %ptr.loc4_45.2, call_param1 [symbolic = %.loc4_45.1 (constants.%.4fe)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.1: type = splice_block %.loc4_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %x.param: @ImplicitGenericParam.%T.loc4_25.1 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] @@ -753,15 +770,11 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param1 [concrete] // 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: %i32.loc6_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc6_40 [concrete = constants.%ptr.235] -// CHECK:STDOUT: %.loc6_43: Core.Form = init_form %ptr, call_param1 [concrete = constants.%.85d] +// CHECK:STDOUT: %.loc6: Core.Form = init_form %ptr, call_param1 [concrete = constants.%.85d] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc6_32: type = splice_block %i32.loc6_32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc6_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc6_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %return.param: ref %ptr.235 = out_param call_param1 // CHECK:STDOUT: %return: ref %ptr.235 = return_slot %return.param @@ -899,13 +912,15 @@ fn F() { // CHECK:STDOUT: %x.patt: @TupleParam.%pattern_type (%pattern_type.e77) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @TupleParam.%pattern_type (%pattern_type.e77) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_15.1 (constants.%T)] // CHECK:STDOUT: %x.param: @TupleParam.%tuple.type (%tuple.type.b01) = value_param call_param0 // CHECK:STDOUT: %.loc4_42.1: type = splice_block %.loc4_42.3 [symbolic = %tuple.type (constants.%tuple.type.b01)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [symbolic = %T.loc4_15.1 (constants.%T)] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_42.2: %tuple.type.24b = tuple_literal (%T.ref, %i32) [symbolic = %tuple (constants.%tuple.c27)] // CHECK:STDOUT: %.loc4_42.3: type = converted %.loc4_42.2, constants.%tuple.type.b01 [symbolic = %tuple.type (constants.%tuple.type.b01)] // CHECK:STDOUT: } @@ -1037,13 +1052,15 @@ fn F() { // CHECK:STDOUT: %x.patt: @StructParam.%pattern_type (%pattern_type.8a5) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @StructParam.%pattern_type (%pattern_type.8a5) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] // CHECK:STDOUT: %x.param: @StructParam.%struct_type.a.b.loc4_51.1 (%struct_type.a.b.702) = value_param call_param0 -// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.a.b.loc4_51.2 [symbolic = %struct_type.a.b.loc4_51.1 (constants.%struct_type.a.b.702)] { +// CHECK:STDOUT: %.loc4_51: type = splice_block %struct_type.a.b.loc4_51.2 [symbolic = %struct_type.a.b.loc4_51.1 (constants.%struct_type.a.b.702)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_16.2 [symbolic = %T.loc4_16.1 (constants.%T)] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc4_51.2: type = struct_type {.a: @StructParam.%T.loc4_16.1 (%T), .b: %i32} [symbolic = %struct_type.a.b.loc4_51.1 (constants.%struct_type.a.b.702)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @StructParam.%struct_type.a.b.loc4_51.1 (%struct_type.a.b.702) = value_binding x, %x.param @@ -1145,15 +1162,16 @@ fn F() { // CHECK:STDOUT: %x.patt: @BigStructParam.%pattern_type (%pattern_type.1d5) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @BigStructParam.%pattern_type (%pattern_type.1d5) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.1: type = splice_block %.loc4_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T)] // CHECK:STDOUT: %x.param: @BigStructParam.%struct_type.c.d.e.loc4_63.1 (%struct_type.c.d.e) = value_param call_param0 -// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.c.d.e.loc4_63.2 [symbolic = %struct_type.c.d.e.loc4_63.1 (constants.%struct_type.c.d.e)] { +// CHECK:STDOUT: %.loc4_63: type = splice_block %struct_type.c.d.e.loc4_63.2 [symbolic = %struct_type.c.d.e.loc4_63.1 (constants.%struct_type.c.d.e)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_19.2 [symbolic = %T.loc4_19.1 (constants.%T)] -// CHECK:STDOUT: %int_32.loc4_51: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_51: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc4_60: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4_60: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_51: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc4_60: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.c.d.e.loc4_63.2: type = struct_type {.c: @BigStructParam.%T.loc4_19.1 (%T), .d: %i32, .e: %i32} [symbolic = %struct_type.c.d.e.loc4_63.1 (constants.%struct_type.c.d.e)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @BigStructParam.%struct_type.c.d.e.loc4_63.1 (%struct_type.c.d.e) = value_binding x, %x.param @@ -1236,13 +1254,15 @@ fn F() { // CHECK:STDOUT: %x.patt: @SmallStructParam.%pattern_type (%pattern_type.958) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @SmallStructParam.%pattern_type (%pattern_type.958) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_21.1 (constants.%T)] // CHECK:STDOUT: %x.param: @SmallStructParam.%struct_type.f.g.loc4_56.1 (%struct_type.f.g) = value_param call_param0 -// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.f.g.loc4_56.2 [symbolic = %struct_type.f.g.loc4_56.1 (constants.%struct_type.f.g)] { +// CHECK:STDOUT: %.loc4_56: type = splice_block %struct_type.f.g.loc4_56.2 [symbolic = %struct_type.f.g.loc4_56.1 (constants.%struct_type.f.g)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_21.2 [symbolic = %T.loc4_21.1 (constants.%T)] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.f.g.loc4_56.2: type = struct_type {.f: @SmallStructParam.%T.loc4_21.1 (%T), .g: %i32} [symbolic = %struct_type.f.g.loc4_56.1 (constants.%struct_type.f.g)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @SmallStructParam.%struct_type.f.g.loc4_56.1 (%struct_type.f.g) = value_binding x, %x.param @@ -1325,13 +1345,15 @@ fn F() { // CHECK:STDOUT: %x.patt: @WrongNameStructParam.%pattern_type (%pattern_type.ce4) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @WrongNameStructParam.%pattern_type (%pattern_type.ce4) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.1: type = splice_block %.loc4_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %x.param: @WrongNameStructParam.%struct_type.i.different.loc4_68.1 (%struct_type.i.different) = value_param call_param0 -// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.i.different.loc4_68.2 [symbolic = %struct_type.i.different.loc4_68.1 (constants.%struct_type.i.different)] { +// CHECK:STDOUT: %.loc4_68: type = splice_block %struct_type.i.different.loc4_68.2 [symbolic = %struct_type.i.different.loc4_68.1 (constants.%struct_type.i.different)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.i.different.loc4_68.2: type = struct_type {.i: @WrongNameStructParam.%T.loc4_25.1 (%T), .different: %i32} [symbolic = %struct_type.i.different.loc4_68.1 (constants.%struct_type.i.different)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @WrongNameStructParam.%struct_type.i.different.loc4_68.1 (%struct_type.i.different) = value_binding x, %x.param @@ -1413,13 +1435,15 @@ fn F() { // CHECK:STDOUT: %x.patt: @WrongOrderStructParam.%pattern_type (%pattern_type.ab3) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @WrongOrderStructParam.%pattern_type (%pattern_type.ab3) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_30.1: type = splice_block %.loc4_30.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_30.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_26.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_26.1 (constants.%T)] // CHECK:STDOUT: %x.param: @WrongOrderStructParam.%struct_type.first.second.loc4_70.1 (%struct_type.first.second) = value_param call_param0 -// CHECK:STDOUT: %.loc4: type = splice_block %struct_type.first.second.loc4_70.2 [symbolic = %struct_type.first.second.loc4_70.1 (constants.%struct_type.first.second)] { +// CHECK:STDOUT: %.loc4_70: type = splice_block %struct_type.first.second.loc4_70.2 [symbolic = %struct_type.first.second.loc4_70.1 (constants.%struct_type.first.second)] { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_26.2 [symbolic = %T.loc4_26.1 (constants.%T)] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.first.second.loc4_70.2: type = struct_type {.first: @WrongOrderStructParam.%T.loc4_26.1 (%T), .second: %i32} [symbolic = %struct_type.first.second.loc4_70.1 (constants.%struct_type.first.second)] // CHECK:STDOUT: } // CHECK:STDOUT: %x: @WrongOrderStructParam.%struct_type.first.second.loc4_70.1 (%struct_type.first.second) = value_binding x, %x.param @@ -1498,9 +1522,15 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc6_35.2 [symbolic = %U.loc6_35.1 (constants.%U)] // CHECK:STDOUT: %.loc6_54.2: Core.Form = init_form %U.ref, call_param1 [symbolic = %.loc6_54.1 (constants.%.4b7)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_29.1: type = splice_block %.loc6_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_25.1 (constants.%T)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_39.1: type = splice_block %.loc6_39.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_39.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_35.2: type = symbolic_binding U, 1 [symbolic = %U.loc6_35.1 (constants.%U)] // CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc6_25.1 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_25.2 [symbolic = %T.loc6_25.1 (constants.%T)] @@ -1580,7 +1610,10 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc4_50: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %.loc4_50.2: Core.Form = init_form %T.ref.loc4_50, call_param2 [symbolic = %.loc4_50.1 (constants.%.b1d)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.1: type = splice_block %.loc4_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_25.1 (constants.%T)] // CHECK:STDOUT: %x.param: @ImplicitNotDeducible.%T.loc4_25.1 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref.loc4_38: type = name_ref T, %T.loc4_25.2 [symbolic = %T.loc4_25.1 (constants.%T)] @@ -1684,7 +1717,10 @@ fn F() { // CHECK:STDOUT: %DD.decl: %DD.type = class_decl @DD [concrete = constants.%DD.generic] { // CHECK:STDOUT: %E.patt: %pattern_type.98f = symbolic_binding_pattern E, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_14.1: type = splice_block %.loc8_14.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_14.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %E.loc8_10.2: type = symbolic_binding E, 0 [symbolic = %E.loc8_10.1 (constants.%E)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @DD.as.Z.impl [concrete] { @@ -1694,7 +1730,10 @@ fn F() { // CHECK:STDOUT: %E.ref: type = name_ref E, %E.loc9_14.1 [symbolic = %E.loc9_14.2 (constants.%E)] // CHECK:STDOUT: %DD.loc9_28.1: type = class_type @DD, @DD(constants.%E) [symbolic = %DD.loc9_28.2 (constants.%DD.a29)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %E.loc9_14.1: type = symbolic_binding E, 0 [symbolic = %E.loc9_14.2 (constants.%E)] // CHECK:STDOUT: } // CHECK:STDOUT: %CC.decl: %CC.type = class_decl @CC [concrete = constants.%CC.generic] { @@ -1717,7 +1756,10 @@ fn F() { // CHECK:STDOUT: %.loc12_32.1: %Z.type = converted %DD.loc12_31.1, %Z.facet.loc12_32.1 [symbolic = %Z.facet.loc12_32.2 (constants.%Z.facet.892)] // CHECK:STDOUT: %CC.loc12_32.1: type = class_type @CC, @CC(constants.%Z.facet.892) [symbolic = %CC.loc12_32.2 (constants.%CC.4e1)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_18.1: type = splice_block %.loc12_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %E.loc12_14.1: type = symbolic_binding E, 0 [symbolic = %E.loc12_14.2 (constants.%E)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} diff --git a/toolchain/check/testdata/function/generic/forward_decl.carbon b/toolchain/check/testdata/function/generic/forward_decl.carbon index e4bc4ef88347..7203afaea5e7 100644 --- a/toolchain/check/testdata/function/generic/forward_decl.carbon +++ b/toolchain/check/testdata/function/generic/forward_decl.carbon @@ -32,7 +32,10 @@ fn F(T:! type); // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_10.1: type = splice_block %.loc15_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/import_specific.carbon b/toolchain/check/testdata/function/generic/import_specific.carbon index a93d649688ea..347c0bbc68e9 100644 --- a/toolchain/check/testdata/function/generic/import_specific.carbon +++ b/toolchain/check/testdata/function/generic/import_specific.carbon @@ -62,13 +62,19 @@ fn H() { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.1: type = splice_block %.loc7_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_6.1 (constants.%T.67db0b.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/function/generic/param_in_type.carbon b/toolchain/check/testdata/function/generic/param_in_type.carbon index 49443c07a0f7..a50aa492e7b4 100644 --- a/toolchain/check/testdata/function/generic/param_in_type.carbon +++ b/toolchain/check/testdata/function/generic/param_in_type.carbon @@ -74,14 +74,12 @@ fn F(N:! i32, a: array(i32, N)*); // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc15_10: type = splice_block %i32.loc15_10 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32.loc15_10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc15_6.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc15_6.1 (constants.%N.5de)] // CHECK:STDOUT: %a.param: @F.%ptr.loc15_31.1 (%ptr) = value_param call_param0 // CHECK:STDOUT: %.loc15_31: type = splice_block %ptr.loc15_31.2 [symbolic = %ptr.loc15_31.1 (constants.%ptr)] { -// CHECK:STDOUT: %int_32.loc15_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %N.loc15_6.2 [symbolic = %N.loc15_6.1 (constants.%N.5de)] // CHECK:STDOUT: %impl.elem0: %.0a7 = impl_witness_access constants.%ImplicitAs.impl_witness.640, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.dd4] // CHECK:STDOUT: %bound_method.loc15_29.2: = bound_method %N.ref, %impl.elem0 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound)] diff --git a/toolchain/check/testdata/function/generic/redeclare.carbon b/toolchain/check/testdata/function/generic/redeclare.carbon index 46de5b7e020a..c629b7aabd77 100644 --- a/toolchain/check/testdata/function/generic/redeclare.carbon +++ b/toolchain/check/testdata/function/generic/redeclare.carbon @@ -131,7 +131,10 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.ref.loc4: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_20.2: type = ptr_type %T.ref.loc4 [symbolic = %ptr.loc4_20.1 (constants.%ptr)] // CHECK:STDOUT: %.loc4_20.2: Core.Form = init_form %ptr.loc4_20.2, call_param0 [symbolic = %.loc4_20.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)] // CHECK:STDOUT: %return.param.loc4: ref @F.%ptr.loc4_20.1 (%ptr) = out_param call_param0 // CHECK:STDOUT: %return.loc4: ref @F.%ptr.loc4_20.1 (%ptr) = return_slot %return.param.loc4 @@ -143,8 +146,11 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc6: type = name_ref T, %T.loc6 [symbolic = %T.loc4_6.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc6: type = ptr_type %T.ref.loc6 [symbolic = %ptr.loc4_20.1 (constants.%ptr)] -// CHECK:STDOUT: %.loc6: Core.Form = init_form %ptr.loc6, call_param0 [symbolic = %.loc4_20.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_20: Core.Form = init_form %ptr.loc6, call_param0 [symbolic = %.loc4_20.1 (constants.%.8e9)] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)] // CHECK:STDOUT: %return.param.loc6: ref @F.%ptr.loc4_20.1 (%ptr) = out_param call_param0 // CHECK:STDOUT: %return.loc6: ref @F.%ptr.loc4_20.1 (%ptr) = return_slot %return.param.loc6 @@ -225,9 +231,15 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_30.2: Core.Form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc4_16.1 (constants.%U)] // CHECK:STDOUT: %return.param: ref @F.loc4.%ptr.loc4_30.1 (%ptr.e8f) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_30.1 (%ptr.e8f) = return_slot %return.param @@ -241,9 +253,15 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_16.2 [symbolic = %U.loc13_16.1 (constants.%U)] // CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.1 (constants.%ptr.18e)] // CHECK:STDOUT: %.loc13_30.2: Core.Form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.a9f)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_10.1: type = splice_block %.loc13_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_6.1 (constants.%T)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_20.1: type = splice_block %.loc13_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc13_16.1 (constants.%U)] // CHECK:STDOUT: %return.param: ref @F.loc13.%ptr.loc13_30.1 (%ptr.18e) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.loc13.%ptr.loc13_30.1 (%ptr.18e) = return_slot %return.param @@ -339,9 +357,15 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc4_30.2: Core.Form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T.67d)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc4_16.1 (constants.%U.091)] // CHECK:STDOUT: %return.param: ref @F.loc4.%ptr.loc4_30.1 (%ptr.e8f) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_30.1 (%ptr.e8f) = return_slot %return.param @@ -355,9 +379,15 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.ref.loc13: type = name_ref T, %T.loc13_23.2 [symbolic = %T.loc13_23.1 (constants.%T.091)] // CHECK:STDOUT: %ptr.loc13_37.2: type = ptr_type %T.ref.loc13 [symbolic = %ptr.loc13_37.1 (constants.%ptr.18e)] // CHECK:STDOUT: %.loc13_37.2: Core.Form = init_form %ptr.loc13_37.2, call_param0 [symbolic = %.loc13_37.1 (constants.%.a9f)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_17.1: type = splice_block %.loc13_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_13.2: type = symbolic_binding U, 0 [symbolic = %U.loc13_13.1 (constants.%U.67d)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_27.1: type = splice_block %.loc13_27.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_27.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_23.2: type = symbolic_binding T, 1 [symbolic = %T.loc13_23.1 (constants.%T.091)] // CHECK:STDOUT: %return.param: ref @F.loc13.%ptr.loc13_37.1 (%ptr.18e) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.loc13.%ptr.loc13_37.1 (%ptr.18e) = return_slot %return.param @@ -453,9 +483,15 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_6.2 [symbolic = %T.loc4_6.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc4_30.2: type = ptr_type %T.ref [symbolic = %ptr.loc4_30.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %.loc4_30.2: Core.Form = init_form %ptr.loc4_30.2, call_param0 [symbolic = %.loc4_30.1 (constants.%.8e9764.1)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_6.1 (constants.%T.67d)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc4_16.2: type = symbolic_binding U, 1 [symbolic = %U.loc4_16.1 (constants.%U.091)] // CHECK:STDOUT: %return.param: ref @F.loc4.%ptr.loc4_30.1 (%ptr.e8f8f9.1) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.loc4.%ptr.loc4_30.1 (%ptr.e8f8f9.1) = return_slot %return.param @@ -469,9 +505,15 @@ fn F(U:! type, T:! type) -> U* { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc13_6.2 [symbolic = %U.loc13_6.1 (constants.%U.67d)] // CHECK:STDOUT: %ptr.loc13_30.2: type = ptr_type %U.ref [symbolic = %ptr.loc13_30.1 (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc13_30.2: Core.Form = init_form %ptr.loc13_30.2, call_param0 [symbolic = %.loc13_30.1 (constants.%.8e9764.2)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_10.1: type = splice_block %.loc13_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc13_6.2: type = symbolic_binding U, 0 [symbolic = %U.loc13_6.1 (constants.%U.67d)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_20.1: type = splice_block %.loc13_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_16.2: type = symbolic_binding T, 1 [symbolic = %T.loc13_16.1 (constants.%T.091)] // CHECK:STDOUT: %return.param: ref @F.loc13.%ptr.loc13_30.1 (%ptr.e8f8f9.2) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.loc13.%ptr.loc13_30.1 (%ptr.e8f8f9.2) = return_slot %return.param diff --git a/toolchain/check/testdata/function/generic/return_slot.carbon b/toolchain/check/testdata/function/generic/return_slot.carbon index b8f7015e00c0..7cd98470f14d 100644 --- a/toolchain/check/testdata/function/generic/return_slot.carbon +++ b/toolchain/check/testdata/function/generic/return_slot.carbon @@ -108,7 +108,10 @@ fn G() { // CHECK:STDOUT: %Wrap.decl: %Wrap.type = class_decl @Wrap [concrete = constants.%Wrap.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_16.1: type = splice_block %.loc15_16.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_16.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_12.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_12.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -143,8 +146,7 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_100: Core.IntLiteral = int_value 100 [concrete = constants.%int_100] // CHECK:STDOUT: %array_type: type = array_type %int_100, %i32 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc19: %C.elem = field_decl arr, element0 [concrete] @@ -186,18 +188,14 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt // CHECK:STDOUT: %Wrap.ref.loc22: %Wrap.type = name_ref Wrap, file.%Wrap.decl [concrete = constants.%Wrap.generic] -// CHECK:STDOUT: %int_32.loc22_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Wrap.loc22: type = class_type @Wrap, @Wrap(constants.%i32) [concrete = constants.%Wrap.e80] -// CHECK:STDOUT: %.loc22_32: %Wrap.Make.type.939 = specific_constant @Wrap.%Wrap.Make.decl, @Wrap(constants.%i32) [concrete = constants.%Wrap.Make.6cb] -// CHECK:STDOUT: %Make.ref.loc22: %Wrap.Make.type.939 = name_ref Make, %.loc22_32 [concrete = constants.%Wrap.Make.6cb] +// CHECK:STDOUT: %.loc22: %Wrap.Make.type.939 = specific_constant @Wrap.%Wrap.Make.decl, @Wrap(constants.%i32) [concrete = constants.%Wrap.Make.6cb] +// CHECK:STDOUT: %Make.ref.loc22: %Wrap.Make.type.939 = name_ref Make, %.loc22 [concrete = constants.%Wrap.Make.6cb] // CHECK:STDOUT: %Wrap.Make.specific_fn.loc22: = specific_function %Make.ref.loc22, @Wrap.Make(constants.%i32) [concrete = constants.%Wrap.Make.specific_fn.35c] // CHECK:STDOUT: %Wrap.Make.call.loc22: init %i32 = call %Wrap.Make.specific_fn.loc22() // CHECK:STDOUT: assign %a.var, %Wrap.Make.call.loc22 -// CHECK:STDOUT: %.loc22_17: type = splice_block %i32.loc22_17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc22_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc22_17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.cb1 = ref_binding_pattern b [concrete] diff --git a/toolchain/check/testdata/function/generic/template_param.carbon b/toolchain/check/testdata/function/generic/template_param.carbon index 00c71be06dc0..e12de8cb9e97 100644 --- a/toolchain/check/testdata/function/generic/template_param.carbon +++ b/toolchain/check/testdata/function/generic/template_param.carbon @@ -48,7 +48,10 @@ fn G() { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0, template [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_26.1: type = splice_block %.loc4_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_22.2: type = symbolic_binding T, 0, template [template = %T.loc4_22.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} diff --git a/toolchain/check/testdata/function/generic/type_param.carbon b/toolchain/check/testdata/function/generic/type_param.carbon index 96f65587d88b..aef0319213a7 100644 --- a/toolchain/check/testdata/function/generic/type_param.carbon +++ b/toolchain/check/testdata/function/generic/type_param.carbon @@ -59,7 +59,10 @@ fn F(T:! type) { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_10.1: type = splice_block %.loc15_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/call_basic_depth.carbon b/toolchain/check/testdata/generic/call_basic_depth.carbon index 8779930ebdf3..38c906233f60 100644 --- a/toolchain/check/testdata/generic/call_basic_depth.carbon +++ b/toolchain/check/testdata/generic/call_basic_depth.carbon @@ -79,7 +79,10 @@ fn M() { // CHECK:STDOUT: %x.patt: @F.%pattern_type (%pattern_type.51d) = value_binding_pattern x [concrete] // CHECK:STDOUT: %x.param_patt: @F.%pattern_type (%pattern_type.51d) = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc19_10.1: type = splice_block %.loc19_10.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc19_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc19_6.1 (constants.%T)] // CHECK:STDOUT: %x.param: @F.%T.loc19_6.1 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc19_6.2 [symbolic = %T.loc19_6.1 (constants.%T)] diff --git a/toolchain/check/testdata/generic/complete_type.carbon b/toolchain/check/testdata/generic/complete_type.carbon index 465d264d67e1..157c19573c54 100644 --- a/toolchain/check/testdata/generic/complete_type.carbon +++ b/toolchain/check/testdata/generic/complete_type.carbon @@ -127,7 +127,10 @@ fn G() { F(B); } // CHECK:STDOUT: %A.decl: %A.type = class_decl @A [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_13.1: type = splice_block %.loc6_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -255,7 +258,10 @@ fn G() { F(B); } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} @@ -397,7 +403,10 @@ fn G() { F(B); } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} diff --git a/toolchain/check/testdata/generic/dependent_param.carbon b/toolchain/check/testdata/generic/dependent_param.carbon index 9d67b419901a..86a33cc9b352 100644 --- a/toolchain/check/testdata/generic/dependent_param.carbon +++ b/toolchain/check/testdata/generic/dependent_param.carbon @@ -110,10 +110,7 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: %n.var_patt: %pattern_type.7ce = var_pattern %n.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %n.var: ref %i32 = var %n.var_patt [concrete] -// CHECK:STDOUT: %.loc13: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: ref %i32 = ref_binding n, %n.var [concrete = %n.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -197,8 +194,7 @@ var n: i32 = Outer(i32).Inner(42).Get(); // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %Outer.ref: %Outer.type = name_ref Outer, file.%Outer.decl [concrete = constants.%Outer.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Copy.facet.loc13_23: %Copy.type = facet_value %i32, (constants.%Copy.impl_witness.f17) [concrete = constants.%Copy.facet.de4] // CHECK:STDOUT: %.loc13_23: %Copy.type = converted %i32, %Copy.facet.loc13_23 [concrete = constants.%Copy.facet.de4] // CHECK:STDOUT: %Outer: type = class_type @Outer, @Outer(constants.%Copy.facet.de4) [concrete = constants.%Outer.a6c] diff --git a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon index fc2900e704cf..962c503d5d68 100644 --- a/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon +++ b/toolchain/check/testdata/generic/dot_self_symbolic_type.carbon @@ -365,7 +365,10 @@ fn H(T:! type) { // CHECK:STDOUT: %AA.ref.loc9_59: type = name_ref AA, %AA.loc9_14.1 [symbolic = %AA.loc9_14.2 (constants.%AA)] // CHECK:STDOUT: %ptr.loc9_61.1: type = ptr_type %AA.ref.loc9_59 [symbolic = %ptr.loc9_61.2 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %B.type.loc9_62.1: type = facet_type <@B, @B(constants.%ptr.e8f8f9.1)> [symbolic = %B.type.loc9_62.2 (constants.%B.type.abcc5d.1)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc9_19.1: type = splice_block %.loc9_19.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc9_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %AA.loc9_14.1: type = symbolic_binding AA, 0 [symbolic = %AA.loc9_14.2 (constants.%AA)] // CHECK:STDOUT: %.loc9_36.1: type = splice_block %.loc9_36.2 [symbolic = %A_where.type (constants.%A_where.type.29f165.1)] { // CHECK:STDOUT: @@ -373,7 +376,7 @@ fn H(T:! type) { // CHECK:STDOUT: %AA.ref.loc9_32: type = name_ref AA, %AA.loc9_14.1 [symbolic = %AA.loc9_14.2 (constants.%AA)] // CHECK:STDOUT: %A.type.loc9_34.1: type = facet_type <@A, @A(constants.%AA)> [symbolic = %A.type.loc9_34.2 (constants.%A.type.ade3d9.1)] // CHECK:STDOUT: -// CHECK:STDOUT: %.Self.ref: @BB.binding.as_type.as.B.impl.%A.type.loc9_34.2 (%A.type.ade3d9.1) = name_ref .Self, %.Self.3 [symbolic = %.Self.4 (constants.%.Self.660472.1)] +// CHECK:STDOUT: %.Self.ref: @BB.binding.as_type.as.B.impl.%A.type.loc9_34.2 (%A.type.ade3d9.1) = name_ref .Self, %.Self.2 [symbolic = %.Self.4 (constants.%.Self.660472.1)] // CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic = %.Self.binding.as_type (constants.%.Self.binding.as_type)] // CHECK:STDOUT: %.loc9_42.1: type = converted %.Self.ref, %.Self.as_type [symbolic = %.Self.binding.as_type (constants.%.Self.binding.as_type)] // CHECK:STDOUT: %.loc9_42.2: @BB.binding.as_type.as.B.impl.%A.assoc_type (%A.assoc_type) = specific_constant @X.%assoc0, @A(constants.%AA, constants.%.Self.660472.1) [symbolic = %assoc0 (constants.%assoc0)] @@ -381,7 +384,7 @@ fn H(T:! type) { // CHECK:STDOUT: %impl.elem0.loc9_42.1: type = impl_witness_access constants.%A.lookup_impl_witness.04abbb.1, element0 [symbolic = %impl.elem0.loc9_42.2 (constants.%impl.elem0.f51d29.1)] // CHECK:STDOUT: %.loc9_48.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc9_48.2: type = converted %.loc9_48.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %.loc9_36.2: type = where_expr %.Self.3 [symbolic = %A_where.type (constants.%A_where.type.29f165.1)] { +// CHECK:STDOUT: %.loc9_36.2: type = where_expr %.Self.2 [symbolic = %A_where.type (constants.%A_where.type.29f165.1)] { // CHECK:STDOUT: requirement_base_facet_type constants.%A.type.ade3d9.1 // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc9_42.1, %.loc9_48.2 // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/local.carbon b/toolchain/check/testdata/generic/local.carbon index 2b2aa97e8dee..59b19482a3d9 100644 --- a/toolchain/check/testdata/generic/local.carbon +++ b/toolchain/check/testdata/generic/local.carbon @@ -152,7 +152,10 @@ class C(C:! type) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_15.1: type = splice_block %.loc5_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_11.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_11.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { @@ -175,8 +178,7 @@ class C(C:! type) { // CHECK:STDOUT: assign %v.var, %.loc8_3 // CHECK:STDOUT: %.loc8_22: type = splice_block %C [concrete = constants.%C.d45] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, %C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%i32) [concrete = constants.%C.d45] // CHECK:STDOUT: } // CHECK:STDOUT: %v: ref %C.d45 = ref_binding v, %v.var @@ -253,7 +255,10 @@ class C(C:! type) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %C.patt: %pattern_type = symbolic_binding_pattern C, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_15.1: type = splice_block %.loc13_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %C.loc13_11.2: type = symbolic_binding C, 0 [symbolic = %C.loc13_11.1 (constants.%C.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: return @@ -293,7 +298,10 @@ class C(C:! type) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %C.patt: %pattern_type = symbolic_binding_pattern C, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %C.loc4_9.2: type = symbolic_binding C, 0 [symbolic = %C.loc4_9.1 (constants.%C.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/generic/template/convert.carbon b/toolchain/check/testdata/generic/template/convert.carbon index 513ad27aeaa2..35ae6829e011 100644 --- a/toolchain/check/testdata/generic/template/convert.carbon +++ b/toolchain/check/testdata/generic/template/convert.carbon @@ -162,10 +162,12 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_34: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0, template [template = %T.loc4_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @F.%T.loc4_15.1 (%T.67db0b.1) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [template = %T.loc4_15.1 (constants.%T.67db0b.1)] @@ -179,14 +181,10 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc9_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc9_21: Core.Form = init_form %i32.loc9_21, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc9_21: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc9: Core.Form = init_form %i32.loc9_21, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc9_13: type = splice_block %i32.loc9_13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9_13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -198,8 +196,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %c.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] @@ -216,8 +213,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_33: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] @@ -234,15 +230,13 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14: %C.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: impl_decl @C.as.ImplicitAs.impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%i32)> [concrete = constants.%ImplicitAs.type.e8c] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] @@ -268,10 +262,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = value_binding_pattern n [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref: @F.%T.loc4_15.1 (%T.67db0b.1) = name_ref x, %x -// CHECK:STDOUT: %.loc5_10: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_16.1: @F.%T.loc4_15.1 (%T.67db0b.1) = splice_inst %.loc5_16.3 // CHECK:STDOUT: %.loc5_16.2: %i32 = splice_inst %.loc5_16.4 // CHECK:STDOUT: %n: %i32 = value_binding n, %.loc5_16.2 @@ -419,10 +410,12 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_34: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0, template [template = %T.loc4_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @F.%T.loc4_15.1 (%T.67db0b.1) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [template = %T.loc4_15.1 (constants.%T.67db0b.1)] @@ -437,8 +430,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %d.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] @@ -471,10 +463,7 @@ fn Test(d: D) -> i32 { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = value_binding_pattern n [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref: @F.%T.loc4_15.1 (%T.67db0b.1) = name_ref x, %x -// CHECK:STDOUT: %.loc5_10: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_16.1: @F.%T.loc4_15.1 (%T.67db0b.1) = splice_inst %.loc5_16.3 // CHECK:STDOUT: %.loc5_16.2: %i32 = splice_inst %.loc5_16.4 // CHECK:STDOUT: %n: %i32 = value_binding n, %.loc5_16.2 diff --git a/toolchain/check/testdata/generic/template/member_access.carbon b/toolchain/check/testdata/generic/template/member_access.carbon index 8ce91d85e5ed..154298a96ade 100644 --- a/toolchain/check/testdata/generic/template/member_access.carbon +++ b/toolchain/check/testdata/generic/template/member_access.carbon @@ -180,10 +180,12 @@ fn Test(e: E) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_34: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0, template [template = %T.loc4_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @F.%T.loc4_15.1 (%T.67db0b.1) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [template = %T.loc4_15.1 (constants.%T.67db0b.1)] @@ -206,10 +208,8 @@ fn Test(e: E) { // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: %struct_type.m.n = value_param call_param0 // CHECK:STDOUT: %.loc17: type = splice_block %struct_type.m.n [concrete = constants.%struct_type.m.n] { -// CHECK:STDOUT: %int_32.loc17_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc17_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17_18: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.m.n: type = struct_type {.m: %i32, .n: %i32} [concrete = constants.%struct_type.m.n] // CHECK:STDOUT: } // CHECK:STDOUT: %x: %struct_type.m.n = value_binding x, %x.param @@ -217,8 +217,7 @@ fn Test(e: E) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: %C.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -247,10 +246,7 @@ fn Test(e: E) { // CHECK:STDOUT: %x.ref: @F.%T.loc4_15.1 (%T.67db0b.1) = name_ref x, %x // CHECK:STDOUT: %.loc5_17.1: @F.%T.loc4_15.1 (%T.67db0b.1) = splice_inst %.loc5_17.4 // CHECK:STDOUT: %.loc5_17.2: @F.%.loc5_17.6 (@F.%.loc5_17.6) = splice_inst %.loc5_17.5 -// CHECK:STDOUT: %.loc5_10: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_17.3: %i32 = splice_inst %.loc5_17.7 // CHECK:STDOUT: %n: %i32 = value_binding n, %.loc5_17.3 // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n @@ -385,10 +381,12 @@ fn Test(e: E) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_34: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0, template [template = %T.loc4_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @F.%T.loc4_15.1 (%T.67db0b.1) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [template = %T.loc4_15.1 (constants.%T.67db0b.1)] @@ -408,8 +406,7 @@ fn Test(e: E) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10: %D.elem = field_decl m, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.m [concrete = constants.%complete_type.218] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -439,10 +436,7 @@ fn Test(e: E) { // CHECK:STDOUT: %x.ref: @F.%T.loc4_15.1 (%T.67db0b.1) = name_ref x, %x // CHECK:STDOUT: %.loc5_17.1: @F.%T.loc4_15.1 (%T.67db0b.1) = splice_inst %.loc5_17.4 // CHECK:STDOUT: %.loc5_17.2: @F.%.loc5_17.6 (@F.%.loc5_17.6) = splice_inst %.loc5_17.5 -// CHECK:STDOUT: %.loc5_10: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_17.3: %i32 = splice_inst %.loc5_17.7 // CHECK:STDOUT: %n: %i32 = value_binding n, %.loc5_17.3 // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n @@ -569,10 +563,12 @@ fn Test(e: E) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc4: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc4_34: Core.Form = init_form %i32.loc4, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %.loc4_19.1: type = splice_block %.loc4_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_15.2: type = symbolic_binding T, 0, template [template = %T.loc4_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @F.loc4.%T.loc4_15.1 (%T.67db0b.1) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_15.2 [template = %T.loc4_15.1 (constants.%T.67db0b.1)] @@ -631,10 +627,7 @@ fn Test(e: E) { // CHECK:STDOUT: %x.ref: @F.loc4.%T.loc4_15.1 (%T.67db0b.1) = name_ref x, %x // CHECK:STDOUT: %.loc5_17.1: @F.loc4.%T.loc4_15.1 (%T.67db0b.1) = splice_inst %.loc5_17.4 // CHECK:STDOUT: %.loc5_17.2: @F.loc4.%.loc5_17.6 (@F.loc4.%.loc5_17.6) = splice_inst %.loc5_17.5 -// CHECK:STDOUT: %.loc5_10: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_17.3: %i32 = splice_inst %.loc5_17.7 // CHECK:STDOUT: %n: %i32 = value_binding n, %.loc5_17.3 // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n diff --git a/toolchain/check/testdata/generic/template/unimplemented.carbon b/toolchain/check/testdata/generic/template/unimplemented.carbon index 328dbc58f4ea..7013181cacbf 100644 --- a/toolchain/check/testdata/generic/template/unimplemented.carbon +++ b/toolchain/check/testdata/generic/template/unimplemented.carbon @@ -116,10 +116,12 @@ fn F[template T:! Core.Destroy](x: T) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc6: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc6_34: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %.loc6_19.1: type = splice_block %.loc6_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc6_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_15.2: type = symbolic_binding T, 0, template [template = %T.loc6_15.1 (constants.%T)] // CHECK:STDOUT: %x.param: @F.%T.loc6_15.1 (%T) = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_15.2 [template = %T.loc6_15.1 (constants.%T)] @@ -202,8 +204,7 @@ fn F[template T:! Core.Destroy](x: T) { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11_25: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %.loc11_19: type = splice_block %C.ref [concrete = constants.%C] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] @@ -216,8 +217,7 @@ fn F[template T:! Core.Destroy](x: T) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5: %C.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -359,12 +359,9 @@ fn F[template T:! Core.Destroy](x: T) { // CHECK:STDOUT: } // CHECK:STDOUT: %w.var: ref %i32 = var %w.var_patt // CHECK:STDOUT: %x.ref: @F.%T.binding.as_type (%T.binding.as_type.140) = name_ref x, %x -// CHECK:STDOUT: %.loc22_3: %i32 = converted %x.ref, [concrete = ] +// CHECK:STDOUT: %.loc22: %i32 = converted %x.ref, [concrete = ] // CHECK:STDOUT: assign %w.var, -// CHECK:STDOUT: %.loc22_17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %w: ref %i32 = ref_binding w, %w.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %w.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%w.var) diff --git a/toolchain/check/testdata/generic/template_dependence.carbon b/toolchain/check/testdata/generic/template_dependence.carbon index 01147e66c0ed..f3f069a25c15 100644 --- a/toolchain/check/testdata/generic/template_dependence.carbon +++ b/toolchain/check/testdata/generic/template_dependence.carbon @@ -65,7 +65,10 @@ fn F(template T:! type, U:! type) -> (T, U) { // CHECK:STDOUT: %T.ref.loc5_36: type = name_ref T, %T.loc5_15.2 [template = %T.loc5_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %ptr.loc5_37: type = ptr_type %T.ref.loc5_36 [template = %ptr.loc5_29.1 (constants.%ptr.e8f8f9.1)] // CHECK:STDOUT: %.loc5_37.2: Core.Form = init_form %ptr.loc5_37, call_param1 [template = %.loc5_37.1 (constants.%.4fe7d1.1)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_19.1: type = splice_block %.loc5_19.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_15.2: type = symbolic_binding T, 0, template [template = %T.loc5_15.1 (constants.%T.67db0b.1)] // CHECK:STDOUT: %x.param: @F.%ptr.loc5_30.1 (%ptr.125) = value_param call_param0 // CHECK:STDOUT: %.loc5_30: type = splice_block %ptr.loc5_30.2 [template = %ptr.loc5_30.1 (constants.%ptr.125)] { @@ -150,9 +153,15 @@ fn F(template T:! type, U:! type) -> (T, U) { // CHECK:STDOUT: %.loc5_43.3: %tuple.type.24b = tuple_literal (%T.ref.loc5, %U.ref.loc5) [template = %tuple (constants.%tuple)] // CHECK:STDOUT: %.loc5_43.4: type = converted %.loc5_43.3, constants.%tuple.type.a5e [template = %tuple.type (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc5_43.5: Core.Form = init_form %.loc5_43.4, call_param0 [template = %.loc5_43.2 (constants.%.fbc)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_19.1: type = splice_block %.loc5_19.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_15.2: type = symbolic_binding T, 0, template [template = %T.loc5_15.1 (constants.%T)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_29.1: type = splice_block %.loc5_29.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc5_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc5_25.2: type = symbolic_binding U, 1 [symbolic = %U.loc5_25.1 (constants.%U)] // CHECK:STDOUT: %return.param: ref @F.%tuple.type (%tuple.type.a5e) = out_param call_param0 // CHECK:STDOUT: %return: ref @F.%tuple.type (%tuple.type.a5e) = return_slot %return.param diff --git a/toolchain/check/testdata/if/basics.carbon b/toolchain/check/testdata/if/basics.carbon index 3e500ab3b3bf..65b557dc0791 100644 --- a/toolchain/check/testdata/if/basics.carbon +++ b/toolchain/check/testdata/if/basics.carbon @@ -117,8 +117,6 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] // CHECK:STDOUT: %H.type: type = fn_type @H [concrete] // CHECK:STDOUT: %H: %H.type = struct_value () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %If.type: type = fn_type @If [concrete] // CHECK:STDOUT: %If: %If.type = struct_value () [concrete] @@ -130,11 +128,7 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc8_10.1: type = splice_block %.loc8_10.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_10.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc8_10.3: type = converted %Bool.call, %.loc8_10.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc8: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -168,8 +162,6 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: %F: %F.type = struct_value () [concrete] // CHECK:STDOUT: %G.type: type = fn_type @G [concrete] // CHECK:STDOUT: %G: %G.type = struct_value () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %If.type: type = fn_type @If [concrete] // CHECK:STDOUT: %If: %If.type = struct_value () [concrete] @@ -181,11 +173,7 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc7_10.1: type = splice_block %.loc7_10.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc7_10.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc7_10.3: type = converted %Bool.call, %.loc7_10.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc7: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -209,8 +197,6 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: --- unreachable_fallthrough.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %.fff: Core.Form = init_form bool, call_param1 [concrete] // CHECK:STDOUT: %If.type: type = fn_type @If [concrete] @@ -240,16 +226,10 @@ fn VarScope(b: bool) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc4_19: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc4_19.1: type = value_of_initializer %Bool.call.loc4_19 [concrete = bool] -// CHECK:STDOUT: %.loc4_19.2: type = converted %Bool.call.loc4_19, %.loc4_19.1 [concrete = bool] -// CHECK:STDOUT: %.loc4_19.3: Core.Form = init_form %.loc4_19.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc4_19.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc4_19.2: Core.Form = init_form %.loc4_19.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc4_10: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc4_10.2: type = value_of_initializer %Bool.call.loc4_10 [concrete = bool] -// CHECK:STDOUT: %.loc4_10.3: type = converted %Bool.call.loc4_10, %.loc4_10.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc4_10: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param diff --git a/toolchain/check/testdata/if_expr/basic.carbon b/toolchain/check/testdata/if_expr/basic.carbon index 13beedff30bc..9be86946197b 100644 --- a/toolchain/check/testdata/if_expr/basic.carbon +++ b/toolchain/check/testdata/if_expr/basic.carbon @@ -108,27 +108,16 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param3 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_34: Core.Form = init_form %i32.loc15_34, call_param3 [concrete = constants.%.591] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc15_9.1: type = splice_block %.loc15_9.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_9.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc15_9.3: type = converted %Bool.call, %.loc15_9.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_9: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %n.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc15_18: type = splice_block %i32.loc15_18 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %m.param: %i32 = value_param call_param2 -// CHECK:STDOUT: %.loc15_26: type = splice_block %i32.loc15_26 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %m: %i32 = value_binding m, %m.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param3 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -157,8 +146,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: %.loc16_3: init %array_type = converted %.loc16_29.1, %.loc16_29.5 [concrete = constants.%array] // CHECK:STDOUT: assign %x.var, %.loc16_3 // CHECK:STDOUT: %.loc16_22: type = splice_block %array_type [concrete = constants.%array_type] { -// 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: %i32.loc16: type = type_literal constants.%i32 [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.loc16 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -169,8 +157,6 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: !if.expr.then: // CHECK:STDOUT: %x.ref.loc17_20: ref %array_type = name_ref x, %x // CHECK:STDOUT: %m.ref: %i32 = name_ref m, %m -// CHECK:STDOUT: %int_32.loc17_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc17_23.1: ref %i32 = array_index %x.ref.loc17_20, %m.ref // CHECK:STDOUT: %.loc17_23.2: %i32 = acquire_value %.loc17_23.1 // CHECK:STDOUT: br !if.expr.result(%.loc17_23.2) @@ -178,8 +164,6 @@ fn F(b: bool, n: i32, m: i32) -> i32 { // CHECK:STDOUT: !if.expr.else: // CHECK:STDOUT: %x.ref.loc17_30: ref %array_type = name_ref x, %x // CHECK:STDOUT: %n.ref: %i32 = name_ref n, %n -// CHECK:STDOUT: %int_32.loc17_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc17_33.1: ref %i32 = array_index %x.ref.loc17_30, %n.ref // CHECK:STDOUT: %.loc17_33.2: %i32 = acquire_value %.loc17_33.1 // CHECK:STDOUT: br !if.expr.result(%.loc17_33.2) diff --git a/toolchain/check/testdata/if_expr/constant_condition.carbon b/toolchain/check/testdata/if_expr/constant_condition.carbon index 08410cf044cd..7b1f29ff1bd1 100644 --- a/toolchain/check/testdata/if_expr/constant_condition.carbon +++ b/toolchain/check/testdata/if_expr/constant_condition.carbon @@ -148,8 +148,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_11: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -158,8 +157,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_11: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -168,8 +166,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -178,8 +175,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -188,8 +184,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc26: Core.Form = init_form %i32.loc26, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -200,10 +195,10 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc32: Core.Form = init_form %i32.loc32, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc32_34: Core.Form = init_form %i32.loc32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %t.param: type = value_param call_param0 +// CHECK:STDOUT: %.loc32_25: type = type_literal type [concrete = type] // CHECK:STDOUT: %t: type = value_binding t, %t.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -314,13 +309,11 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: if %true br !if.expr.then.loc27 else br !if.expr.else.loc27 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc27: -// CHECK:STDOUT: %int_32.loc27_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result.loc27(%i32.loc27_23) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc27: -// CHECK:STDOUT: %int_32.loc27_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc27: type = ptr_type %i32.loc27_32 [concrete = constants.%ptr.235] // CHECK:STDOUT: br !if.expr.result.loc27(%ptr.loc27) // CHECK:STDOUT: @@ -350,13 +343,11 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: if %false br !if.expr.then.loc28 else br !if.expr.else.loc28 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc28: -// CHECK:STDOUT: %int_32.loc28_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc28_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc28_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result.loc28(%i32.loc28_24) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc28: -// CHECK:STDOUT: %int_32.loc28_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc28_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc28_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc28: type = ptr_type %i32.loc28_33 [concrete = constants.%ptr.235] // CHECK:STDOUT: br !if.expr.result.loc28(%ptr.loc28) // CHECK:STDOUT: @@ -408,8 +399,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: if %true br !if.expr.then.loc33 else br !if.expr.else.loc33 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc33: -// CHECK:STDOUT: %int_32.loc33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result.loc33(%i32.loc33) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc33: @@ -446,8 +436,7 @@ fn PartiallyConstant(t: type) -> i32 { // CHECK:STDOUT: br !if.expr.result.loc34(%t.ref.loc34) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc34: -// 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: %i32.loc34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc34 [concrete = constants.%ptr.235] // CHECK:STDOUT: br !if.expr.result.loc34(%ptr) // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/control_flow.carbon b/toolchain/check/testdata/if_expr/control_flow.carbon index 27a999fa4135..1d57db59712e 100644 --- a/toolchain/check/testdata/if_expr/control_flow.carbon +++ b/toolchain/check/testdata/if_expr/control_flow.carbon @@ -103,8 +103,7 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_11: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -113,8 +112,7 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_11: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -125,15 +123,10 @@ fn F(b: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18_18: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc18_9.1: type = splice_block %.loc18_9.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc18_9.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc18_9.3: type = converted %Bool.call, %.loc18_9.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc18_9: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon index 8225a27188cf..4900f835786a 100644 --- a/toolchain/check/testdata/if_expr/fail_partial_constant.carbon +++ b/toolchain/check/testdata/if_expr/fail_partial_constant.carbon @@ -84,11 +84,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc4_30.1: type = splice_block %.loc4_30.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc4_30.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc4_30.3: type = converted %Bool.call, %.loc4_30.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc4: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -109,13 +105,11 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: -// CHECK:STDOUT: %int_32.loc12_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc12_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result(%i32.loc12_27) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else: -// CHECK:STDOUT: %int_32.loc12_36: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12_36: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc12_36: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result(%i32.loc12_36) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: @@ -165,6 +159,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: %t.param_patt: %pattern_type.98f = value_param_pattern %t.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %t.param: type = value_param call_param0 +// CHECK:STDOUT: %.loc4: type = type_literal type [concrete = type] // CHECK:STDOUT: %t: type = value_binding t, %t.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -189,8 +184,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: br !if.expr.result.loc9(%t.ref.loc9) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc9: -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result.loc9(%i32.loc9) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result.loc9: @@ -213,8 +207,7 @@ fn ChosenBranchIsNonConstant(t: type) { // CHECK:STDOUT: if %false br !if.expr.then.loc14 else br !if.expr.else.loc14 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc14: -// 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: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result.loc14(%i32.loc14) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc14: diff --git a/toolchain/check/testdata/if_expr/nested.carbon b/toolchain/check/testdata/if_expr/nested.carbon index d527ff0d1f86..7b9e4d000839 100644 --- a/toolchain/check/testdata/if_expr/nested.carbon +++ b/toolchain/check/testdata/if_expr/nested.carbon @@ -107,29 +107,16 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param3 [concrete] // CHECK:STDOUT: } { -// 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: %.loc15_36: Core.Form = init_form %i32.loc15, call_param3 [concrete = constants.%.591] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc15_36: Core.Form = init_form %i32, call_param3 [concrete = constants.%.591] // CHECK:STDOUT: %a.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc15_9.1: type = splice_block %.loc15_9.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc15_9: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_9.2: type = value_of_initializer %Bool.call.loc15_9 [concrete = bool] -// CHECK:STDOUT: %.loc15_9.3: type = converted %Bool.call.loc15_9, %.loc15_9.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_9: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %a: bool = value_binding a, %a.param // CHECK:STDOUT: %b.param: bool = value_param call_param1 -// CHECK:STDOUT: %.loc15_18.1: type = splice_block %.loc15_18.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc15_18: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_18.2: type = value_of_initializer %Bool.call.loc15_18 [concrete = bool] -// CHECK:STDOUT: %.loc15_18.3: type = converted %Bool.call.loc15_18, %.loc15_18.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_18: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %c.param: bool = value_param call_param2 -// CHECK:STDOUT: %.loc15_27.1: type = splice_block %.loc15_27.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc15_27: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_27.2: type = value_of_initializer %Bool.call.loc15_27 [concrete = bool] -// CHECK:STDOUT: %.loc15_27.3: type = converted %Bool.call.loc15_27, %.loc15_27.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_27: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %c: bool = value_binding c, %c.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param3 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -147,8 +134,6 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc16_20: // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc16_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc16_25: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc16_25.1: = bound_method %int_1, %impl.elem0.loc16_25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] // CHECK:STDOUT: %specific_fn.loc16_25: = specific_function %impl.elem0.loc16_25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -179,8 +164,6 @@ fn F(a: bool, b: bool, c: bool) -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc16_44: // CHECK:STDOUT: %int_3: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %int_32.loc16_49: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_49: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc16_49: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc16_49.1: = bound_method %int_3, %impl.elem0.loc16_49 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.061] // CHECK:STDOUT: %specific_fn.loc16_49: = specific_function %impl.elem0.loc16_49, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/if_expr/struct.carbon b/toolchain/check/testdata/if_expr/struct.carbon index f500df0c7086..3c48ffa16cfd 100644 --- a/toolchain/check/testdata/if_expr/struct.carbon +++ b/toolchain/check/testdata/if_expr/struct.carbon @@ -95,10 +95,8 @@ fn F(cond: bool) { // CHECK:STDOUT: } { // CHECK:STDOUT: %s.param: %struct_type.a.b.501 = value_param call_param0 // CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc15_14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_14: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %s: %struct_type.a.b.501 = value_binding s, %s.param @@ -108,11 +106,7 @@ fn F(cond: bool) { // CHECK:STDOUT: %cond.param_patt: %pattern_type.831 = value_param_pattern %cond.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %cond.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc17_12.1: type = splice_block %.loc17_12.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc17_12.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc17_12.3: type = converted %Bool.call, %.loc17_12.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc17: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %cond: bool = value_binding cond, %cond.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -149,10 +143,8 @@ fn F(cond: bool) { // CHECK:STDOUT: %.loc18_3: init %struct_type.a.b.501 = converted %.loc18_46.1, %.loc18_46.8 [concrete = constants.%struct.ed5] // CHECK:STDOUT: assign %a.var, %.loc18_3 // CHECK:STDOUT: %.loc18_27: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc18_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc18_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_15: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %struct_type.a.b.501 = ref_binding a, %a.var diff --git a/toolchain/check/testdata/impl/assoc_const_self.carbon b/toolchain/check/testdata/impl/assoc_const_self.carbon index b01168820549..b34409f8cbd9 100644 --- a/toolchain/check/testdata/impl/assoc_const_self.carbon +++ b/toolchain/check/testdata/impl/assoc_const_self.carbon @@ -185,8 +185,7 @@ fn CallF() { // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.Self: %I.type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %.Self.ref: %I.type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] diff --git a/toolchain/check/testdata/impl/compound.carbon b/toolchain/check/testdata/impl/compound.carbon index 1b779c28cdc8..975a00eb01eb 100644 --- a/toolchain/check/testdata/impl/compound.carbon +++ b/toolchain/check/testdata/impl/compound.carbon @@ -148,7 +148,10 @@ fn InstanceCallFail() { // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.595 = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { // CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_29.1: type = splice_block %.loc3_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Dest.loc3_22.2: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_22.1 (constants.%Dest)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/declaration.carbon b/toolchain/check/testdata/impl/declaration.carbon index cf7a19cbfcd3..deebb4a68805 100644 --- a/toolchain/check/testdata/impl/declaration.carbon +++ b/toolchain/check/testdata/impl/declaration.carbon @@ -48,13 +48,11 @@ impl i32 as I {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc17: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// 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: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc19: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/empty.carbon b/toolchain/check/testdata/impl/empty.carbon index f067aee64ff9..c78fba762f89 100644 --- a/toolchain/check/testdata/impl/empty.carbon +++ b/toolchain/check/testdata/impl/empty.carbon @@ -48,8 +48,7 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Empty.decl: type = interface_decl @Empty [concrete = constants.%Empty.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.Empty.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/error_recovery.carbon b/toolchain/check/testdata/impl/error_recovery.carbon index 3cce021f9fc8..62f027fd3297 100644 --- a/toolchain/check/testdata/impl/error_recovery.carbon +++ b/toolchain/check/testdata/impl/error_recovery.carbon @@ -174,7 +174,10 @@ impl C as I { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc13_10.1: type = splice_block %.loc13_10.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc13_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -226,7 +229,10 @@ impl C as I { // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc13_10.1: type = splice_block %.loc13_10.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc13_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/extend_impl_generic.carbon b/toolchain/check/testdata/impl/extend_impl_generic.carbon index eb5e30e2729c..f3a5cd4ebe03 100644 --- a/toolchain/check/testdata/impl/extend_impl_generic.carbon +++ b/toolchain/check/testdata/impl/extend_impl_generic.carbon @@ -171,7 +171,10 @@ class X(U:! type) { // CHECK:STDOUT: %HasF.decl: %HasF.type.ee1 = interface_decl @HasF [concrete = constants.%HasF.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Param.decl: type = class_decl @Param [concrete = constants.%Param] {} {} @@ -241,8 +244,7 @@ class X(U:! type) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @Param { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9: %Param.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.x.ed6 [concrete = constants.%complete_type.1ec] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -309,10 +311,7 @@ class X(U:! type) { // CHECK:STDOUT: %.loc21_27.2: ref %Param = temporary %.loc21_27.1, %C.as.HasF.impl.F.call.loc21 // CHECK:STDOUT: %x.ref.loc21: %Param.elem = name_ref x, @Param.%.loc9 [concrete = @Param.%.loc9] // CHECK:STDOUT: %.loc21_28.1: ref %i32 = class_element_access %.loc21_27.2, element0 -// CHECK:STDOUT: %.loc21_17: type = splice_block %i32.loc21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21_28.2: %i32 = acquire_value %.loc21_28.1 // CHECK:STDOUT: %a: %i32 = value_binding a, %.loc21_28.2 // CHECK:STDOUT: name_binding_decl { @@ -336,10 +335,7 @@ class X(U:! type) { // CHECK:STDOUT: %bound_method.loc22_28.2: = bound_method %.loc22_28.2, %specific_fn // CHECK:STDOUT: %Int.as.Copy.impl.Op.call: init %i32 = call %bound_method.loc22_28.2(%.loc22_28.2) // CHECK:STDOUT: assign %b.var, %Int.as.Copy.impl.Op.call -// CHECK:STDOUT: %.loc22_17: type = splice_block %i32.loc22 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var // CHECK:STDOUT: %DestroyOp.bound.loc22_27: = bound_method %.loc22_27.2, constants.%DestroyOp.b0ebf8.1 // CHECK:STDOUT: %DestroyOp.call.loc22_27: init %empty_tuple.type = call %DestroyOp.bound.loc22_27(%.loc22_27.2) @@ -473,13 +469,19 @@ class X(U:! type) { // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: %X.type = class_decl @X [concrete = constants.%X.generic] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.1: type = splice_block %.loc8_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc8_9.2: type = symbolic_binding U, 0 [symbolic = %U.loc8_9.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_call_invalid.carbon b/toolchain/check/testdata/impl/fail_call_invalid.carbon index f38485e5abd3..b19cd0a66601 100644 --- a/toolchain/check/testdata/impl/fail_call_invalid.carbon +++ b/toolchain/check/testdata/impl/fail_call_invalid.carbon @@ -77,8 +77,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Simple.decl: type = interface_decl @Simple [concrete = constants.%Simple.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.Simple.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] // CHECK:STDOUT: } // CHECK:STDOUT: %InstanceCall.decl: %InstanceCall.type = fn_decl @InstanceCall [concrete = constants.%InstanceCall] { @@ -86,10 +85,7 @@ fn InstanceCall(n: i32) { // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc27: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon index c0f13746afcc..96ce16bafefb 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_forall.carbon @@ -59,7 +59,10 @@ class C { // CHECK:STDOUT: %GenericInterface.decl: %GenericInterface.type.21d = interface_decl @GenericInterface [concrete = constants.%GenericInterface.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_32.1: type = splice_block %.loc15_32.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_32.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_28.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -134,7 +137,10 @@ class C { // CHECK:STDOUT: %GenericInterface.ref: %GenericInterface.type.21d = name_ref GenericInterface, file.%GenericInterface.decl [concrete = constants.%GenericInterface.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc24_23.2 [symbolic = %T.loc24_23.1 (constants.%T)] // CHECK:STDOUT: %GenericInterface.type.loc24_54.2: type = facet_type <@GenericInterface, @GenericInterface(constants.%T)> [symbolic = %GenericInterface.type.loc24_54.1 (constants.%GenericInterface.type.8bc)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc24_27.1: type = splice_block %.loc24_27.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc24_27.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc24_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc24_23.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] diff --git a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon index f8228d42d1b8..62205fb6b29e 100644 --- a/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon +++ b/toolchain/check/testdata/impl/fail_extend_impl_type_as.carbon @@ -118,8 +118,7 @@ class E { // CHECK:STDOUT: // CHECK:STDOUT: class @C { // CHECK:STDOUT: impl_decl @.as.I.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] diff --git a/toolchain/check/testdata/impl/fail_extend_non_interface.carbon b/toolchain/check/testdata/impl/fail_extend_non_interface.carbon index 0e598c434f2c..375dd22f8bca 100644 --- a/toolchain/check/testdata/impl/fail_extend_non_interface.carbon +++ b/toolchain/check/testdata/impl/fail_extend_non_interface.carbon @@ -55,8 +55,7 @@ class C { // CHECK:STDOUT: class @C { // CHECK:STDOUT: impl_decl @C.as..impl [concrete] {} { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] // CHECK:STDOUT: complete_type_witness = %complete_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 06d96f8e9119..cbff7e95dcb8 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_assoc_fn.carbon @@ -514,23 +514,13 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc103_44: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc103_44.1: type = value_of_initializer %Bool.call.loc103_44 [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = converted %Bool.call.loc103_44, %.loc103_44.1 [concrete = bool] -// CHECK:STDOUT: %.loc103_44.3: Core.Form = init_form %.loc103_44.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: Core.Form = init_form %.loc103_44.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc103_26.1: type = splice_block %.loc103_26.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc103_26: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc103_26.2: type = value_of_initializer %Bool.call.loc103_26 [concrete = bool] -// CHECK:STDOUT: %.loc103_26.3: type = converted %Bool.call.loc103_26, %.loc103_26.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc103_26: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %self: bool = value_binding self, %self.param // CHECK:STDOUT: %b.param: bool = value_param call_param1 -// CHECK:STDOUT: %.loc103_35.1: type = splice_block %.loc103_35.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc103_35: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc103_35.2: type = value_of_initializer %Bool.call.loc103_35 [concrete = bool] -// CHECK:STDOUT: %.loc103_35.3: type = converted %Bool.call.loc103_35, %.loc103_35.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc103_35: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param @@ -571,8 +561,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.ref.loc211_24: %SelfNested.type = name_ref Self, @SelfNested.%Self.loc204 [symbolic = %Self (constants.%Self.aed)] // CHECK:STDOUT: %Self.as_type.loc211_24: type = facet_access_type %Self.ref.loc211_24 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.07b)] // CHECK:STDOUT: %.loc211_24: type = converted %Self.ref.loc211_24, %Self.as_type.loc211_24 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.07b)] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y.loc211_37.2: type = struct_type {.x: @SelfNested.WithSelf.F.%Self.binding.as_type (%Self.binding.as_type.07b), .y: %i32} [symbolic = %struct_type.x.y.loc211_37.1 (constants.%struct_type.x.y.e05)] // CHECK:STDOUT: %.loc211_38.2: %tuple.type.24b = tuple_literal (%ptr.loc211_16.2, %struct_type.x.y.loc211_37.2) [symbolic = %tuple (constants.%tuple.179)] // CHECK:STDOUT: %.loc211_38.3: type = converted %.loc211_38.2, constants.%tuple.type.9cf [symbolic = %tuple.type (constants.%tuple.type.9cf)] @@ -628,11 +617,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc69_13.1: type = splice_block %.loc69_13.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc69_13.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc69_13.3: type = converted %Bool.call, %.loc69_13.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc69: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: } // CHECK:STDOUT: %FExtraParam.as.I.impl.F.decl.loc69_18.2: %FExtraParam.as.I.impl.F.type.531438.2 = fn_decl @FExtraParam.as.I.impl.F.loc69_18.2 [concrete = constants.%FExtraParam.as.I.impl.F.33e1fe.2] {} {} @@ -667,10 +652,8 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc99_15.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc99_15.2: type = converted %Bool.call, %.loc99_15.1 [concrete = bool] -// CHECK:STDOUT: %.loc99_15.3: Core.Form = init_form %.loc99_15.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc99_15.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc99_15.2: Core.Form = init_form %.loc99_15.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -689,22 +672,16 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc117_27: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc117_27.1: type = value_of_initializer %Bool.call.loc117_27 [concrete = bool] -// CHECK:STDOUT: %.loc117_27.2: type = converted %Bool.call.loc117_27, %.loc117_27.1 [concrete = bool] -// CHECK:STDOUT: %.loc117_27.3: Core.Form = init_form %.loc117_27.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc117_27.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc117_27.2: Core.Form = init_form %.loc117_27.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %self.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc117_16.1: type = splice_block %.loc117_16.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc117_16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc117_16.2: type = value_of_initializer %Bool.call.loc117_16 [concrete = bool] -// CHECK:STDOUT: %.loc117_16.3: type = converted %Bool.call.loc117_16, %.loc117_16.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc117_16: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %self: bool = value_binding self, %self.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.567) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.3, @J.WithSelf.F(constants.%J.facet.567) [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.567) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.567) [concrete = constants.%.d29] // CHECK:STDOUT: %FMissingParam.as.J.impl.F.decl.loc117_31.2: %FMissingParam.as.J.impl.F.type.0f71d8.2 = fn_decl @FMissingParam.as.J.impl.F.loc117_31.2 [concrete = constants.%FMissingParam.as.J.impl.F.7540f6.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] @@ -735,22 +712,16 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc130_22: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc130_22.1: type = value_of_initializer %Bool.call.loc130_22 [concrete = bool] -// CHECK:STDOUT: %.loc130_22.2: type = converted %Bool.call.loc130_22, %.loc130_22.1 [concrete = bool] -// CHECK:STDOUT: %.loc130_22.3: Core.Form = init_form %.loc130_22.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc130_22.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc130_22.2: Core.Form = init_form %.loc130_22.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc130_13.1: type = splice_block %.loc130_13.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc130_13: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc130_13.2: type = value_of_initializer %Bool.call.loc130_13 [concrete = bool] -// CHECK:STDOUT: %.loc130_13.3: type = converted %Bool.call.loc130_13, %.loc130_13.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc130_13: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.266) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.3, @J.WithSelf.F(constants.%J.facet.266) [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.266) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.266) [concrete = constants.%.d29] // CHECK:STDOUT: %FMissingImplicitParam.as.J.impl.F.decl.loc130_26.2: %FMissingImplicitParam.as.J.impl.F.type.80a56b.2 = fn_decl @FMissingImplicitParam.as.J.impl.F.loc130_26.2 [concrete = constants.%FMissingImplicitParam.as.J.impl.F.c6a0b7.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] @@ -782,22 +753,14 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %b.param_patt: %pattern_type.831 = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %self.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc152_16.1: type = splice_block %.loc152_16.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc152_16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc152_16.2: type = value_of_initializer %Bool.call.loc152_16 [concrete = bool] -// CHECK:STDOUT: %.loc152_16.3: type = converted %Bool.call.loc152_16, %.loc152_16.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc152_16: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %self: bool = value_binding self, %self.param // CHECK:STDOUT: %b.param: bool = value_param call_param1 -// CHECK:STDOUT: %.loc152_25.1: type = splice_block %.loc152_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc152_25: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc152_25.2: type = value_of_initializer %Bool.call.loc152_25 [concrete = bool] -// CHECK:STDOUT: %.loc152_25.3: type = converted %Bool.call.loc152_25, %.loc152_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc152_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.a9e) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.3, @J.WithSelf.F(constants.%J.facet.a9e) [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.a9e) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.a9e) [concrete = constants.%.d29] // CHECK:STDOUT: %FMissingReturnType.as.J.impl.F.decl.loc152_30.2: %FMissingReturnType.as.J.impl.F.type.ce0d21.2 = fn_decl @FMissingReturnType.as.J.impl.F.loc152_30.2 [concrete = constants.%FMissingReturnType.as.J.impl.F.5b613a.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] @@ -830,16 +793,10 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc171_34: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc171_34.1: type = value_of_initializer %Bool.call.loc171_34 [concrete = bool] -// CHECK:STDOUT: %.loc171_34.2: type = converted %Bool.call.loc171_34, %.loc171_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc171_34.3: Core.Form = init_form %.loc171_34.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc171_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc171_34.2: Core.Form = init_form %.loc171_34.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc171_16.1: type = splice_block %.loc171_16.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc171_16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc171_16.2: type = value_of_initializer %Bool.call.loc171_16 [concrete = bool] -// CHECK:STDOUT: %.loc171_16.3: type = converted %Bool.call.loc171_16, %.loc171_16.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc171_16: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %self: bool = value_binding self, %self.param // CHECK:STDOUT: %b.param: %FDifferentParamType = value_param call_param1 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentParamType [concrete = constants.%FDifferentParamType] @@ -847,8 +804,8 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.bd2) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.3, @J.WithSelf.F(constants.%J.facet.bd2) [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.bd2) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.bd2) [concrete = constants.%.d29] // CHECK:STDOUT: %FDifferentParamType.as.J.impl.F.decl.loc171_38.2: %FDifferentParamType.as.J.impl.F.type.10926d.2 = fn_decl @FDifferentParamType.as.J.impl.F.loc171_38.2 [concrete = constants.%FDifferentParamType.as.J.impl.F.f1245a.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] @@ -881,25 +838,19 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc184_34: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc184_34.1: type = value_of_initializer %Bool.call.loc184_34 [concrete = bool] -// CHECK:STDOUT: %.loc184_34.2: type = converted %Bool.call.loc184_34, %.loc184_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc184_34.3: Core.Form = init_form %.loc184_34.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc184_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc184_34.2: Core.Form = init_form %.loc184_34.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %FDifferentImplicitParamType = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentImplicitParamType [concrete = constants.%FDifferentImplicitParamType] // CHECK:STDOUT: %self: %FDifferentImplicitParamType = value_binding self, %self.param // CHECK:STDOUT: %b.param: bool = value_param call_param1 -// CHECK:STDOUT: %.loc184_25.1: type = splice_block %.loc184_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc184_25: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc184_25.2: type = value_of_initializer %Bool.call.loc184_25 [concrete = bool] -// CHECK:STDOUT: %.loc184_25.3: type = converted %Bool.call.loc184_25, %.loc184_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc184_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.030) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.3, @J.WithSelf.F(constants.%J.facet.030) [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.030) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.030) [concrete = constants.%.d29] // CHECK:STDOUT: %FDifferentImplicitParamType.as.J.impl.F.decl.loc184_38.2: %FDifferentImplicitParamType.as.J.impl.F.type.955391.2 = fn_decl @FDifferentImplicitParamType.as.J.impl.F.loc184_38.2 [concrete = constants.%FDifferentImplicitParamType.as.J.impl.F.a9ece4.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] @@ -935,24 +886,16 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%FDifferentReturnType [concrete = constants.%FDifferentReturnType] // CHECK:STDOUT: %.loc200_34: Core.Form = init_form %Self.ref, call_param2 [concrete = constants.%.756] // CHECK:STDOUT: %self.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc200_16.1: type = splice_block %.loc200_16.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc200_16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc200_16.2: type = value_of_initializer %Bool.call.loc200_16 [concrete = bool] -// CHECK:STDOUT: %.loc200_16.3: type = converted %Bool.call.loc200_16, %.loc200_16.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc200_16: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %self: bool = value_binding self, %self.param // CHECK:STDOUT: %b.param: bool = value_param call_param1 -// CHECK:STDOUT: %.loc200_25.1: type = splice_block %.loc200_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc200_25: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc200_25.2: type = value_of_initializer %Bool.call.loc200_25 [concrete = bool] -// CHECK:STDOUT: %.loc200_25.3: type = converted %Bool.call.loc200_25, %.loc200_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc200_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %FDifferentReturnType = out_param call_param2 // CHECK:STDOUT: %return: ref %FDifferentReturnType = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.4a1) [concrete = bool] -// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.3, @J.WithSelf.F(constants.%J.facet.4a1) [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc103_44.1: type = specific_constant @J.WithSelf.F.%.loc103_44.1, @J.WithSelf.F(constants.%J.facet.4a1) [concrete = bool] +// CHECK:STDOUT: %.loc103_44.2: type = specific_constant @J.WithSelf.F.%.loc103_44.2, @J.WithSelf.F(constants.%J.facet.4a1) [concrete = constants.%.d29] // CHECK:STDOUT: %FDifferentReturnType.as.J.impl.F.decl.loc200_38.2: %FDifferentReturnType.as.J.impl.F.type.7bcb67.2 = fn_decl @FDifferentReturnType.as.J.impl.F.loc200_38.2 [concrete = constants.%FDifferentReturnType.as.J.impl.F.a709b1.2] { // CHECK:STDOUT: %self.patt: %pattern_type.831 = value_binding_pattern self [concrete] // CHECK:STDOUT: %self.param_patt: %pattern_type.831 = value_param_pattern %self.patt, call_param0 [concrete] @@ -991,10 +934,8 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %.loc223_53.1: type = splice_block %.loc223_53.3 [concrete = constants.%tuple.type.70f] { // CHECK:STDOUT: %SelfNestedBadParam.ref.loc223_14: type = name_ref SelfNestedBadParam, file.%SelfNestedBadParam.decl [concrete = constants.%SelfNestedBadParam] // CHECK:STDOUT: %ptr: type = ptr_type %SelfNestedBadParam.ref.loc223_14 [concrete = constants.%ptr.cf2] -// CHECK:STDOUT: %int_32.loc223_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc223_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc223_49: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc223_49: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc223_40: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc223_49: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %i32, .y: %i32} [concrete = constants.%struct_type.x.y.871] // CHECK:STDOUT: %.loc223_53.2: %tuple.type.24b = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.bb3] // CHECK:STDOUT: %.loc223_53.3: type = converted %.loc223_53.2, constants.%tuple.type.70f [concrete = constants.%tuple.type.70f] @@ -1041,8 +982,7 @@ class SelfNestedBadReturnType { // CHECK:STDOUT: %SelfNestedBadReturnType.ref.loc239_14: type = name_ref SelfNestedBadReturnType, file.%SelfNestedBadReturnType.decl [concrete = constants.%SelfNestedBadReturnType] // CHECK:STDOUT: %ptr: type = ptr_type %SelfNestedBadReturnType.ref.loc239_14 [concrete = constants.%ptr.cbe] // CHECK:STDOUT: %SelfNestedBadReturnType.ref.loc239_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] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y: type = struct_type {.x: %SelfNestedBadReturnType, .y: %i32} [concrete = constants.%struct_type.x.y.cfa] // CHECK:STDOUT: %.loc239_78.2: %tuple.type.24b = tuple_literal (%ptr, %struct_type.x.y) [concrete = constants.%tuple.c42] // CHECK:STDOUT: %.loc239_78.3: type = converted %.loc239_78.2, constants.%tuple.type.064 [concrete = constants.%tuple.type.064] diff --git a/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon b/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon index 31f4bf309bac..29a5a3585a57 100644 --- a/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon +++ b/toolchain/check/testdata/impl/fail_impl_bad_interface.carbon @@ -87,8 +87,7 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %.loc11: type = converted @i32.as..impl.%false, [concrete = ] // CHECK:STDOUT: impl_decl @i32.as..impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %false: bool = bool_literal false [concrete = constants.%false] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -120,13 +119,12 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: impl_decl @bool.as..impl [concrete] {} { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_6.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc8_6.2: type = converted %Bool.call, %.loc8_6.1 [concrete = bool] +// CHECK:STDOUT: %.loc8_6: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc8_14: type = type_literal type [concrete = type] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @bool.as..impl: %.loc8_6.2 as type { +// CHECK:STDOUT: impl @bool.as..impl: %.loc8_6 as %.loc8_14 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -157,18 +155,19 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: impl_decl @f64.as..impl [concrete] {} { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64 [concrete = constants.%f64] +// CHECK:STDOUT: %.loc8_13: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.loc8: type = where_expr %.Self [concrete = constants.%type] { +// CHECK:STDOUT: %.loc8_36: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc8_18: type = where_expr %.Self [concrete = constants.%type] { // CHECK:STDOUT: requirement_base_facet_type type -// CHECK:STDOUT: requirement_impls %.Self.ref, type +// CHECK:STDOUT: requirement_impls %.Self.ref, %.loc8_36 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @f64.as..impl: %f64 as %.loc8 { +// CHECK:STDOUT: impl @f64.as..impl: %f64 as %.loc8_18 { // CHECK:STDOUT: !members: // CHECK:STDOUT: witness = // CHECK:STDOUT: } @@ -202,10 +201,9 @@ impl {.a: bool} as type where .Self impls I {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @struct_type.a.as..impl [concrete] {} { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_11.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc10_11.2: type = converted %Bool.call, %.loc10_11.1 [concrete = bool] +// CHECK:STDOUT: %.loc10_11: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: bool} [concrete = constants.%struct_type.a] +// CHECK:STDOUT: %.loc10_20: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] diff --git a/toolchain/check/testdata/impl/fail_redefinition.carbon b/toolchain/check/testdata/impl/fail_redefinition.carbon index 3106824da6c0..78c627d7fe6f 100644 --- a/toolchain/check/testdata/impl/fail_redefinition.carbon +++ b/toolchain/check/testdata/impl/fail_redefinition.carbon @@ -55,13 +55,11 @@ impl i32 as I {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.I.impl.a9e516.1 [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @i32.as.I.impl.a9e516.2 [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon index aba37ce5fb74..d370cfe5a3d0 100644 --- a/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon +++ b/toolchain/check/testdata/impl/fail_self_type_mismatch.carbon @@ -121,24 +121,24 @@ impl i32 as I { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %X.patt: @C.%pattern_type (%pattern_type.51d1c4.1) = symbolic_binding_pattern X, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc15_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_9.1 (constants.%T)] -// CHECK:STDOUT: %.loc15: type = splice_block %T.ref [symbolic = %T.loc15_9.1 (constants.%T)] { +// CHECK:STDOUT: %.loc15_13.1: type = splice_block %.loc15_13.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc15_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_9.1 (constants.%T)] +// CHECK:STDOUT: %.loc15_23: type = splice_block %T.ref [symbolic = %T.loc15_9.1 (constants.%T)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_9.2 [symbolic = %T.loc15_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.loc15_19.2: @C.%T.loc15_9.1 (%T) = symbolic_binding X, 1 [symbolic = %X.loc15_19.1 (constants.%X)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @bool.as.I.impl [concrete] {} { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc28_6.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc28_6.2: type = converted %Bool.call, %.loc28_6.1 [concrete = bool] +// CHECK:STDOUT: %.loc28: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -172,7 +172,7 @@ impl i32 as I { // CHECK:STDOUT: !requires: // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: impl @bool.as.I.impl: %.loc28_6.2 as %I.ref { +// CHECK:STDOUT: impl @bool.as.I.impl: %.loc28 as %I.ref { // CHECK:STDOUT: %bool.as.I.impl.F.decl: %bool.as.I.impl.F.type = fn_decl @bool.as.I.impl.F [concrete = constants.%bool.as.I.impl.F] { // CHECK:STDOUT: %c.patt: %pattern_type.212 = value_binding_pattern c [concrete] // CHECK:STDOUT: %c.param_patt: %pattern_type.212 = value_param_pattern %c.patt, call_param0 [concrete] @@ -180,10 +180,10 @@ impl i32 as I { // CHECK:STDOUT: %c.param: %C.60c = value_param call_param0 // CHECK:STDOUT: %.loc32_22: type = splice_block %C [concrete = constants.%C.60c] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] +// CHECK:STDOUT: %.loc32_13: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %I.facet: %I.type = facet_value %Bool.call, (constants.%I.impl_witness.f69) [concrete = constants.%I.facet.e45] -// CHECK:STDOUT: %.loc32_18: %I.type = converted %Bool.call, %I.facet [concrete = constants.%I.facet.e45] +// CHECK:STDOUT: %I.facet: %I.type = facet_value %.loc32_13, (constants.%I.impl_witness.f69) [concrete = constants.%I.facet.e45] +// CHECK:STDOUT: %.loc32_18: %I.type = converted %.loc32_13, %I.facet [concrete = constants.%I.facet.e45] // CHECK:STDOUT: %C: type = class_type @C, @C(constants.%I.type, constants.%I.facet.e45) [concrete = constants.%C.60c] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %C.60c = value_binding c, %c.param @@ -206,8 +206,7 @@ impl i32 as I { // CHECK:STDOUT: %c.param: %C.899 = value_param call_param0 // CHECK:STDOUT: %.loc43: type = splice_block %C [concrete = constants.%C.899] { // CHECK:STDOUT: %C.ref: %C.type = name_ref C, file.%C.decl [concrete = constants.%C.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %C: type = class_type @C, @C(type, constants.%i32) [concrete = constants.%C.899] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %C.899 = value_binding c, %c.param diff --git a/toolchain/check/testdata/impl/forward_decls.carbon b/toolchain/check/testdata/impl/forward_decls.carbon index 7612f5739b7b..3981dff6a2c6 100644 --- a/toolchain/check/testdata/impl/forward_decls.carbon +++ b/toolchain/check/testdata/impl/forward_decls.carbon @@ -1178,7 +1178,10 @@ interface I { // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %U.patt: %pattern_type = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc3_13.2: type = symbolic_binding U, 0 [symbolic = %U.loc3_13.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl.loc6: type = class_decl @C [concrete = constants.%C] {} {} diff --git a/toolchain/check/testdata/impl/generic_redeclaration.carbon b/toolchain/check/testdata/impl/generic_redeclaration.carbon index 0f31db9804ec..44100541ffbc 100644 --- a/toolchain/check/testdata/impl/generic_redeclaration.carbon +++ b/toolchain/check/testdata/impl/generic_redeclaration.carbon @@ -728,7 +728,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_14.2 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @T.as.I.impl.f7b5a3.2 [concrete] { @@ -736,7 +739,10 @@ impl forall [T:! type] T as I { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_14.2 [symbolic = %T.loc15_14.1 (constants.%T)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_18.1: type = splice_block %.loc15_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/impl_forall.carbon b/toolchain/check/testdata/impl/impl_forall.carbon index b01227dfaca6..a3fe1bca5e60 100644 --- a/toolchain/check/testdata/impl/impl_forall.carbon +++ b/toolchain/check/testdata/impl/impl_forall.carbon @@ -51,7 +51,10 @@ impl forall [T:! type] T as Simple { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc19_14.2 [symbolic = %T.loc19_14.1 (constants.%T)] // CHECK:STDOUT: %Simple.ref: type = name_ref Simple, file.%Simple.decl [concrete = constants.%Simple.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc19_18.1: type = splice_block %.loc19_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc19_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc19_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_builtin_call.carbon b/toolchain/check/testdata/impl/import_builtin_call.carbon index 6c28f5a422d9..ad696403b8f8 100644 --- a/toolchain/check/testdata/impl/import_builtin_call.carbon +++ b/toolchain/check/testdata/impl/import_builtin_call.carbon @@ -138,7 +138,8 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc8: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc8_20.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc8_20.2: Core.Form = init_form %.loc8_20.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -148,7 +149,8 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc9_28: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc9_28.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc9_28.2: Core.Form = init_form %.loc9_28.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %n.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc9_22.1: type = splice_block %.loc9_22.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] @@ -839,7 +841,8 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc4_20.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc4_20.2: Core.Form = init_form %.loc4_20.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -849,7 +852,8 @@ var n: Int(64) = MakeFromClass(FromLiteral(64) as OtherInt); // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc5_28: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc5_28.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc5_28.2: Core.Form = init_form %.loc5_28.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %n.param: Core.IntLiteral = value_param call_param0 // CHECK:STDOUT: %.loc5_22.1: type = splice_block %.loc5_22.3 [concrete = Core.IntLiteral] { // CHECK:STDOUT: %IntLiteral.ref: %IntLiteral.type = name_ref IntLiteral, file.%IntLiteral.decl [concrete = constants.%IntLiteral] diff --git a/toolchain/check/testdata/impl/import_generic.carbon b/toolchain/check/testdata/impl/import_generic.carbon index 6d53b2a71347..b26bda388d55 100644 --- a/toolchain/check/testdata/impl/import_generic.carbon +++ b/toolchain/check/testdata/impl/import_generic.carbon @@ -211,13 +211,19 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %J.decl: %J.type.885 = interface_decl @J [concrete = constants.%J.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -555,13 +561,19 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %J.decl: %J.type.d08 = constraint_decl @J [concrete = constants.%empty_struct] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -885,7 +897,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.431 [concrete] { @@ -895,7 +910,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.ref.loc8: %I.type.609 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref.loc8: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.1ab)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.431 [concrete] { @@ -905,7 +923,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.ref.loc9: %I.type.609 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref.loc9: type = name_ref T, %T.loc9 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc9: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.1ab)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.815 [concrete] { @@ -916,13 +937,19 @@ impl forall [T:! type] D as N(T*) {} // 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.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.e19)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_18.1: type = splice_block %.loc12_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc12_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.decl: %N.type.b47 = constraint_decl @N [concrete = constants.%empty_struct] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_18.1: type = splice_block %.loc14_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc14_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1166,7 +1193,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.ref: %I.type.609 = name_ref I, imports.%Main.I [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc8_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc8_32.2 (constants.%I.type.1ab)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.431d5e.3 [concrete] { @@ -1176,7 +1206,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.ref: %I.type.609 = name_ref I, imports.%Main.I [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_14.1 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc14_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc14_32.2 (constants.%I.type.1ab)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_18.1: type = splice_block %.loc14_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.8159c7.2 [concrete] { @@ -1187,7 +1220,10 @@ impl forall [T:! type] D as N(T*) {} // 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.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.e19)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_18.1: type = splice_block %.loc20_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.8159c7.3 [concrete] { @@ -1198,7 +1234,10 @@ impl forall [T:! type] D as N(T*) {} // 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.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.e19)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc26_18.1: type = splice_block %.loc26_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc26_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc26_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.c9332a.1 [concrete] { @@ -1208,7 +1247,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %N.ref: %N.type.b47 = name_ref N, imports.%Main.N [concrete = constants.%empty_struct] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc32_14.1 [symbolic = %T.loc32_14.2 (constants.%T)] // CHECK:STDOUT: %N.type.loc32_32.1: type = facet_type <@N, @N(constants.%T)> [symbolic = %N.type.loc32_32.2 (constants.%N.type.d682d6.1)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc32_18.1: type = splice_block %.loc32_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc32_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc32_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc32_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.c9332a.2 [concrete] { @@ -1219,7 +1261,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc37_14.1 [symbolic = %T.loc37_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc37_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc37_32.2 (constants.%ptr)] // CHECK:STDOUT: %N.type.loc37_33.1: type = facet_type <@N, @N(constants.%ptr)> [symbolic = %N.type.loc37_33.2 (constants.%N.type.d682d6.2)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc37_18.1: type = splice_block %.loc37_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc37_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc37_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc37_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1526,7 +1571,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl [concrete] { @@ -1536,13 +1584,19 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %I.ref: %I.type.609 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc7_14.1 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: %I.type.loc7_32.1: type = facet_type <@I, @I(constants.%T)> [symbolic = %I.type.loc7_32.2 (constants.%I.type.1ab)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc7_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.decl: %N.type.b47 = constraint_decl @N [concrete = constants.%empty_struct] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1748,7 +1802,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc5_14.1 [symbolic = %T.loc5_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc5_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc5_32.2 (constants.%ptr.e8f)] // CHECK:STDOUT: %I.type.loc5_33.1: type = facet_type <@I, @I(constants.%ptr.e8f)> [symbolic = %I.type.loc5_33.2 (constants.%I.type.e19)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.I.impl.c93 [concrete] { @@ -1760,7 +1817,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %ptr.loc6_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc6_32.2 (constants.%ptr.e8f)] // CHECK:STDOUT: %ptr.loc6_33.1: type = ptr_type %ptr.loc6_32.1 [symbolic = %ptr.loc6_33.2 (constants.%ptr.125)] // CHECK:STDOUT: %N.type.loc6_34.1: type = facet_type <@N, @N(constants.%ptr.125)> [symbolic = %N.type.loc6_34.2 (constants.%N.type.d682d6.2)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_18.1: type = splice_block %.loc6_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -2002,13 +2062,19 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %J.decl: %J.type.885 = interface_decl @J [concrete = constants.%J.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.decl: %N.type.b47 = constraint_decl @N [concrete = constants.%empty_struct] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.1: type = splice_block %.loc7_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc7_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc7_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.b25 [concrete] { @@ -2018,7 +2084,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %J.ref: %J.type.885 = name_ref J, file.%J.decl [concrete = constants.%J.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc15_14.1 [symbolic = %T.loc15_14.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc15_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc15_32.2 (constants.%J.type.04e)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_18.1: type = splice_block %.loc15_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc15_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.f05 [concrete] { @@ -2029,7 +2098,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc21_14.1 [symbolic = %T.loc21_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc21_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc21_32.2 (constants.%ptr)] // CHECK:STDOUT: %J.type.loc21_33.1: type = facet_type <@J, @J(constants.%ptr)> [symbolic = %J.type.loc21_33.2 (constants.%J.type.80f)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc21_18.1: type = splice_block %.loc21_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc21_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc21_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -2236,7 +2308,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %J.ref: %J.type.885 = name_ref J, imports.%Main.J [concrete = constants.%J.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.1 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc8_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc8_32.2 (constants.%J.type.04e)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.b25a4e.3 [concrete] { @@ -2246,7 +2321,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %J.ref: %J.type.885 = name_ref J, imports.%Main.J [concrete = constants.%J.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc14_14.1 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: %J.type.loc14_32.1: type = facet_type <@J, @J(constants.%T)> [symbolic = %J.type.loc14_32.2 (constants.%J.type.04e)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_18.1: type = splice_block %.loc14_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc14_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc14_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.f050b9.2 [concrete] { @@ -2257,7 +2335,10 @@ impl forall [T:! type] D as N(T*) {} // 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.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.80f)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_18.1: type = splice_block %.loc20_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc20_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.f050b9.3 [concrete] { @@ -2268,7 +2349,10 @@ impl forall [T:! type] D as N(T*) {} // 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.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.80f)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc26_18.1: type = splice_block %.loc26_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc26_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc26_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc26_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.e28c26.1 [concrete] { @@ -2278,7 +2362,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %N.ref: %N.type.b47 = name_ref N, imports.%Main.N [concrete = constants.%empty_struct] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc32_14.1 [symbolic = %T.loc32_14.2 (constants.%T)] // CHECK:STDOUT: %N.type.loc32_32.1: type = facet_type <@N, @N(constants.%T)> [symbolic = %N.type.loc32_32.2 (constants.%N.type.d682d6.1)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc32_18.1: type = splice_block %.loc32_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc32_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc32_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc32_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @D.as.J.impl.e28c26.2 [concrete] { @@ -2289,7 +2376,10 @@ impl forall [T:! type] D as N(T*) {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc38_14.1 [symbolic = %T.loc38_14.2 (constants.%T)] // CHECK:STDOUT: %ptr.loc38_32.1: type = ptr_type %T.ref [symbolic = %ptr.loc38_32.2 (constants.%ptr)] // CHECK:STDOUT: %N.type.loc38_33.1: type = facet_type <@N, @N(constants.%ptr)> [symbolic = %N.type.loc38_33.2 (constants.%N.type.d682d6.2)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc38_18.1: type = splice_block %.loc38_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc38_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc38_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc38_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/import_self_specific.carbon b/toolchain/check/testdata/impl/import_self_specific.carbon index 03bf2a060509..a9130a2174f3 100644 --- a/toolchain/check/testdata/impl/import_self_specific.carbon +++ b/toolchain/check/testdata/impl/import_self_specific.carbon @@ -117,7 +117,10 @@ impl forall [N:! E] D(N) as I where .Assoc = () { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc5_14.1 [symbolic = %T.loc5_14.2 (constants.%T)] // CHECK:STDOUT: %Y.ref: type = name_ref Y, file.%Y.decl [concrete = constants.%Y.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_18.1: type = splice_block %.loc5_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc5_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Z.decl: type = interface_decl @Z [concrete = constants.%Z.type] {} {} @@ -126,7 +129,10 @@ impl forall [N:! E] D(N) as I where .Assoc = () { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc9_14.1 [symbolic = %U.loc9_14.2 (constants.%U)] // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc9_14.1: type = symbolic_binding U, 0 [symbolic = %U.loc9_14.2 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { diff --git a/toolchain/check/testdata/impl/import_use_generic.carbon b/toolchain/check/testdata/impl/import_use_generic.carbon index 9b07f6e0d855..0cbd6550772e 100644 --- a/toolchain/check/testdata/impl/import_use_generic.carbon +++ b/toolchain/check/testdata/impl/import_use_generic.carbon @@ -87,7 +87,10 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.1: type = splice_block %.loc4_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} @@ -98,7 +101,10 @@ fn H() -> C({}).(I.F)() {} // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc10_14.2 [symbolic = %T.loc10_14.1 (constants.%T)] // CHECK:STDOUT: %C.loc10_27.2: type = class_type @C, @C(constants.%T) [symbolic = %C.loc10_27.1 (constants.%C)] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_18.1: type = splice_block %.loc10_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/interface_args.carbon b/toolchain/check/testdata/impl/interface_args.carbon index 31a968b75a12..15f32b745c54 100644 --- a/toolchain/check/testdata/impl/interface_args.carbon +++ b/toolchain/check/testdata/impl/interface_args.carbon @@ -135,7 +135,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.595 = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { // CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_29.1: type = splice_block %.loc3_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Dest.loc3_22.2: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_22.1 (constants.%Dest)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -273,7 +276,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Action.decl: %Action.type.85c = interface_decl @Action [concrete = constants.%Action.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_18.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} @@ -911,7 +917,10 @@ fn InstanceC(a: A) -> C { // CHECK:STDOUT: %Factory.decl: %Factory.type.2e5 = interface_decl @Factory [concrete = constants.%Factory.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.1: type = splice_block %.loc4_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} diff --git a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon index b8a88a4ff8f7..7a1bd2470044 100644 --- a/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon +++ b/toolchain/check/testdata/impl/lookup/canonical_query_self.carbon @@ -334,16 +334,19 @@ fn G() { // CHECK:STDOUT: %T.as_type.loc26: type = facet_access_type %T.ref.loc26 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %I.facet.loc26_18.1: %I.type = facet_value %T.as_type.loc26, (constants.%I.lookup_impl_witness) [symbolic = %I.facet.loc26_18.2 (constants.%I.facet.990)] // CHECK:STDOUT: %.loc26_18: %I.type = converted %T.ref.loc26, %I.facet.loc26_18.1 [symbolic = %I.facet.loc26_18.2 (constants.%I.facet.990)] +// CHECK:STDOUT: %.loc26_27: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc26_24: type = facet_access_type %.loc26_18 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %.loc26_24: type = converted %.loc26_18, %as_type.loc26_24 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %J.ref.loc26_36: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %J.facet.loc26_33.1: %J.type = facet_value %.loc26_24, (constants.%J.lookup_impl_witness) [symbolic = %J.facet.loc26_33.2 (constants.%J.facet.a3a)] // CHECK:STDOUT: %.loc26_33: %J.type = converted %.loc26_24, %J.facet.loc26_33.1 [symbolic = %J.facet.loc26_33.2 (constants.%J.facet.a3a)] +// CHECK:STDOUT: %.loc26_42: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc26_39: type = facet_access_type %.loc26_33 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %.loc26_39: type = converted %.loc26_33, %as_type.loc26_39 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %I.ref.loc26_51: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %I.facet.loc26_48: %I.type = facet_value %.loc26_39, (constants.%I.lookup_impl_witness) [symbolic = %I.facet.loc26_18.2 (constants.%I.facet.990)] // CHECK:STDOUT: %.loc26_48: %I.type = converted %.loc26_39, %I.facet.loc26_48 [symbolic = %I.facet.loc26_18.2 (constants.%I.facet.990)] +// CHECK:STDOUT: %.loc26_57: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc26_54: type = facet_access_type %.loc26_48 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %.loc26_54: type = converted %.loc26_48, %as_type.loc26_54 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %J.ref.loc26_66: type = name_ref J, file.%J.decl [concrete = constants.%J.type] @@ -374,16 +377,19 @@ fn G() { // CHECK:STDOUT: %I.ref.loc40_29: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %I.facet.loc40_26: %I.type = facet_value %C.ref.loc40_24, (constants.%I.impl_witness) [concrete = constants.%I.facet.cbf] // CHECK:STDOUT: %.loc40_26: %I.type = converted %C.ref.loc40_24, %I.facet.loc40_26 [concrete = constants.%I.facet.cbf] +// CHECK:STDOUT: %.loc40_35: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc40_32: type = facet_access_type %.loc40_26 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_32: type = converted %.loc40_26, %as_type.loc40_32 [concrete = constants.%C] // CHECK:STDOUT: %J.ref.loc40_44: type = name_ref J, file.%J.decl [concrete = constants.%J.type] // CHECK:STDOUT: %J.facet.loc40_41: %J.type = facet_value %.loc40_32, (constants.%J.impl_witness) [concrete = constants.%J.facet.fc3] // CHECK:STDOUT: %.loc40_41: %J.type = converted %.loc40_32, %J.facet.loc40_41 [concrete = constants.%J.facet.fc3] +// CHECK:STDOUT: %.loc40_50: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc40_47: type = facet_access_type %.loc40_41 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_47: type = converted %.loc40_41, %as_type.loc40_47 [concrete = constants.%C] // CHECK:STDOUT: %I.ref.loc40_59: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %I.facet.loc40_56: %I.type = facet_value %.loc40_47, (constants.%I.impl_witness) [concrete = constants.%I.facet.cbf] // CHECK:STDOUT: %.loc40_56: %I.type = converted %.loc40_47, %I.facet.loc40_56 [concrete = constants.%I.facet.cbf] +// CHECK:STDOUT: %.loc40_65: type = type_literal type [concrete = type] // CHECK:STDOUT: %as_type.loc40_62: type = facet_access_type %.loc40_56 [concrete = constants.%C] // CHECK:STDOUT: %.loc40_62: type = converted %.loc40_56, %as_type.loc40_62 [concrete = constants.%C] // CHECK:STDOUT: %J.ref.loc40_74: type = name_ref J, file.%J.decl [concrete = constants.%J.type] diff --git a/toolchain/check/testdata/impl/lookup/generic.carbon b/toolchain/check/testdata/impl/lookup/generic.carbon index 57f510a9da2f..0b6536697bb1 100644 --- a/toolchain/check/testdata/impl/lookup/generic.carbon +++ b/toolchain/check/testdata/impl/lookup/generic.carbon @@ -187,7 +187,10 @@ fn G(x: A) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.2 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -441,7 +444,10 @@ fn G(x: A) { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.2 [symbolic = %T.loc8_14.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc8_25.2: type = ptr_type %T.ref [symbolic = %ptr.loc8_25.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -728,7 +734,10 @@ fn G(x: A) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.1: type = splice_block %.loc8_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @C.as.HasF.impl [concrete] { @@ -738,7 +747,10 @@ fn G(x: A) { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc10_14.2 [symbolic = %T.loc10_14.1 (constants.%T)] // CHECK:STDOUT: %C.loc10_27.2: type = class_type @C, @C(constants.%T) [symbolic = %C.loc10_27.1 (constants.%C.5a3)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_18.1: type = splice_block %.loc10_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc10_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -1003,7 +1015,10 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.decl: %HasF.type.ee1 = interface_decl @HasF [concrete = constants.%HasF.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @empty_struct_type.as.HasF.impl [concrete] { @@ -1014,7 +1029,10 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.ref: %HasF.type.ee1 = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.generic] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_14.2 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_36.2: type = facet_type <@HasF, @HasF(constants.%T)> [symbolic = %HasF.type.loc8_36.1 (constants.%HasF.type.8a4)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -1283,9 +1301,15 @@ fn G(x: A) { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc12_14.2 [symbolic = %T.loc12_14.1 (constants.%T)] // CHECK:STDOUT: %HasF.ref: type = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.type] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_18.1: type = splice_block %.loc12_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc12_14.1 (constants.%T)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_28.1: type = splice_block %.loc12_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc12_24.2: type = symbolic_binding U, 1 [symbolic = %U.loc12_24.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { @@ -1472,7 +1496,10 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.decl: %HasF.type.ee1 = interface_decl @HasF [concrete = constants.%HasF.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @T.as.HasF.impl [concrete] { @@ -1482,7 +1509,10 @@ fn G(x: A) { // CHECK:STDOUT: %HasF.ref: %HasF.type.ee1 = name_ref HasF, file.%HasF.decl [concrete = constants.%HasF.generic] // CHECK:STDOUT: %T.ref.loc8_34: type = name_ref T, %T.loc8_14.2 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: %HasF.type.loc8_35.2: type = facet_type <@HasF, @HasF(constants.%T)> [symbolic = %HasF.type.loc8_35.1 (constants.%HasF.type.8a4)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} diff --git a/toolchain/check/testdata/impl/lookup/impl_forall.carbon b/toolchain/check/testdata/impl/lookup/impl_forall.carbon index cbdba5c95410..ab0e134f32f5 100644 --- a/toolchain/check/testdata/impl/lookup/impl_forall.carbon +++ b/toolchain/check/testdata/impl/lookup/impl_forall.carbon @@ -147,7 +147,10 @@ fn TestSpecific(a: A({})*) -> {}* { // CHECK:STDOUT: %I.ref: %I.type.609 = name_ref I, file.%I.decl [concrete = constants.%I.generic] // CHECK:STDOUT: %V.ref.loc12_34: type = name_ref V, %V.loc12_14.2 [symbolic = %V.loc12_14.1 (constants.%V.67d)] // CHECK:STDOUT: %I.type.loc12_35.2: type = facet_type <@I, @I(constants.%V.67d)> [symbolic = %I.type.loc12_35.1 (constants.%I.type.1ab3e4.2)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc12_18.1: type = splice_block %.loc12_18.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc12_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc12_14.2: type = symbolic_binding V, 0 [symbolic = %V.loc12_14.1 (constants.%V.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/impl/lookup/import.carbon b/toolchain/check/testdata/impl/lookup/import.carbon index 27fbdb060307..cb0d0b3e107d 100644 --- a/toolchain/check/testdata/impl/lookup/import.carbon +++ b/toolchain/check/testdata/impl/lookup/import.carbon @@ -1544,10 +1544,13 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %X.patt: @AnyParam.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern X, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] -// CHECK:STDOUT: %.loc4: type = splice_block %T.ref [symbolic = %T.loc4_16.1 (constants.%T)] { +// CHECK:STDOUT: %.loc4_20.1: type = splice_block %.loc4_20.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_20.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc4_16.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_16.1 (constants.%T)] +// CHECK:STDOUT: %.loc4_30: type = splice_block %T.ref [symbolic = %T.loc4_16.1 (constants.%T)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_16.2 [symbolic = %T.loc4_16.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.loc4_26.2: @AnyParam.%T.loc4_16.1 (%T) = symbolic_binding X, 1 [symbolic = %X.loc4_26.1 (constants.%X)] @@ -1715,7 +1718,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %GenericInterface.decl: %GenericInterface.type.9e8 = interface_decl @GenericInterface [concrete = constants.%GenericInterface.generic] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_32.1: type = splice_block %.loc6_32.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_32.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_28.2: type = symbolic_binding U, 0 [symbolic = %U.loc6_28.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @AnyParam.as.Y.impl [concrete] {} { @@ -2193,7 +2199,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %GenericClass.decl: %GenericClass.type = class_decl @GenericClass [concrete = constants.%GenericClass.generic] { // CHECK:STDOUT: %U.patt: %pattern_type.98f = symbolic_binding_pattern U, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_24.1: type = splice_block %.loc6_24.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_24.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_20.2: type = symbolic_binding U, 0 [symbolic = %U.loc6_20.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @AnyParam.as.Y.impl [concrete] {} { @@ -2657,7 +2666,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_13.1: type = splice_block %.loc13_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc13_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc13_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc13_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} @@ -2975,9 +2987,10 @@ fn Test(c: HasExtraInterfaces.C(type)) { // CHECK:STDOUT: %c.param_patt: %pattern_type.6e4 = value_param_pattern %c.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %c.param: %C.42e = value_param call_param0 -// CHECK:STDOUT: %.loc5: type = splice_block %C [concrete = constants.%C.42e] { +// CHECK:STDOUT: %.loc5_37: type = splice_block %C [concrete = constants.%C.42e] { // CHECK:STDOUT: %HasExtraInterfaces.ref.loc5: = name_ref HasExtraInterfaces, imports.%HasExtraInterfaces [concrete = imports.%HasExtraInterfaces] // CHECK:STDOUT: %C.ref: %C.type = name_ref C, imports.%HasExtraInterfaces.C [concrete = constants.%C.generic] +// CHECK:STDOUT: %.loc5_33: type = type_literal type [concrete = type] // CHECK:STDOUT: %C: type = class_type @C, @C(type) [concrete = constants.%C.42e] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %C.42e = value_binding c, %c.param diff --git a/toolchain/check/testdata/impl/lookup/instance_method.carbon b/toolchain/check/testdata/impl/lookup/instance_method.carbon index 540b6b4b1f80..e19c5b6f06fd 100644 --- a/toolchain/check/testdata/impl/lookup/instance_method.carbon +++ b/toolchain/check/testdata/impl/lookup/instance_method.carbon @@ -90,8 +90,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc27: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %c.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl.loc15 [concrete = constants.%C] @@ -112,8 +111,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18_25: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: @I.WithSelf.F.%Self.binding.as_type (%Self.binding.as_type) = value_param call_param0 // CHECK:STDOUT: %.loc18_14.1: type = splice_block %.loc18_14.2 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)] { @@ -142,8 +140,7 @@ fn F(c: C) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc23: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%C [concrete = constants.%C] diff --git a/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon b/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon index 3d0f6e47559e..49dbcdff4c88 100644 --- a/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon +++ b/toolchain/check/testdata/impl/lookup/lookup_interface_with_enclosing_generic_inside_rewrite_constraint.carbon @@ -169,7 +169,10 @@ fn F() { // CHECK:STDOUT: %Outer.decl: %Outer.type = class_decl @Outer [concrete = constants.%Outer.generic] { // CHECK:STDOUT: %OuterParam.patt: %pattern_type.98f = symbolic_binding_pattern OuterParam, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc49_26.1: type = splice_block %.loc49_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc49_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %OuterParam.loc49_13.2: type = symbolic_binding OuterParam, 0 [symbolic = %OuterParam.loc49_13.1 (constants.%OuterParam)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} diff --git a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon index ed11060c159f..7800a690b6bc 100644 --- a/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon +++ b/toolchain/check/testdata/impl/lookup/specialization_with_symbolic_rewrite.carbon @@ -169,7 +169,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Z.decl: %Z.type.352 = interface_decl @Z [concrete = constants.%Z.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_13.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -194,9 +197,15 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Z.type.4d0 // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc9_50.1, %.loc9_56.2 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_14.2 (constants.%T.67d)] -// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_28.1: type = splice_block %.loc9_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %S.loc9_24.1: type = symbolic_binding S, 1 [symbolic = %S.loc9_24.2 (constants.%S)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @T.as.Z.impl.cf0 [concrete] { @@ -218,7 +227,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Z.type.be4 // CHECK:STDOUT: requirement_rewrite %impl.elem0, %T.ref.loc11_51 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc11_24.1: type = splice_block %.loc11_24.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc11_24.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc11_20.1: type = symbolic_binding T, 0 [symbolic = %T.loc11_20.2 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -553,7 +565,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %Z.decl: %Z.type.352 = interface_decl @Z [concrete = constants.%Z.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_13.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Y.decl: type = interface_decl @Y [concrete = constants.%Y.type] {} {} @@ -579,9 +594,15 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Z.type.4d0 // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc10_50.1, %.loc10_56.2 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc10_18.1: type = splice_block %.loc10_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc10_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc10_14.2 (constants.%T.67d)] -// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc10_28.1: type = splice_block %.loc10_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc10_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %S.loc10_24.1: type = symbolic_binding S, 1 [symbolic = %S.loc10_24.2 (constants.%S)] // CHECK:STDOUT: } // CHECK:STDOUT: impl_decl @T.as.Z.impl.cf0 [concrete] { @@ -603,7 +624,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Z.type.be4 // CHECK:STDOUT: requirement_rewrite %impl.elem0, %T.ref.loc12_45 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc12_18.1: type = splice_block %.loc12_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc12_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc12_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc12_14.2 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -934,7 +958,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Ptr.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %ptr.loc7_54.1 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc7_24.1: type = splice_block %.loc7_24.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc7_24.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_20.1: type = symbolic_binding U, 0 [symbolic = %U.loc7_20.2 (constants.%U.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -952,7 +979,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: %.loc9_30.3: %Ptr.type = converted %T.ref.loc9_29, %Ptr.facet.loc9_30.2 [symbolic = %Ptr.facet.loc9_30.1 (constants.%Ptr.facet.5445c3.2)] // CHECK:STDOUT: %impl.elem0.loc9: type = impl_witness_access constants.%Ptr.impl_witness.117547.2, element0 [symbolic = %ptr (constants.%ptr.e8f8f9.2)] // CHECK:STDOUT: %.loc9_30.4: Core.Form = init_form %impl.elem0.loc9, call_param1 [symbolic = %.loc9_30.2 (constants.%.4fe)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_10.1: type = splice_block %.loc9_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_6.1 (constants.%T.67d)] // CHECK:STDOUT: %t.param: ref @F.%T.loc9_6.1 (%T.67d) = ref_param call_param0 // CHECK:STDOUT: %T.ref.loc9_23: type = name_ref T, %T.loc9_6.2 [symbolic = %T.loc9_6.1 (constants.%T.67d)] @@ -1155,7 +1185,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Ptr.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %ptr.loc7_54.1 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc7_24.1: type = splice_block %.loc7_24.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc7_24.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_20.1: type = symbolic_binding U, 0 [symbolic = %U.loc7_20.2 (constants.%U.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { @@ -1382,7 +1415,10 @@ fn F[T:! Ptr](var t: T) -> T.(Ptr.Type) { // CHECK:STDOUT: requirement_base_facet_type constants.%Ptr.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %ptr.loc7_54.1 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc7_24.1: type = splice_block %.loc7_24.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc7_24.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc7_20.1: type = symbolic_binding U, 0 [symbolic = %U.loc7_20.2 (constants.%U.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { diff --git a/toolchain/check/testdata/impl/lookup/specific_args.carbon b/toolchain/check/testdata/impl/lookup/specific_args.carbon index 3675fcdeca0e..2e8059c79b4e 100644 --- a/toolchain/check/testdata/impl/lookup/specific_args.carbon +++ b/toolchain/check/testdata/impl/lookup/specific_args.carbon @@ -89,13 +89,19 @@ fn H(c: C(InClassArgs)) { c.(I(X).F)(); } // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} diff --git a/toolchain/check/testdata/impl/redeclaration.carbon b/toolchain/check/testdata/impl/redeclaration.carbon index 1258ef90f0bf..42cb6a0e9e8e 100644 --- a/toolchain/check/testdata/impl/redeclaration.carbon +++ b/toolchain/check/testdata/impl/redeclaration.carbon @@ -56,14 +56,12 @@ impl i32 as I {} // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %I.decl: type = interface_decl @I [concrete = constants.%I.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc17: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc23: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -89,8 +87,7 @@ impl i32 as I {} // CHECK:STDOUT: // CHECK:STDOUT: class @X { // CHECK:STDOUT: impl_decl @i32.as.I.impl [concrete] {} { -// 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: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %I.ref.loc20: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type.357] diff --git a/toolchain/check/testdata/impl/use_assoc_entity.carbon b/toolchain/check/testdata/impl/use_assoc_entity.carbon index d54bac587852..192680d7b037 100644 --- a/toolchain/check/testdata/impl/use_assoc_entity.carbon +++ b/toolchain/check/testdata/impl/use_assoc_entity.carbon @@ -469,8 +469,7 @@ fn F() { // CHECK:STDOUT: %.loc8_20: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %U.ref: %J.assoc_type = name_ref U, @U.%assoc0 [concrete = constants.%assoc0.ebd] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%J.lookup_impl_witness.46a, element0 [symbolic_self = constants.%impl.elem0.a58] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_14: type = where_expr %.Self [concrete = constants.%J_where.type.928] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 @@ -482,8 +481,7 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc12_25: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %x.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %.loc12_19.1: type = splice_block %.loc12_19.3 [concrete = constants.%empty_tuple.type] { @@ -567,17 +565,13 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc9_38: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_38: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc9_38: Core.Form = init_form %i32.loc9_38, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc9_38: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc9: Core.Form = init_form %i32.loc9_38, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @empty_tuple.type.as.J.impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %self: %empty_tuple.type = value_binding self, %self.param // CHECK:STDOUT: %u.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc9_30: type = splice_block %i32.loc9_30 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9_30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %u: %i32 = value_binding u, %u.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -849,8 +843,7 @@ fn F() { // CHECK:STDOUT: %.loc10_19: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %U.ref: %J.assoc_type = name_ref U, @U.%assoc0 [concrete = constants.%assoc0.ebd] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%J.lookup_impl_witness.46a, element0 [symbolic_self = constants.%impl.elem0.a58] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10_13: type = where_expr %.Self [concrete = constants.%J_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 @@ -860,8 +853,7 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -912,14 +904,10 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc11_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc11_19: Core.Form = init_form %i32.loc11_19, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc11_19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc11: Core.Form = init_form %i32.loc11_19, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %u.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc11_11: type = splice_block %i32.loc11_11 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc11_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %u: %i32 = value_binding u, %u.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1234,8 +1222,7 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc32: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %e.param: %E = value_param call_param0 // CHECK:STDOUT: %E.ref: type = name_ref E, file.%E.decl [concrete = constants.%E] @@ -1318,14 +1305,10 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc11_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc11_21: Core.Form = init_form %i32.loc11_21, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc11_21: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc11: Core.Form = init_form %i32.loc11_21, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %u.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc11_13: type = splice_block %i32.loc11_13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc11_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc11_13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %u: %i32 = value_binding u, %u.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1338,17 +1321,13 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc14_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc14_40: Core.Form = init_form %i32.loc14_40, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc14_40: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc14: Core.Form = init_form %i32.loc14_40, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %self.param: %E = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, constants.%E [concrete = constants.%E] // CHECK:STDOUT: %self: %E = value_binding self, %self.param // CHECK:STDOUT: %v.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc14_32: type = splice_block %i32.loc14_32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc14_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc14_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: %i32 = value_binding v, %v.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -1373,8 +1352,7 @@ fn F() { // CHECK:STDOUT: %.loc10_26: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %U.ref: %J.assoc_type = name_ref U, @U.%assoc0 [concrete = constants.%assoc0.ebd] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%J.lookup_impl_witness.46a, element0 [symbolic_self = constants.%impl.elem0.a58] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10_20: type = where_expr %.Self [concrete = constants.%J_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 @@ -1452,10 +1430,7 @@ fn F() { // CHECK:STDOUT: %.loc21_28.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc21 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc21_28.2: %i32 = converted %int_2, %.loc21_28.1 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %E.as.J.impl.F.call.loc21: init %i32 = call %impl.elem1.loc21(%.loc21_28.2) -// CHECK:STDOUT: %.loc21_18: type = splice_block %i32.loc21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21_29.1: %i32 = value_of_initializer %E.as.J.impl.F.call.loc21 // CHECK:STDOUT: %.loc21_29.2: %i32 = converted %E.as.J.impl.F.call.loc21, %.loc21_29.1 // CHECK:STDOUT: %e1: %i32 = value_binding e1, %.loc21_29.2 @@ -1475,10 +1450,7 @@ fn F() { // CHECK:STDOUT: %.loc22_28.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc22 [concrete = constants.%int_3.822] // CHECK:STDOUT: %.loc22_28.2: %i32 = converted %int_3, %.loc22_28.1 [concrete = constants.%int_3.822] // CHECK:STDOUT: %E.as.J.impl.G.call.loc22: init %i32 = call %bound_method.loc22_25(%e.ref.loc22, %.loc22_28.2) -// CHECK:STDOUT: %.loc22_18: type = splice_block %i32.loc22 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22_29.1: %i32 = value_of_initializer %E.as.J.impl.G.call.loc22 // CHECK:STDOUT: %.loc22_29.2: %i32 = converted %E.as.J.impl.G.call.loc22, %.loc22_29.1 // CHECK:STDOUT: %e2: %i32 = value_binding e2, %.loc22_29.2 @@ -1497,10 +1469,7 @@ fn F() { // CHECK:STDOUT: %.loc23_28.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc23 [concrete = constants.%int_4.940] // CHECK:STDOUT: %.loc23_28.2: %i32 = converted %int_4, %.loc23_28.1 [concrete = constants.%int_4.940] // CHECK:STDOUT: %E.as.J.impl.F.call.loc23: init %i32 = call %impl.elem1.loc23(%.loc23_28.2) -// CHECK:STDOUT: %.loc23_18: type = splice_block %i32.loc23 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc23_29.1: %i32 = value_of_initializer %E.as.J.impl.F.call.loc23 // CHECK:STDOUT: %.loc23_29.2: %i32 = converted %E.as.J.impl.F.call.loc23, %.loc23_29.1 // CHECK:STDOUT: %e3: %i32 = value_binding e3, %.loc23_29.2 @@ -1521,10 +1490,7 @@ fn F() { // CHECK:STDOUT: %.loc24_32.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc24 [concrete = constants.%int_5.0f6] // CHECK:STDOUT: %.loc24_32.2: %i32 = converted %int_5, %.loc24_32.1 [concrete = constants.%int_5.0f6] // CHECK:STDOUT: %E.as.J.impl.G.call.loc24: init %i32 = call %bound_method.loc24_25(%e.ref.loc24, %.loc24_32.2) -// CHECK:STDOUT: %.loc24_18: type = splice_block %i32.loc24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc24_33.1: %i32 = value_of_initializer %E.as.J.impl.G.call.loc24 // CHECK:STDOUT: %.loc24_33.2: %i32 = converted %E.as.J.impl.G.call.loc24, %.loc24_33.1 // CHECK:STDOUT: %e4: %i32 = value_binding e4, %.loc24_33.2 @@ -1545,10 +1511,7 @@ fn F() { // CHECK:STDOUT: %.loc25_32.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc25 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %.loc25_32.2: %i32 = converted %int_6, %.loc25_32.1 [concrete = constants.%int_6.e56] // CHECK:STDOUT: %E.as.J.impl.G.call.loc25: init %i32 = call %bound_method.loc25_25(%e.ref.loc25, %.loc25_32.2) -// CHECK:STDOUT: %.loc25_18: type = splice_block %i32.loc25 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25_33.1: %i32 = value_of_initializer %E.as.J.impl.G.call.loc25 // CHECK:STDOUT: %.loc25_33.2: %i32 = converted %E.as.J.impl.G.call.loc25, %.loc25_33.1 // CHECK:STDOUT: %e5: %i32 = value_binding e5, %.loc25_33.2 @@ -2434,8 +2397,7 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc8_51: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_51: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_51: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_51: Core.Form = init_form %i32.loc8_51, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %.loc8_26.1: type = splice_block %.loc8_26.2 [concrete = constants.%J_where.type] { // CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] @@ -2446,8 +2408,7 @@ fn F() { // CHECK:STDOUT: %.loc8_32: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %U.ref: %J.assoc_type = name_ref U, @U.%assoc0 [concrete = constants.%assoc0.ebd] // CHECK:STDOUT: %impl.elem0.loc8: type = impl_witness_access constants.%J.lookup_impl_witness.46a, element0 [symbolic_self = constants.%impl.elem0.a58] -// CHECK:STDOUT: %int_32.loc8_37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_37: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_26.2: type = where_expr %.Self.2 [concrete = constants.%J_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc8, %i32.loc8_37 @@ -2744,8 +2705,7 @@ fn F() { // CHECK:STDOUT: %.loc9_26: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %U.ref: %J.assoc_type = name_ref U, @U.%assoc0 [concrete = constants.%assoc0.ebd] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%J.lookup_impl_witness.46a, element0 [symbolic_self = constants.%impl.elem0.a58] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_20: type = where_expr %.Self [concrete = constants.%J_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 @@ -4088,7 +4048,10 @@ fn F() { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_13.1: type = splice_block %.loc3_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc3_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_9.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %M.decl: type = interface_decl @M [concrete = constants.%M.type] {} {} @@ -4150,7 +4113,8 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc7: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc7_13.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc7_13.2: Core.Form = init_form %.loc7_13.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -4170,7 +4134,8 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc11: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc11_13.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc11_13.2: Core.Form = init_form %.loc11_13.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -4189,7 +4154,8 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc17: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc17_13.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc17_13.2: Core.Form = init_form %.loc17_13.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -4461,11 +4427,9 @@ fn F() { // CHECK:STDOUT: %return.patt: @I.WithSelf.F.%pattern_type.loc5_22 (%pattern_type.3e2) = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: @I.WithSelf.F.%pattern_type.loc5_22 (%pattern_type.3e2) = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] +// CHECK:STDOUT: %.loc5_31: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %impl.elem0.loc5_37.2: %i32 = impl_witness_access constants.%I.lookup_impl_witness.3ae, element0 [symbolic = %impl.elem0.loc5_37.1 (constants.%impl.elem0.f83)] // CHECK:STDOUT: %N.ref: %i32 = name_ref N, %impl.elem0.loc5_37.2 [symbolic = %impl.elem0.loc5_37.1 (constants.%impl.elem0.f83)] -// CHECK:STDOUT: %.loc5_31.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc5_31.2: type = converted %Bool.call, %.loc5_31.1 [concrete = bool] // CHECK:STDOUT: %impl.elem0.loc5_37.3: %.0a7 = impl_witness_access constants.%ImplicitAs.impl_witness.640, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.dd4] // CHECK:STDOUT: %bound_method.loc5_37.2: = bound_method %N.ref, %impl.elem0.loc5_37.3 [symbolic = %Int.as.ImplicitAs.impl.Convert.bound (constants.%Int.as.ImplicitAs.impl.Convert.bound.0e7)] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0.loc5_37.3, @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn] @@ -4473,7 +4437,7 @@ fn F() { // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.call.loc5_37.2: init Core.IntLiteral = call %bound_method.loc5_37.3(%N.ref) [symbolic = %Int.as.ImplicitAs.impl.Convert.call.loc5_37.1 (constants.%Int.as.ImplicitAs.impl.Convert.call)] // CHECK:STDOUT: %.loc5_37.1: Core.IntLiteral = value_of_initializer %Int.as.ImplicitAs.impl.Convert.call.loc5_37.2 [symbolic = %Int.as.ImplicitAs.impl.Convert.call.loc5_37.1 (constants.%Int.as.ImplicitAs.impl.Convert.call)] // CHECK:STDOUT: %.loc5_37.2: Core.IntLiteral = converted %N.ref, %.loc5_37.1 [symbolic = %Int.as.ImplicitAs.impl.Convert.call.loc5_37.1 (constants.%Int.as.ImplicitAs.impl.Convert.call)] -// 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.d35)] +// CHECK:STDOUT: %array_type.loc5_38.2: type = array_type %.loc5_37.2, %.loc5_31 [symbolic = %array_type.loc5_38.1 (constants.%array_type.d35)] // CHECK:STDOUT: %.loc5_38.2: Core.Form = init_form %array_type.loc5_38.2, call_param1 [symbolic = %.loc5_38.1 (constants.%.d61)] // CHECK:STDOUT: %self.param: @I.WithSelf.F.%Self.binding.as_type (%Self.binding.as_type.d31) = value_param call_param0 // CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.d31)] { @@ -4503,11 +4467,9 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.5d5 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.5d5 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] +// CHECK:STDOUT: %.loc9_38: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %.loc9_38.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc9_38.2: type = converted %Bool.call, %.loc9_38.1 [concrete = bool] -// CHECK:STDOUT: %array_type: type = array_type %int_2, %.loc9_38.2 [concrete = constants.%array_type.c9b] +// CHECK:STDOUT: %array_type: type = array_type %int_2, %.loc9_38 [concrete = constants.%array_type.c9b] // CHECK:STDOUT: %.loc9_45: Core.Form = init_form %array_type, call_param1 [concrete = constants.%.d10] // CHECK:STDOUT: %self.param: %empty_tuple.type = value_param call_param0 // CHECK:STDOUT: %Self.ref: type = name_ref Self, @empty_tuple.type.as.I.impl.%.loc8_7.2 [concrete = constants.%empty_tuple.type] @@ -4674,7 +4636,10 @@ fn F() { // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc6_13.1: type = splice_block %.loc6_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc6_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %D.decl: type = class_decl @D [concrete = constants.%D] {} {} @@ -4696,7 +4661,10 @@ fn F() { // CHECK:STDOUT: requirement_base_facet_type constants.%Z.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %C.loc9_45.1 // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_18.1: type = splice_block %.loc9_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self.c39] +// CHECK:STDOUT: %.loc9_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_14.1: type = symbolic_binding T, 0 [symbolic = %T.loc9_14.2 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} diff --git a/toolchain/check/testdata/index/array_element_access.carbon b/toolchain/check/testdata/index/array_element_access.carbon index 82a472e25681..596ea8fa727b 100644 --- a/toolchain/check/testdata/index/array_element_access.carbon +++ b/toolchain/check/testdata/index/array_element_access.carbon @@ -105,8 +105,7 @@ var d: i32 = a[b]; // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.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: %i32.loc15: type = type_literal constants.%i32 [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.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -116,30 +115,21 @@ var d: i32 = a[b]; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] -// CHECK:STDOUT: %.loc17: type = splice_block %i32.loc17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: ref %i32 = ref_binding c, %c.var [concrete = %c.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = ref_binding_pattern d [concrete] // CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] -// CHECK:STDOUT: %.loc18: type = splice_block %i32.loc18 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: ref %i32 = ref_binding d, %d.var [concrete = %d.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -179,8 +169,6 @@ var d: i32 = a[b]; // CHECK:STDOUT: assign file.%b.var, %.loc16 // CHECK:STDOUT: %a.ref.loc17: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_0.loc17: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// 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: %impl.elem0.loc17_16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc17_16.1: = bound_method %int_0.loc17, %impl.elem0.loc17_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc17_16: = specific_function %impl.elem0.loc17_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -198,8 +186,6 @@ var d: i32 = a[b]; // CHECK:STDOUT: assign file.%c.var, %Int.as.Copy.impl.Op.call.loc17 // CHECK:STDOUT: %a.ref.loc18: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %b.ref: ref %i32 = name_ref b, file.%b [concrete = file.%b.var] -// CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc18_16: %i32 = acquire_value %b.ref // CHECK:STDOUT: %.loc18_17.1: ref %i32 = array_index %a.ref.loc18, %.loc18_16 // CHECK:STDOUT: %.loc18_17.2: %i32 = acquire_value %.loc18_17.1 diff --git a/toolchain/check/testdata/index/expr_category.carbon b/toolchain/check/testdata/index/expr_category.carbon index c721c0d348f3..5e77c4114565 100644 --- a/toolchain/check/testdata/index/expr_category.carbon +++ b/toolchain/check/testdata/index/expr_category.carbon @@ -136,8 +136,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %return.patt: %pattern_type.5d8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.5d8 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [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: %.loc15: Core.Form = init_form %array_type, call_param0 [concrete = constants.%.241] @@ -150,8 +149,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: %array_type = value_param call_param0 // CHECK:STDOUT: %.loc17: type = splice_block %array_type.loc17 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc17: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc17: type = array_type %int_3.loc17, %i32.loc17 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -163,8 +161,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: %array_type = value_param call_param0 // CHECK:STDOUT: %.loc25: type = splice_block %array_type.loc25 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc25: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc25: type = array_type %int_3.loc25, %i32.loc25 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -216,8 +213,7 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc18_3: init %array_type = converted %.loc18_34.1, %.loc18_34.11 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc18_3 // CHECK:STDOUT: %.loc18_22: type = splice_block %array_type.loc18 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc18_21: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc18: type = array_type %int_3.loc18_21, %i32.loc18 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -229,8 +225,6 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %pa.var: ref %ptr.235 = var %pa.var_patt // CHECK:STDOUT: %a.ref.loc21: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc21: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %int_32.loc21_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc21_28: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc21_28.1: = bound_method %int_0.loc21, %impl.elem0.loc21_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc21_28: = specific_function %impl.elem0.loc21_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -247,15 +241,12 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call: init %ptr.235 = call %bound_method.loc21_25.2(%addr) // CHECK:STDOUT: assign %pa.var, %ptr.as.Copy.impl.Op.call // CHECK:STDOUT: %.loc21_21: type = splice_block %ptr [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc21_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc21_18 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %ptr: type = ptr_type %i32.loc21 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %pa: ref %ptr.235 = ref_binding pa, %pa.var // CHECK:STDOUT: %a.ref.loc22: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc22: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// 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: %impl.elem0.loc22_5: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc22_5.1: = bound_method %int_0.loc22, %impl.elem0.loc22_5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc22_5: = specific_function %impl.elem0.loc22_5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -325,16 +316,13 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc26_3: init %array_type = converted %.loc26_34.1, %.loc26_34.11 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc26_3 // CHECK:STDOUT: %.loc26_22: type = splice_block %array_type.loc26 [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_3.loc26_21: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] // CHECK:STDOUT: %array_type.loc26: type = array_type %int_3.loc26_21, %i32.loc26 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %array_type = ref_binding a, %a.var // CHECK:STDOUT: %a.ref: ref %array_type = name_ref a, %a // CHECK:STDOUT: %int_0.loc30: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// 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: %impl.elem0.loc30: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc30_5.1: = bound_method %int_0.loc30, %impl.elem0.loc30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc30: = specific_function %impl.elem0.loc30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -345,8 +333,6 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %.loc30_6: ref %i32 = array_index %a.ref, %.loc30_5.2 // CHECK:STDOUT: %b.ref: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc31: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %int_32.loc31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc31: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc31_5.1: = bound_method %int_0.loc31, %impl.elem0.loc31 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc31: = specific_function %impl.elem0.loc31, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -362,8 +348,6 @@ fn ValueBinding(b: array(i32, 3)) { // CHECK:STDOUT: %F.call: init %array_type to %.loc32_5.1 = call %F.ref() // CHECK:STDOUT: %int_0.loc32: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc32_5.2: ref %array_type = temporary %.loc32_5.1, %F.call -// CHECK:STDOUT: %int_32.loc32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc32: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc32_7.1: = bound_method %int_0.loc32, %impl.elem0.loc32 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc32: = specific_function %impl.elem0.loc32, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/index/fail_array_large_index.carbon b/toolchain/check/testdata/index/fail_array_large_index.carbon index 3a13b54eb6cf..336dfc7d874a 100644 --- a/toolchain/check/testdata/index/fail_array_large_index.carbon +++ b/toolchain/check/testdata/index/fail_array_large_index.carbon @@ -109,8 +109,7 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.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: %i32.loc15: type = type_literal constants.%i32 [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.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -120,20 +119,14 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc21: type = splice_block %i32.loc21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] -// CHECK:STDOUT: %.loc27: type = splice_block %i32.loc27 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: ref %i32 = ref_binding c, %c.var [concrete = %c.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -155,8 +148,6 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: assign file.%a.var, %.loc15_1 // CHECK:STDOUT: %a.ref.loc21: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// 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: %impl.elem0.loc21_16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc21_16.1: = bound_method %int_1, %impl.elem0.loc21_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] // CHECK:STDOUT: %specific_fn.loc21_16: = specific_function %impl.elem0.loc21_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -174,8 +165,6 @@ var c: i32 = a[0x7FFF_FFFF]; // CHECK:STDOUT: assign file.%b.var, %Int.as.Copy.impl.Op.call.loc21 // CHECK:STDOUT: %a.ref.loc27: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_2147483647: Core.IntLiteral = int_value 2147483647 [concrete = constants.%int_2147483647.d89] -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc27_16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc27_16.1: = bound_method %int_2147483647, %impl.elem0.loc27_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.5e6] // CHECK:STDOUT: %specific_fn.loc27_16: = specific_function %impl.elem0.loc27_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] 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 7427c6094f6b..f5de8be409b9 100644 --- a/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon +++ b/toolchain/check/testdata/index/fail_array_non_int_indexing.carbon @@ -98,8 +98,7 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.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: %i32.loc15: type = type_literal constants.%i32 [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.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -109,10 +108,7 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc23: type = splice_block %i32.loc23 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -134,8 +130,6 @@ var b: i32 = a[2.6]; // CHECK:STDOUT: assign file.%a.var, %.loc15_1 // CHECK:STDOUT: %a.ref: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 26e-1 [concrete = constants.%float] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %.loc23_16: %i32 = converted %float, [concrete = ] // CHECK:STDOUT: %.loc23_19.1: ref %i32 = array_index %a.ref, [concrete = ] // CHECK:STDOUT: %.loc23_19.2: %i32 = acquire_value %.loc23_19.1 [concrete = ] 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 229f43a1fa58..3febf08cff3b 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 @@ -97,8 +97,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.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: %i32.loc15: type = type_literal constants.%i32 [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.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -108,10 +107,7 @@ var b: i32 = a[1]; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc20: type = splice_block %i32.loc20 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -133,8 +129,6 @@ var b: i32 = a[1]; // CHECK:STDOUT: assign file.%a.var, %.loc15_1 // CHECK:STDOUT: %a.ref: ref %array_type = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc20_16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc20_16.1: = bound_method %int_1, %impl.elem0.loc20_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] // CHECK:STDOUT: %specific_fn.loc20_16: = specific_function %impl.elem0.loc20_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/index/fail_expr_category.carbon b/toolchain/check/testdata/index/fail_expr_category.carbon index 1902ea70c8c0..d045bfc025d7 100644 --- a/toolchain/check/testdata/index/fail_expr_category.carbon +++ b/toolchain/check/testdata/index/fail_expr_category.carbon @@ -128,8 +128,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %return.patt: %pattern_type.5d8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.5d8 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [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: %.loc15: Core.Form = init_form %array_type, call_param0 [concrete = constants.%.241] @@ -142,8 +141,7 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: } { // CHECK:STDOUT: %b.param: %array_type = value_param call_param0 // CHECK:STDOUT: %.loc17: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [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.loc17 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -162,8 +160,6 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %pb.var: ref %ptr.235 = var %pb.var_patt // CHECK:STDOUT: %b.ref.loc23: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc23: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %int_32.loc23_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc23_28: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc23_28.1: = bound_method %int_0.loc23, %impl.elem0.loc23_28 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc23_28: = specific_function %impl.elem0.loc23_28, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -182,15 +178,12 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc23: init %ptr.235 = call %bound_method.loc23_25.2(%addr.loc23) [concrete = ] // CHECK:STDOUT: assign %pb.var, %ptr.as.Copy.impl.Op.call.loc23 // CHECK:STDOUT: %.loc23_21: type = splice_block %ptr.loc23 [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc23_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc23: type = ptr_type %i32.loc23_18 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %ptr.loc23: type = ptr_type %i32.loc23 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %pb: ref %ptr.235 = ref_binding pb, %pb.var // CHECK:STDOUT: %b.ref.loc28: %array_type = name_ref b, %b // CHECK:STDOUT: %int_0.loc28: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// 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: %impl.elem0.loc28_5: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc28_5.1: = bound_method %int_0.loc28, %impl.elem0.loc28_5 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc28_5: = specific_function %impl.elem0.loc28_5, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -219,8 +212,6 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %F.call.loc36: init %array_type to %.loc36_28.1 = call %F.ref.loc36() // CHECK:STDOUT: %int_0.loc36: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc36_28.2: ref %array_type = temporary %.loc36_28.1, %F.call.loc36 -// CHECK:STDOUT: %int_32.loc36_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc36_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc36_30: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc36_30.1: = bound_method %int_0.loc36, %impl.elem0.loc36_30 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc36_30: = specific_function %impl.elem0.loc36_30, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -238,9 +229,8 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc36: init %ptr.235 = call %bound_method.loc36_25.2(%addr.loc36) [concrete = ] // CHECK:STDOUT: assign %pf.var, %ptr.as.Copy.impl.Op.call.loc36 // CHECK:STDOUT: %.loc36_21: type = splice_block %ptr.loc36 [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc36_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc36_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %ptr.loc36: type = ptr_type %i32.loc36_18 [concrete = constants.%ptr.235] +// CHECK:STDOUT: %i32.loc36: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %ptr.loc36: type = ptr_type %i32.loc36 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %pf: ref %ptr.235 = ref_binding pf, %pf.var // CHECK:STDOUT: %F.ref.loc41: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] @@ -248,8 +238,6 @@ fn G(b: array(i32, 3)) { // CHECK:STDOUT: %F.call.loc41: init %array_type to %.loc41_5.1 = call %F.ref.loc41() // CHECK:STDOUT: %int_0.loc41: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc41_5.2: ref %array_type = temporary %.loc41_5.1, %F.call.loc41 -// 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: %impl.elem0.loc41_7: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc41_7.1: = bound_method %int_0.loc41, %impl.elem0.loc41_7 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.897] // CHECK:STDOUT: %specific_fn.loc41_7: = specific_function %impl.elem0.loc41_7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/index/fail_invalid_base.carbon b/toolchain/check/testdata/index/fail_invalid_base.carbon index 302cc1e24ae3..ea740226071b 100644 --- a/toolchain/check/testdata/index/fail_invalid_base.carbon +++ b/toolchain/check/testdata/index/fail_invalid_base.carbon @@ -87,10 +87,7 @@ var d: i32 = {.a: i32, .b: i32}[0]; // CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] -// CHECK:STDOUT: %.loc21: type = splice_block %i32.loc21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var [concrete = %a.var] // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} {} // CHECK:STDOUT: name_binding_decl { @@ -98,30 +95,21 @@ var d: i32 = {.a: i32, .b: i32}[0]; // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc28: type = splice_block %i32.loc28 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] -// CHECK:STDOUT: %.loc34: type = splice_block %i32.loc34 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: ref %i32 = ref_binding c, %c.var [concrete = %c.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = ref_binding_pattern d [concrete] // CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] -// CHECK:STDOUT: %.loc40: type = splice_block %i32.loc40 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: ref %i32 = ref_binding d, %d.var [concrete = %d.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -142,10 +130,8 @@ var d: i32 = {.a: i32, .b: i32}[0]; // CHECK:STDOUT: %struct: %struct_type.a.b.cfd = struct_value (%int_1.loc34, %int_2) [concrete = constants.%struct] // CHECK:STDOUT: %.loc34_29.2: %struct_type.a.b.cfd = converted %.loc34_29.1, %struct [concrete = constants.%struct] // CHECK:STDOUT: assign file.%c.var, -// CHECK:STDOUT: %int_32.loc40_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc40_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc40_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc40_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc40_19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc40_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: %int_0.loc40: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: assign file.%d.var, diff --git a/toolchain/check/testdata/index/fail_name_not_found.carbon b/toolchain/check/testdata/index/fail_name_not_found.carbon index 86ee7a7af2d5..b7bf87bc97c1 100644 --- a/toolchain/check/testdata/index/fail_name_not_found.carbon +++ b/toolchain/check/testdata/index/fail_name_not_found.carbon @@ -68,10 +68,7 @@ fn Main() { // CHECK:STDOUT: %a.ref: = name_ref a, [concrete = ] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0] // CHECK:STDOUT: assign %b.var, -// CHECK:STDOUT: %.loc20: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %b.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%b.var) diff --git a/toolchain/check/testdata/index/fail_negative_indexing.carbon b/toolchain/check/testdata/index/fail_negative_indexing.carbon index e88178b32e8d..5150bf474b8d 100644 --- a/toolchain/check/testdata/index/fail_negative_indexing.carbon +++ b/toolchain/check/testdata/index/fail_negative_indexing.carbon @@ -114,8 +114,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %array_type = var %c.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [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.loc15 [concrete = constants.%array_type] // CHECK:STDOUT: } @@ -125,10 +124,7 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] -// CHECK:STDOUT: %.loc20: type = splice_block %i32.loc20 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: ref %i32 = ref_binding d, %d.var [concrete = %d.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -163,8 +159,6 @@ var d: i32 = c[-10]; // CHECK:STDOUT: %impl.elem1: %.b42 = impl_witness_access constants.%Negate.impl_witness, element1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op] // CHECK:STDOUT: %bound_method.loc20_16.1: = bound_method %int_10, %impl.elem1 [concrete = constants.%Core.IntLiteral.as.Negate.impl.Op.bound] // CHECK:STDOUT: %Core.IntLiteral.as.Negate.impl.Op.call: init Core.IntLiteral = call %bound_method.loc20_16.1(%int_10) [concrete = constants.%int_-10.06d] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc20_16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc20_16.2: = bound_method %Core.IntLiteral.as.Negate.impl.Op.call, %impl.elem0.loc20_16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.920] // CHECK:STDOUT: %specific_fn.loc20_16: = specific_function %impl.elem0.loc20_16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interface/assoc_const_in_generic.carbon b/toolchain/check/testdata/interface/assoc_const_in_generic.carbon index 75d3b02178d7..c4a59113c2de 100644 --- a/toolchain/check/testdata/interface/assoc_const_in_generic.carbon +++ b/toolchain/check/testdata/interface/assoc_const_in_generic.carbon @@ -74,13 +74,19 @@ fn H() { // CHECK:STDOUT: %I.decl: %I.type.609 = interface_decl @I [concrete = constants.%I.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc15_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc15_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc15_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc19_10.1: type = splice_block %.loc19_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc19_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc19_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc19_6.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %H.decl: %H.type = fn_decl @H [concrete = constants.%H] {} {} @@ -105,7 +111,10 @@ fn H() { // CHECK:STDOUT: } { // CHECK:STDOUT: %U.ref: type = name_ref U, %U.loc16_8.2 [symbolic = %U.loc16_8.1 (constants.%U)] // CHECK:STDOUT: %.loc16_21.2: Core.Form = init_form %U.ref, call_param0 [symbolic = %.loc16_21.1 (constants.%.f4a)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc16_12.1: type = splice_block %.loc16_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc16_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc16_8.2: type = symbolic_binding U, 2 [symbolic = %U.loc16_8.1 (constants.%U)] // CHECK:STDOUT: %return.param: ref @I.WithSelf.F.%U.loc16_8.1 (%U) = out_param call_param0 // CHECK:STDOUT: %return: ref @I.WithSelf.F.%U.loc16_8.1 (%U) = return_slot %return.param diff --git a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon index bbc9085d0b47..d4d94e174dfb 100644 --- a/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon +++ b/toolchain/check/testdata/interface/fail_assoc_const_alias.carbon @@ -114,7 +114,10 @@ interface C { // CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.595 = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { // CHECK:STDOUT: %Dest.patt: %pattern_type.98f = symbolic_binding_pattern Dest, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_29.1: type = splice_block %.loc3_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %Dest.loc3_22.2: type = symbolic_binding Dest, 0 [symbolic = %Dest.loc3_22.1 (constants.%Dest)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -538,7 +541,8 @@ interface C { // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc6_25: Core.Form = init_form type, call_param1 [concrete = constants.%.b38] +// CHECK:STDOUT: %.loc6_25.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc6_25.2: Core.Form = init_form %.loc6_25.1, call_param1 [concrete = constants.%.b38] // CHECK:STDOUT: %self.param: @A.WithSelf.F.%Self.binding.as_type (%Self.binding.as_type.55a) = value_param call_param0 // CHECK:STDOUT: %.loc6_14.1: type = splice_block %.loc6_14.2 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.55a)] { // CHECK:STDOUT: %Self.ref: %A.type = name_ref Self, @A.%Self.loc5 [symbolic = %Self (constants.%Self.c51)] diff --git a/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon b/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon index 1ceea41b5dfb..6745b3b55a88 100644 --- a/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon +++ b/toolchain/check/testdata/interface/fail_generic_redeclaration.carbon @@ -80,20 +80,29 @@ interface DifferentParams(T:! ()) {} // CHECK:STDOUT: %NotGeneric.decl.loc23: %NotGeneric.type.af7 = interface_decl @NotGeneric.loc23 [concrete = constants.%NotGeneric.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc23_26.1: type = splice_block %.loc23_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc23_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc23_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc23_22.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl.loc25: %Generic.type.835 = interface_decl @Generic.loc25 [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc25_23.1: type = splice_block %.loc25_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc25_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc25_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc25_19.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %Generic.decl.loc33: type = interface_decl @Generic.loc33 [concrete = constants.%Generic.type.aac] {} {} // CHECK:STDOUT: %DifferentParams.decl.loc35: %DifferentParams.type.0d8654.1 = interface_decl @DifferentParams.loc35 [concrete = constants.%DifferentParams.generic.de7f43.1] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc35_31.1: type = splice_block %.loc35_31.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc35_31.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc35_27.2: type = symbolic_binding T, 0 [symbolic = %T.loc35_27.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %DifferentParams.decl.loc43: %DifferentParams.type.0d8654.2 = interface_decl @DifferentParams.loc43 [concrete = constants.%DifferentParams.generic.de7f43.2] { diff --git a/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon b/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon index 393bc605f5cd..7e3411e64130 100644 --- a/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon +++ b/toolchain/check/testdata/interface/fail_lookup_in_type_type.carbon @@ -46,6 +46,7 @@ let U: (type where .Self impls type).missing = {}; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %T.patt: = value_binding_pattern T [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %.loc8: type = type_literal type [concrete = type] // CHECK:STDOUT: %T: = value_binding T, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -72,11 +73,13 @@ let U: (type where .Self impls type).missing = {}; // CHECK:STDOUT: %U.patt: = value_binding_pattern U [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.1: = splice_block [concrete = ] { +// CHECK:STDOUT: %.loc8_9: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self: type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %.loc8: type = where_expr %.Self [concrete = constants.%type] { +// CHECK:STDOUT: %.loc8_32: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc8_14: type = where_expr %.Self [concrete = constants.%type] { // CHECK:STDOUT: requirement_base_facet_type type -// CHECK:STDOUT: requirement_impls %.Self.ref, type +// CHECK:STDOUT: requirement_impls %.Self.ref, %.loc8_32 // CHECK:STDOUT: } // CHECK:STDOUT: %missing.ref: = name_ref missing, [concrete = ] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon index 96331705da73..4d8500706129 100644 --- a/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon +++ b/toolchain/check/testdata/interface/fail_todo_assoc_const_default.carbon @@ -88,10 +88,8 @@ interface I { // CHECK:STDOUT: !with Self: // CHECK:STDOUT: %T: type = assoc_const_decl @T [concrete] { // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%T [concrete = constants.%assoc0.2e7] -// CHECK:STDOUT: %int_32.loc20_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc20_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc20_32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc20_27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc20_32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc20_35: %tuple.type.24b = tuple_literal (%i32.loc20_27, %i32.loc20_32) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc20_36: type = converted %.loc20_35, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon b/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon index 1ff503a7281b..1d0bc10c451a 100644 --- a/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon +++ b/toolchain/check/testdata/interface/fail_todo_define_default_fn_inline.carbon @@ -79,20 +79,13 @@ interface Interface { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc26_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc26_35: Core.Form = init_form %i32.loc26_35, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc26_35: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc26: Core.Form = init_form %i32.loc26_35, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc26_19: type = splice_block %i32.loc26_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc26_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc26_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc26_27: type = splice_block %i32.loc26_27 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc26_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc26_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon index dbc1d819df37..3cd793b05ade 100644 --- a/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon +++ b/toolchain/check/testdata/interface/fail_todo_define_default_fn_out_of_line.carbon @@ -99,20 +99,13 @@ fn Interface.C.F[unused self: Self](U:! type, u: U*) -> U* { return u; } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc18_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc18_35: Core.Form = init_form %i32.loc18_35, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc18_35: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc18: Core.Form = init_form %i32.loc18_35, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param.loc18: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc18_19: type = splice_block %i32.loc18_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc18_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc18_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a.loc18: %i32 = value_binding a, %a.param.loc18 // CHECK:STDOUT: %b.param.loc18: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc18_27: type = splice_block %i32.loc18_27 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc18_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc18_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b.loc18: %i32 = value_binding b, %b.param.loc18 // CHECK:STDOUT: %return.param.loc18: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return.loc18: ref %i32 = return_slot %return.param.loc18 @@ -134,20 +127,13 @@ fn Interface.C.F[unused self: Self](U:! type, u: U*) -> U* { return u; } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc13_35: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_35: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc13_35: Core.Form = init_form %i32.loc13_35, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc13_35: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc13: Core.Form = init_form %i32.loc13_35, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param.loc13: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc13_19: type = splice_block %i32.loc13_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a.loc13: %i32 = value_binding a, %a.param.loc13 // CHECK:STDOUT: %b.param.loc13: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc13_27: type = splice_block %i32.loc13_27 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13_27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b.loc13: %i32 = value_binding b, %b.param.loc13 // CHECK:STDOUT: %return.param.loc13: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return.loc13: ref %i32 = return_slot %return.param.loc13 @@ -248,7 +234,10 @@ fn Interface.C.F[unused self: Self](U:! type, u: U*) -> U* { return u; } // CHECK:STDOUT: %Self.ref.loc20: type = name_ref Self, %.loc20_31.2 [symbolic = %C (constants.%C)] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc20: @C.F.%C (%C) = value_binding self, %self.param.loc20 -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_41.1: type = splice_block %.loc20_41.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_41.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc20: type = symbolic_binding U, 1 [symbolic = %U.loc14_22.1 (constants.%U.091)] // CHECK:STDOUT: %u.param.loc20: @C.F.%ptr.loc14_36.1 (%ptr.18e) = value_param call_param1 // CHECK:STDOUT: %.loc20_51: type = splice_block %ptr.loc20_51 [symbolic = %ptr.loc14_36.1 (constants.%ptr.18e)] { @@ -301,7 +290,10 @@ fn Interface.C.F[unused self: Self](U:! type, u: U*) -> U* { return u; } // CHECK:STDOUT: %Self.ref.loc14: type = name_ref Self, %.loc14_16.2 [symbolic = %C (constants.%C)] // CHECK:STDOUT: } // CHECK:STDOUT: %self.loc14: @C.F.%C (%C) = value_binding self, %self.param.loc14 -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_26.1: type = splice_block %.loc14_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc14_22.2: type = symbolic_binding U, 1 [symbolic = %U.loc14_22.1 (constants.%U.091)] // CHECK:STDOUT: %u.param.loc14: @C.F.%ptr.loc14_36.1 (%ptr.18e) = value_param call_param1 // CHECK:STDOUT: %.loc14_36: type = splice_block %ptr.loc14_36.2 [symbolic = %ptr.loc14_36.1 (constants.%ptr.18e)] { diff --git a/toolchain/check/testdata/interface/generic.carbon b/toolchain/check/testdata/interface/generic.carbon index c01f0dd58f57..eefdcab033f1 100644 --- a/toolchain/check/testdata/interface/generic.carbon +++ b/toolchain/check/testdata/interface/generic.carbon @@ -147,14 +147,20 @@ fn F(unused T:! Generic((), ())) {} // CHECK:STDOUT: %Simple.decl: %Simple.type.673 = interface_decl @Simple [concrete = constants.%Simple.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_22.1: type = splice_block %.loc4_22.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_22.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_18.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_18.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: %WithAssocFn.decl: %WithAssocFn.type.daa = interface_decl @WithAssocFn [concrete = constants.%WithAssocFn.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_27.1: type = splice_block %.loc8_27.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_27.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_23.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_23.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: type = class_decl @C [concrete = constants.%C] {} {} @@ -162,10 +168,13 @@ fn F(unused T:! Generic((), ())) {} // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: @WithImplicitArgs.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc22_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc22_28.1 (constants.%T.67d)] -// CHECK:STDOUT: %.loc22: type = splice_block %T.ref [symbolic = %T.loc22_28.1 (constants.%T.67d)] { +// CHECK:STDOUT: %.loc22_32.1: type = splice_block %.loc22_32.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc22_32.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc22_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc22_28.1 (constants.%T.67d)] +// CHECK:STDOUT: %.loc22_42: type = splice_block %T.ref [symbolic = %T.loc22_28.1 (constants.%T.67d)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc22_28.2 [symbolic = %T.loc22_28.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc22_38.2: @WithImplicitArgs.%T.loc22_28.1 (%T.67d) = symbolic_binding N, 1 [symbolic = %N.loc22_38.1 (constants.%N)] @@ -478,7 +487,10 @@ fn F(unused T:! Generic((), ())) {} // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.1: type = splice_block %.loc4_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %A.decl: type = class_decl @A [concrete = constants.%A] {} {} @@ -618,7 +630,10 @@ fn F(unused T:! Generic((), ())) {} // CHECK:STDOUT: %Generic.decl: %Generic.type.835 = interface_decl @Generic [concrete = constants.%Generic.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_23.1: type = splice_block %.loc3_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_19.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { diff --git a/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon b/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon index 2b76c9cc3319..4b677765317a 100644 --- a/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon +++ b/toolchain/check/testdata/interface/generic_binding_after_assoc_const.carbon @@ -54,7 +54,10 @@ interface I { // CHECK:STDOUT: %I.WithSelf.F.decl: @I.%I.WithSelf.F.type (%I.WithSelf.F.type) = fn_decl @I.WithSelf.F [symbolic = @I.%I.WithSelf.F (constants.%I.WithSelf.F)] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc16_12.1: type = splice_block %.loc16_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc16_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_8.2: type = symbolic_binding T, 1 [symbolic = %T.loc16_8.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, %I.WithSelf.F.decl [concrete = constants.%assoc0] @@ -64,7 +67,10 @@ interface I { // CHECK:STDOUT: %I.WithSelf.G.decl: @I.%I.WithSelf.G.type (%I.WithSelf.G.type) = fn_decl @I.WithSelf.G [symbolic = @I.%I.WithSelf.G (constants.%I.WithSelf.G)] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_12.1: type = splice_block %.loc20_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc20_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc20_8.2: type = symbolic_binding T, 1 [symbolic = %T.loc20_8.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %assoc2: %I.assoc_type = assoc_entity element2, %I.WithSelf.G.decl [concrete = constants.%assoc2] diff --git a/toolchain/check/testdata/interface/generic_import.carbon b/toolchain/check/testdata/interface/generic_import.carbon index 2d9382534a5a..416c106879bd 100644 --- a/toolchain/check/testdata/interface/generic_import.carbon +++ b/toolchain/check/testdata/interface/generic_import.carbon @@ -55,7 +55,10 @@ impl C as AddWith(C) { // CHECK:STDOUT: %AddWith.decl: %AddWith.type.d53 = interface_decl @AddWith [concrete = constants.%AddWith.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.1: type = splice_block %.loc4_23.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_23.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_19.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_19.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/generic_method.carbon b/toolchain/check/testdata/interface/generic_method.carbon index b0203b89e763..480945569d2b 100644 --- a/toolchain/check/testdata/interface/generic_method.carbon +++ b/toolchain/check/testdata/interface/generic_method.carbon @@ -238,7 +238,10 @@ fn CallIndirect() { // CHECK:STDOUT: %A.decl: %A.type.464 = interface_decl @A [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} @@ -294,7 +297,10 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc6_40.3: type = converted constants.%Self.362, %Self.as_type [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.7ec)] // CHECK:STDOUT: %.loc6_40.4: type = converted %.loc6_40.2, constants.%tuple.type.762 [symbolic = %tuple.type.loc6_40.2 (constants.%tuple.type.762)] // CHECK:STDOUT: %.loc6_40.5: Core.Form = init_form %.loc6_40.4, call_param1 [symbolic = %.loc6_40.1 (constants.%.de5)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_8.2: type = symbolic_binding U, 2 [symbolic = %U.loc6_8.1 (constants.%U.4e7)] // CHECK:STDOUT: %u.param: @A.WithSelf.F.%ptr.loc6_22.1 (%ptr.8f6) = value_param call_param0 // CHECK:STDOUT: %.loc6_22: type = splice_block %ptr.loc6_22.2 [symbolic = %ptr.loc6_22.1 (constants.%ptr.8f6)] { @@ -333,7 +339,10 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc16_37.2: %tuple.type.ff9 = tuple_literal (%X.ref, %Y.ref, %ptr.loc16_36) [symbolic = %tuple (constants.%tuple.7ab)] // CHECK:STDOUT: %.loc16_37.3: type = converted %.loc16_37.2, constants.%tuple.type.244 [symbolic = %tuple.type.loc16 (constants.%tuple.type.244)] // CHECK:STDOUT: %.loc16_37.4: Core.Form = init_form %.loc16_37.3, call_param1 [symbolic = %.loc16_37.1 (constants.%.479)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc16_12.1: type = splice_block %.loc16_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc16_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc16_8.2: type = symbolic_binding U, 0 [symbolic = %U.loc16_8.1 (constants.%U.67d)] // CHECK:STDOUT: %u.param: @Y.as.A.impl.F.%ptr.loc16_22.1 (%ptr.e8f8f9.1) = value_param call_param0 // CHECK:STDOUT: %.loc16_22: type = splice_block %ptr.loc16_22.2 [symbolic = %ptr.loc16_22.1 (constants.%ptr.e8f8f9.1)] { @@ -856,7 +865,10 @@ fn CallIndirect() { // CHECK:STDOUT: %A.decl: %A.type.464 = interface_decl @A [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.1: type = splice_block %.loc5_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_13.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} @@ -875,11 +887,20 @@ fn CallIndirect() { // CHECK:STDOUT: %A.ref: %A.type.464 = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %W.ref: type = name_ref W, %W.loc14_36.2 [symbolic = %W.loc14_36.1 (constants.%W)] // CHECK:STDOUT: %A.type.loc14_61.2: type = facet_type <@A, @A(constants.%W)> [symbolic = %A.type.loc14_61.1 (constants.%A.type.fe7)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_19.1: type = splice_block %.loc14_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V1.loc14_14.2: type = symbolic_binding V1, 0 [symbolic = %V1.loc14_14.1 (constants.%V1)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_30.1: type = splice_block %.loc14_30.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_30.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V2.loc14_25.2: type = symbolic_binding V2, 1 [symbolic = %V2.loc14_25.1 (constants.%V2)] -// CHECK:STDOUT: %.Self.3: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_40.1: type = splice_block %.loc14_40.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc14_40.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %W.loc14_36.2: type = symbolic_binding W, 2 [symbolic = %W.loc14_36.1 (constants.%W)] // CHECK:STDOUT: } // CHECK:STDOUT: %Call.decl: %Call.type = fn_decl @Call [concrete = constants.%Call] {} {} @@ -925,7 +946,10 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc6_38.3: type = converted constants.%Self.362, %Self.as_type [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type.7ec)] // CHECK:STDOUT: %.loc6_38.4: type = converted %.loc6_38.2, constants.%tuple.type.7f3 [symbolic = %tuple.type.loc6_38.2 (constants.%tuple.type.7f3)] // CHECK:STDOUT: %.loc6_38.5: Core.Form = init_form %.loc6_38.4, call_param1 [symbolic = %.loc6_38.1 (constants.%.a0a)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc6_8.2: type = symbolic_binding U, 2 [symbolic = %U.loc6_8.1 (constants.%U.4e7)] // CHECK:STDOUT: %u.param: @A.WithSelf.F.%U.loc6_8.1 (%U.4e7) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc6_21: type = name_ref U, %U.loc6_8.2 [symbolic = %U.loc6_8.1 (constants.%U.4e7)] @@ -977,7 +1001,10 @@ fn CallIndirect() { // CHECK:STDOUT: %.loc17_42.4: type = converted constants.%tuple.4b9, constants.%tuple.type.a5e [symbolic = %tuple.type.loc17_42.1 (constants.%tuple.type.a5e)] // CHECK:STDOUT: %.loc17_42.5: type = converted %.loc17_42.3, constants.%tuple.type.897 [symbolic = %tuple.type.loc17_42.2 (constants.%tuple.type.897)] // CHECK:STDOUT: %.loc17_42.6: Core.Form = init_form %.loc17_42.5, call_param1 [symbolic = %.loc17_42.2 (constants.%.532)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc17_12.1: type = splice_block %.loc17_12.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc17_12.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc17_8.2: type = symbolic_binding U, 3 [symbolic = %U.loc17_8.1 (constants.%U.ce4)] // CHECK:STDOUT: %u.param: @tuple.type.as.A.impl.F.%U.loc17_8.1 (%U.ce4) = value_param call_param0 // CHECK:STDOUT: %U.ref.loc17_21: type = name_ref U, %U.loc17_8.2 [symbolic = %U.loc17_8.1 (constants.%U.ce4)] @@ -1083,6 +1110,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Y1.ref: type = name_ref Y1, file.%Y1.decl [concrete = constants.%Y1] // CHECK:STDOUT: %Y2.ref: type = name_ref Y2, file.%Y2.decl [concrete = constants.%Y2] // CHECK:STDOUT: %.loc24_12: %tuple.type.24b = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.dd5] +// CHECK:STDOUT: %.loc24_17: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc24_14: type = converted %.loc24_12, constants.%tuple.type.ab2 [concrete = constants.%tuple.type.ab2] // CHECK:STDOUT: %A.ref: %A.type.464 = name_ref A, file.%A.decl [concrete = constants.%A.generic] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] @@ -1171,6 +1199,7 @@ fn CallIndirect() { // CHECK:STDOUT: %Y1.ref: type = name_ref Y1, file.%Y1.decl [concrete = constants.%Y1] // CHECK:STDOUT: %Y2.ref: type = name_ref Y2, file.%Y2.decl [concrete = constants.%Y2] // CHECK:STDOUT: %.loc33_22: %tuple.type.24b = tuple_literal (%Y1.ref, %Y2.ref) [concrete = constants.%tuple.dd5] +// CHECK:STDOUT: %.loc33_27: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc33_24: type = converted %.loc33_22, constants.%tuple.type.ab2 [concrete = constants.%tuple.type.ab2] // CHECK:STDOUT: %A.facet: %A.type.ab6 = facet_value %.loc33_24, (constants.%A.impl_witness.b3a) [concrete = constants.%A.facet.906] // CHECK:STDOUT: %.loc33_31: %A.type.ab6 = converted %.loc33_24, %A.facet [concrete = constants.%A.facet.906] diff --git a/toolchain/check/testdata/interface/generic_vs_params.carbon b/toolchain/check/testdata/interface/generic_vs_params.carbon index 0bbe99fd6bbf..c31858a2dbcb 100644 --- a/toolchain/check/testdata/interface/generic_vs_params.carbon +++ b/toolchain/check/testdata/interface/generic_vs_params.carbon @@ -136,13 +136,19 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %GenericAndParams.decl: %GenericAndParams.type.17f = interface_decl @GenericAndParams.loc6 [concrete = constants.%GenericAndParams.generic.253] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_32.1: type = splice_block %.loc6_32.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_32.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc6_28.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_28.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C.decl: %C.type = class_decl @C [concrete = constants.%C.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.1: type = splice_block %.loc8_13.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_13.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_9.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_9.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} @@ -313,7 +319,10 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %GenericAndParams.decl: @C.%GenericAndParams.type (%GenericAndParams.type.a5d) = interface_decl @GenericAndParams.loc10 [symbolic = @C.%GenericAndParams.generic (constants.%GenericAndParams.generic.fc5)] { // CHECK:STDOUT: %U.patt: %pattern_type = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_34.1: type = splice_block %.loc10_34.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_34.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc10_30.2: type = symbolic_binding U, 1 [symbolic = %U.loc10_30.1 (constants.%U)] // CHECK:STDOUT: } // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] @@ -534,7 +543,10 @@ interface Bar[T:! type] {} // CHECK:STDOUT: %Bar.decl: %Bar.type.d8f = interface_decl @Bar [concrete = constants.%Bar.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_19.1: type = splice_block %.loc8_19.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_19.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_15.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_15.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/incomplete.carbon b/toolchain/check/testdata/interface/incomplete.carbon index f6a514c0e17f..e9cc92933675 100644 --- a/toolchain/check/testdata/interface/incomplete.carbon +++ b/toolchain/check/testdata/interface/incomplete.carbon @@ -431,7 +431,10 @@ interface A(T:! type) { // CHECK:STDOUT: %A.decl: %A.type.464 = interface_decl @A [concrete = constants.%A.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.1: type = splice_block %.loc3_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc3_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc3_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc3_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/member_lookup.carbon b/toolchain/check/testdata/interface/member_lookup.carbon index 9c327cd8b788..704c7ee149d3 100644 --- a/toolchain/check/testdata/interface/member_lookup.carbon +++ b/toolchain/check/testdata/interface/member_lookup.carbon @@ -142,7 +142,10 @@ fn AccessMissingConcrete(I:! Interface(i32)) -> i32 { // CHECK:STDOUT: %Interface.decl: %Interface.type.815 = interface_decl @Interface [concrete = constants.%Interface.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_21.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %AccessGeneric.decl: %AccessGeneric.type = fn_decl @AccessGeneric [concrete = constants.%AccessGeneric] { @@ -154,10 +157,13 @@ fn AccessMissingConcrete(I:! Interface(i32)) -> i32 { // CHECK:STDOUT: %T.ref.loc8_49: type = name_ref T, %T.loc8_18.2 [symbolic = %T.loc8_18.1 (constants.%T.67d)] // CHECK:STDOUT: %ptr.loc8_50.2: type = ptr_type %T.ref.loc8_49 [symbolic = %ptr.loc8_50.1 (constants.%ptr.e8f)] // CHECK:STDOUT: %.loc8_50.2: Core.Form = init_form %ptr.loc8_50.2, call_param0 [symbolic = %.loc8_50.1 (constants.%.8e9)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_22.1: type = splice_block %.loc8_22.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_22.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_18.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_18.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc8_43: type = splice_block %Interface.type.loc8_43.2 [symbolic = %Interface.type.loc8_43.1 (constants.%Interface.type.442)] { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Interface.ref: %Interface.type.815 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] // CHECK:STDOUT: %T.ref.loc8_42: type = name_ref T, %T.loc8_18.2 [symbolic = %T.loc8_18.1 (constants.%T.67d)] // CHECK:STDOUT: %Interface.type.loc8_43.2: type = facet_type <@Interface, @Interface(constants.%T.67d)> [symbolic = %Interface.type.loc8_43.1 (constants.%Interface.type.442)] @@ -171,15 +177,13 @@ fn AccessMissingConcrete(I:! Interface(i32)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc12_42: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12_42: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc12_42: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc12_42 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc12_45: Core.Form = init_form %ptr, call_param0 [concrete = constants.%.546] // CHECK:STDOUT: %.loc12_36: type = splice_block %Interface.type [concrete = constants.%Interface.type.389] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Interface.ref: %Interface.type.815 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] -// CHECK:STDOUT: %int_32.loc12_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc12_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface, @Interface(constants.%i32)> [concrete = constants.%Interface.type.389] // CHECK:STDOUT: } // CHECK:STDOUT: %I.loc12_19.2: %Interface.type.389 = symbolic_binding I, 0 [symbolic = %I.loc12_19.1 (constants.%I.50d)] @@ -409,7 +413,10 @@ fn AccessMissingConcrete(I:! Interface(i32)) -> i32 { // CHECK:STDOUT: %Interface.decl: %Interface.type.815 = interface_decl @Interface [concrete = constants.%Interface.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.1: type = splice_block %.loc4_25.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_25.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_21.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_21.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %AccessMissingGeneric.decl: %AccessMissingGeneric.type = fn_decl @AccessMissingGeneric [concrete = constants.%AccessMissingGeneric] { @@ -420,10 +427,13 @@ fn AccessMissingConcrete(I:! Interface(i32)) -> i32 { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc8_56: type = name_ref T, %T.loc8_25.2 [symbolic = %T.loc8_25.1 (constants.%T)] // CHECK:STDOUT: %.loc8_56.2: Core.Form = init_form %T.ref.loc8_56, call_param0 [symbolic = %.loc8_56.1 (constants.%.41b)] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_29.1: type = splice_block %.loc8_29.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_29.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_25.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_25.1 (constants.%T)] // CHECK:STDOUT: %.loc8_50: type = splice_block %Interface.type.loc8_50.2 [symbolic = %Interface.type.loc8_50.1 (constants.%Interface.type.442)] { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Interface.ref: %Interface.type.815 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] // CHECK:STDOUT: %T.ref.loc8_49: type = name_ref T, %T.loc8_25.2 [symbolic = %T.loc8_25.1 (constants.%T)] // CHECK:STDOUT: %Interface.type.loc8_50.2: type = facet_type <@Interface, @Interface(constants.%T)> [symbolic = %Interface.type.loc8_50.1 (constants.%Interface.type.442)] @@ -437,14 +447,12 @@ fn AccessMissingConcrete(I:! Interface(i32)) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc16_49: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_49: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_49: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_49: Core.Form = init_form %i32.loc16_49, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %.loc16_43: type = splice_block %Interface.type [concrete = constants.%Interface.type.389] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] // CHECK:STDOUT: %Interface.ref: %Interface.type.815 = name_ref Interface, file.%Interface.decl [concrete = constants.%Interface.generic] -// CHECK:STDOUT: %int_32.loc16_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Interface.type: type = facet_type <@Interface, @Interface(constants.%i32)> [concrete = constants.%Interface.type.389] // CHECK:STDOUT: } // CHECK:STDOUT: %I.loc16_26.2: %Interface.type.389 = symbolic_binding I, 0 [symbolic = %I.loc16_26.1 (constants.%I.50d)] diff --git a/toolchain/check/testdata/interface/require.carbon b/toolchain/check/testdata/interface/require.carbon index 0c9c994fddc8..9a2d435f2fda 100644 --- a/toolchain/check/testdata/interface/require.carbon +++ b/toolchain/check/testdata/interface/require.carbon @@ -761,7 +761,10 @@ interface Z(T:! type) { // CHECK:STDOUT: %Z.decl: %Z.type.352 = interface_decl @Z [concrete = constants.%Z.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc4_17.1: type = splice_block %.loc4_17.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc4_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -918,7 +921,10 @@ interface Z(T:! type) { // CHECK:STDOUT: %Z.decl: %Z.type.352 = interface_decl @Z [concrete = constants.%Z.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc8_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_13.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_13.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interface/todo_define_not_default.carbon b/toolchain/check/testdata/interface/todo_define_not_default.carbon index 6df896d7b305..be29da380308 100644 --- a/toolchain/check/testdata/interface/todo_define_not_default.carbon +++ b/toolchain/check/testdata/interface/todo_define_not_default.carbon @@ -102,20 +102,13 @@ interface I { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc18_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc18_27: Core.Form = init_form %i32.loc18_27, call_param2 [concrete = constants.%.8ef] +// CHECK:STDOUT: %i32.loc18_27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc18: Core.Form = init_form %i32.loc18_27, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc18_11: type = splice_block %i32.loc18_11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc18_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc18_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.loc18_19: type = splice_block %i32.loc18_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc18_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc18_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -123,10 +116,8 @@ interface I { // CHECK:STDOUT: %assoc1: %I.assoc_type = assoc_entity element1, %I.WithSelf.G.decl [concrete = constants.%assoc1] // CHECK:STDOUT: %T: type = assoc_const_decl @T [concrete] { // CHECK:STDOUT: %assoc2: %I.assoc_type = assoc_entity element2, @I.%T [concrete = constants.%assoc2] -// CHECK:STDOUT: %int_32.loc22_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc22_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22_27: %tuple.type.24b = tuple_literal (%i32.loc22_19, %i32.loc22_24) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc22_28: type = converted %.loc22_27, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/builtins.carbon b/toolchain/check/testdata/interop/cpp/builtins.carbon index a6e815999201..5d4f3ae9566f 100644 --- a/toolchain/check/testdata/interop/cpp/builtins.carbon +++ b/toolchain/check/testdata/interop/cpp/builtins.carbon @@ -236,14 +236,14 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { -// CHECK:STDOUT: .signed_char = @F.%i8.1 -// CHECK:STDOUT: .short = @F.%i16.1 -// CHECK:STDOUT: .int = @F.%i32.1 -// CHECK:STDOUT: .unsigned_char = @F.%u8.1 -// CHECK:STDOUT: .unsigned_short = @F.%u16.1 -// CHECK:STDOUT: .unsigned_int = @F.%u32.1 -// CHECK:STDOUT: .float = @F.%f32.1 -// CHECK:STDOUT: .double = @F.%f64.1 +// CHECK:STDOUT: .signed_char = @F.%i8.2 +// CHECK:STDOUT: .short = @F.%i16.2 +// CHECK:STDOUT: .int = @F.%i32.2 +// CHECK:STDOUT: .unsigned_char = @F.%u8.2 +// CHECK:STDOUT: .unsigned_short = @F.%u16.2 +// CHECK:STDOUT: .unsigned_int = @F.%u32.2 +// CHECK:STDOUT: .float = @F.%f32.2 +// CHECK:STDOUT: .double = @F.%f64.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.ca0: @Core.IntLiteral.as.As.impl.ae3.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.09e) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.ae3.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.dbe)] @@ -260,8 +260,7 @@ fn F() { // CHECK:STDOUT: %cpp_signed_char.patt: %pattern_type.e3f = value_binding_pattern cpp_signed_char [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_8.loc8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %i8.loc8: type = class_type @Int, @Int(constants.%int_8) [concrete = constants.%i8] +// CHECK:STDOUT: %i8.loc8: type = type_literal constants.%i8 [concrete = constants.%i8] // CHECK:STDOUT: %impl.elem0.loc8: %.57e = impl_witness_access constants.%As.impl_witness.0bb, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bf2] // CHECK:STDOUT: %bound_method.loc8_45.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.c11] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.As.impl.Convert.1(constants.%int_8) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.d98] @@ -272,24 +271,20 @@ fn F() { // CHECK:STDOUT: %.loc8_28: type = splice_block %signed_char.ref [concrete = constants.%i8] { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %signed_char.ref: type = name_ref signed_char, %i8.1 [concrete = constants.%i8] +// CHECK:STDOUT: %signed_char.ref: type = name_ref signed_char, %i8.2 [concrete = constants.%i8] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_signed_char: %i8 = value_binding cpp_signed_char, %.loc8_45.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_signed_char.patt: %pattern_type.e3f = value_binding_pattern carbon_signed_char [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_signed_char.ref: %i8 = name_ref cpp_signed_char, %cpp_signed_char -// CHECK:STDOUT: %.loc9: type = splice_block %i8.loc9 [concrete = constants.%i8] { -// CHECK:STDOUT: %int_8.loc9: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %i8.loc9: type = class_type @Int, @Int(constants.%int_8) [concrete = constants.%i8] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i8.loc9: type = type_literal constants.%i8 [concrete = constants.%i8] // CHECK:STDOUT: %carbon_signed_char: %i8 = value_binding carbon_signed_char, %cpp_signed_char.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_short.patt: %pattern_type.2f8 = value_binding_pattern cpp_short [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16.loc11: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc11: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.loc11: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc11: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc11_33.1: = bound_method %int_1.loc11, %impl.elem0.loc11 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.896] // CHECK:STDOUT: %specific_fn.loc11: = specific_function %impl.elem0.loc11, @Core.IntLiteral.as.As.impl.Convert.1(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.00b] @@ -300,24 +295,20 @@ fn F() { // CHECK:STDOUT: %.loc11_22: type = splice_block %short.ref [concrete = constants.%i16] { // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %short.ref: type = name_ref short, %i16.1 [concrete = constants.%i16] +// CHECK:STDOUT: %short.ref: type = name_ref short, %i16.2 [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_short: %i16 = value_binding cpp_short, %.loc11_33.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_short.patt: %pattern_type.2f8 = value_binding_pattern carbon_short [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_short.ref: %i16 = name_ref cpp_short, %cpp_short -// CHECK:STDOUT: %.loc12: type = splice_block %i16.loc12 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16.loc12: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc12: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16.loc12: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %carbon_short: %i16 = value_binding carbon_short, %cpp_short.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_int.patt: %pattern_type.7ce = value_binding_pattern cpp_int [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc14: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// 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: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc14: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc14_29.1: = bound_method %int_1.loc14, %impl.elem0.loc14 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.bd3] // CHECK:STDOUT: %specific_fn.loc14: = specific_function %impl.elem0.loc14, @Core.IntLiteral.as.As.impl.Convert.1(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.fab] @@ -328,24 +319,20 @@ fn F() { // CHECK:STDOUT: %.loc14_20: type = splice_block %int.ref [concrete = constants.%i32] { // CHECK:STDOUT: %Cpp.ref.loc14: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %int.ref: type = name_ref int, %i32.1 [concrete = constants.%i32] +// CHECK:STDOUT: %int.ref: type = name_ref int, %i32.2 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_int: %i32 = value_binding cpp_int, %.loc14_29.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_int.patt: %pattern_type.7ce = value_binding_pattern carbon_int [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_int.ref: %i32 = name_ref cpp_int, %cpp_int -// CHECK:STDOUT: %.loc15: type = splice_block %i32.loc15 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %carbon_int: %i32 = value_binding carbon_int, %cpp_int.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_unsigned_char.patt: %pattern_type.8f3 = value_binding_pattern cpp_unsigned_char [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc17: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_8.loc17: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %u8.loc17: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] +// CHECK:STDOUT: %u8.loc17: type = type_literal constants.%u8 [concrete = constants.%u8] // CHECK:STDOUT: %impl.elem0.loc17: %.3d2 = impl_witness_access constants.%As.impl_witness.ce7, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.edb] // CHECK:STDOUT: %bound_method.loc17_49.1: = bound_method %int_1.loc17, %impl.elem0.loc17 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.f5f] // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_8) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.130] @@ -356,24 +343,20 @@ fn F() { // CHECK:STDOUT: %.loc17_30: type = splice_block %unsigned_char.ref [concrete = constants.%u8] { // CHECK:STDOUT: %Cpp.ref.loc17: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %unsigned_char.ref: type = name_ref unsigned_char, %u8.1 [concrete = constants.%u8] +// CHECK:STDOUT: %unsigned_char.ref: type = name_ref unsigned_char, %u8.2 [concrete = constants.%u8] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_char: %u8 = value_binding cpp_unsigned_char, %.loc17_49.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_unsigned_char.patt: %pattern_type.8f3 = value_binding_pattern carbon_unsigned_char [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_char.ref: %u8 = name_ref cpp_unsigned_char, %cpp_unsigned_char -// CHECK:STDOUT: %.loc18: type = splice_block %u8.loc18 [concrete = constants.%u8] { -// CHECK:STDOUT: %int_8.loc18: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %u8.loc18: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u8.loc18: type = type_literal constants.%u8 [concrete = constants.%u8] // CHECK:STDOUT: %carbon_unsigned_char: %u8 = value_binding carbon_unsigned_char, %cpp_unsigned_char.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_unsigned_short.patt: %pattern_type.9db = value_binding_pattern cpp_unsigned_short [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc20: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16.loc20: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %u16.loc20: type = class_type @UInt, @UInt(constants.%int_16) [concrete = constants.%u16] +// CHECK:STDOUT: %u16.loc20: type = type_literal constants.%u16 [concrete = constants.%u16] // CHECK:STDOUT: %impl.elem0.loc20: %.f78 = impl_witness_access constants.%As.impl_witness.e55, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.dab] // CHECK:STDOUT: %bound_method.loc20_51.1: = bound_method %int_1.loc20, %impl.elem0.loc20 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.e01] // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.b56] @@ -384,24 +367,20 @@ fn F() { // CHECK:STDOUT: %.loc20_31: type = splice_block %unsigned_short.ref [concrete = constants.%u16] { // CHECK:STDOUT: %Cpp.ref.loc20: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %unsigned_short.ref: type = name_ref unsigned_short, %u16.1 [concrete = constants.%u16] +// CHECK:STDOUT: %unsigned_short.ref: type = name_ref unsigned_short, %u16.2 [concrete = constants.%u16] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_short: %u16 = value_binding cpp_unsigned_short, %.loc20_51.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_unsigned_short.patt: %pattern_type.9db = value_binding_pattern carbon_unsigned_short [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_short.ref: %u16 = name_ref cpp_unsigned_short, %cpp_unsigned_short -// CHECK:STDOUT: %.loc21: type = splice_block %u16.loc21 [concrete = constants.%u16] { -// CHECK:STDOUT: %int_16.loc21: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %u16.loc21: type = class_type @UInt, @UInt(constants.%int_16) [concrete = constants.%u16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u16.loc21: type = type_literal constants.%u16 [concrete = constants.%u16] // CHECK:STDOUT: %carbon_unsigned_short: %u16 = value_binding carbon_unsigned_short, %cpp_unsigned_short.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_unsigned_int.patt: %pattern_type.4a9 = value_binding_pattern cpp_unsigned_int [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc23: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc23: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.loc23: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %impl.elem0.loc23: %.1a4 = impl_witness_access constants.%As.impl_witness.e1d, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bbd] // CHECK:STDOUT: %bound_method.loc23_47.1: = bound_method %int_1.loc23, %impl.elem0.loc23 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.a65] // CHECK:STDOUT: %specific_fn.loc23: = specific_function %impl.elem0.loc23, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.f97] @@ -412,24 +391,20 @@ fn F() { // CHECK:STDOUT: %.loc23_29: type = splice_block %unsigned_int.ref [concrete = constants.%u32] { // CHECK:STDOUT: %Cpp.ref.loc23: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %unsigned_int.ref: type = name_ref unsigned_int, %u32.1 [concrete = constants.%u32] +// CHECK:STDOUT: %unsigned_int.ref: type = name_ref unsigned_int, %u32.2 [concrete = constants.%u32] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_int: %u32 = value_binding cpp_unsigned_int, %.loc23_47.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_unsigned_int.patt: %pattern_type.4a9 = value_binding_pattern carbon_unsigned_int [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_int.ref: %u32 = name_ref cpp_unsigned_int, %cpp_unsigned_int -// CHECK:STDOUT: %.loc24: type = splice_block %u32.loc24 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc24: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32.loc24: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %carbon_unsigned_int: %u32 = value_binding carbon_unsigned_int, %cpp_unsigned_int.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_float.patt: %pattern_type.201 = value_binding_pattern cpp_float [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %float.loc26: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.674bbc.1] -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc26: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32.loc26: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %impl.elem0.loc26: %.49e = impl_witness_access constants.%As.impl_witness.748, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.683] // CHECK:STDOUT: %bound_method.loc26_35.1: = bound_method %float.loc26, %impl.elem0.loc26 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound.ec8] // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn.10a] @@ -440,24 +415,20 @@ fn F() { // CHECK:STDOUT: %.loc26_22: type = splice_block %float.ref [concrete = constants.%f32.97e] { // CHECK:STDOUT: %Cpp.ref.loc26: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %float.ref: type = name_ref float, %f32.1 [concrete = constants.%f32.97e] +// CHECK:STDOUT: %float.ref: type = name_ref float, %f32.2 [concrete = constants.%f32.97e] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_float: %f32.97e = value_binding cpp_float, %.loc26_35.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_float.patt: %pattern_type.201 = value_binding_pattern carbon_float [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_float.ref: %f32.97e = name_ref cpp_float, %cpp_float -// CHECK:STDOUT: %.loc27: type = splice_block %f32.loc27 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc27: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc27: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %carbon_float: %f32.97e = value_binding carbon_float, %cpp_float.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_double.patt: %pattern_type.0ae = value_binding_pattern cpp_double [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %float.loc29: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.674bbc.2] -// CHECK:STDOUT: %int_64.loc29: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc29: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.loc29: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %impl.elem0.loc29: %.293 = impl_witness_access constants.%As.impl_witness.187, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.4b9] // CHECK:STDOUT: %bound_method.loc29_37.1: = bound_method %float.loc29, %impl.elem0.loc29 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound.f54] // CHECK:STDOUT: %specific_fn.loc29: = specific_function %impl.elem0.loc29, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn.b2e] @@ -468,17 +439,14 @@ fn F() { // CHECK:STDOUT: %.loc29_23: type = splice_block %double.ref [concrete = constants.%f64.d77] { // CHECK:STDOUT: %Cpp.ref.loc29: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %double.ref: type = name_ref double, %f64.1 [concrete = constants.%f64.d77] +// CHECK:STDOUT: %double.ref: type = name_ref double, %f64.2 [concrete = constants.%f64.d77] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_double: %f64.d77 = value_binding cpp_double, %.loc29_37.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_double.patt: %pattern_type.0ae = value_binding_pattern carbon_double [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_double.ref: %f64.d77 = name_ref cpp_double, %cpp_double -// CHECK:STDOUT: %.loc30: type = splice_block %f64.loc30 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc30: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc30: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc30: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %carbon_double: %f64.d77 = value_binding carbon_double, %cpp_double.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -517,8 +485,7 @@ fn F() { // CHECK:STDOUT: %cpp_long_double.patt: = value_binding_pattern cpp_long_double [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.674] -// CHECK:STDOUT: %int_64.loc15: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc15: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.loc15: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %impl.elem0: %.293 = impl_witness_access constants.%As.impl_witness.187, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.4b9] // CHECK:STDOUT: %bound_method.loc15_47.1: = bound_method %float, %impl.elem0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] @@ -532,10 +499,7 @@ fn F() { // CHECK:STDOUT: %carbon_long_double.patt: %pattern_type.0ae = value_binding_pattern carbon_long_double [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long_double.ref: = name_ref cpp_long_double, %cpp_long_double [concrete = ] -// CHECK:STDOUT: %.loc16: type = splice_block %f64.loc16 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc16: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc16: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc16: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %carbon_long_double: %f64.d77 = value_binding carbon_long_double, [concrete = ] // CHECK:STDOUT: // CHECK:STDOUT: } @@ -595,10 +559,7 @@ fn F() { // CHECK:STDOUT: %foo.ref: %unsigned_int.foo.cpp_overload_set.type = name_ref foo, imports.%unsigned_int.foo.cpp_overload_set.value [concrete = constants.%unsigned_int.foo.cpp_overload_set.value] // CHECK:STDOUT: %bound_method: = bound_method %unsigned_int.ref.loc13, %foo.ref // CHECK:STDOUT: %unsigned_int.foo.call: init %u32 = call imports.%unsigned_int.foo.decl(%unsigned_int.ref.loc13) -// CHECK:STDOUT: %.loc13_17: type = splice_block %u32 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %.loc13_40.1: %u32 = value_of_initializer %unsigned_int.foo.call // CHECK:STDOUT: %.loc13_40.2: %u32 = converted %unsigned_int.foo.call, %.loc13_40.1 // CHECK:STDOUT: %x: %u32 = value_binding x, %.loc13_40.2 diff --git a/toolchain/check/testdata/interop/cpp/builtins.llp64.carbon b/toolchain/check/testdata/interop/cpp/builtins.llp64.carbon index 36bb6df0cb0c..c37a37b50845 100644 --- a/toolchain/check/testdata/interop/cpp/builtins.llp64.carbon +++ b/toolchain/check/testdata/interop/cpp/builtins.llp64.carbon @@ -734,7 +734,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { -// CHECK:STDOUT: .long_long = @F.%i64.1 +// CHECK:STDOUT: .long_long = @F.%i64.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)] @@ -756,7 +756,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %.loc8_25: type = splice_block %long_long.ref.loc8 [concrete = constants.%i64] { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %long_long.ref.loc8: type = name_ref long_long, %i64.1 [concrete = constants.%i64] +// CHECK:STDOUT: %long_long.ref.loc8: type = name_ref long_long, %i64.2 [concrete = constants.%i64] // CHECK:STDOUT: } // CHECK:STDOUT: %impl.elem0.loc8: %.a64 = impl_witness_access constants.%ImplicitAs.impl_witness.556, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.57d] // CHECK:STDOUT: %bound_method.loc8_38.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] @@ -770,10 +770,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_long_long.patt: %pattern_type.95b = value_binding_pattern carbon_long_long [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long_long.ref: %i64 = name_ref cpp_long_long, %cpp_long_long -// CHECK:STDOUT: %.loc9: type = splice_block %i64.loc9 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc9: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc9: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc9: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %carbon_long_long: %i64 = value_binding carbon_long_long, %cpp_long_long.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b36 = ref_binding_pattern a [concrete] @@ -795,11 +792,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %.loc11_3: init %array_type = converted %.loc11_55.1, %.loc11_55.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc11_3 // CHECK:STDOUT: %.loc11_46: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] -// CHECK:STDOUT: %long_long.ref.loc11: type = name_ref long_long, %i64.1 [concrete = constants.%i64] +// CHECK:STDOUT: %long_long.ref.loc11: type = name_ref long_long, %i64.2 [concrete = constants.%i64] // CHECK:STDOUT: %impl.elem0.loc11_30.1: %.fc7 = impl_witness_access constants.%As.impl_witness.c71, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a54] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -900,7 +896,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { -// CHECK:STDOUT: .unsigned_long_long = @F.%u64.1 +// CHECK:STDOUT: .unsigned_long_long = @F.%u64.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.741: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.6a6) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.46e)] @@ -922,7 +918,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %.loc8_34: type = splice_block %unsigned_long_long.ref.loc8 [concrete = constants.%u64] { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %unsigned_long_long.ref.loc8: type = name_ref unsigned_long_long, %u64.1 [concrete = constants.%u64] +// CHECK:STDOUT: %unsigned_long_long.ref.loc8: type = name_ref unsigned_long_long, %u64.2 [concrete = constants.%u64] // CHECK:STDOUT: } // CHECK:STDOUT: %impl.elem0.loc8: %.f17 = impl_witness_access constants.%ImplicitAs.impl_witness.bb3, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.042] // CHECK:STDOUT: %bound_method.loc8_56.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] @@ -936,10 +932,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_unsigned_long_long.patt: %pattern_type.157 = value_binding_pattern carbon_unsigned_long_long [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_long_long.ref: %u64 = name_ref cpp_unsigned_long_long, %cpp_unsigned_long_long -// CHECK:STDOUT: %.loc9: type = splice_block %u64.loc9 [concrete = constants.%u64] { -// CHECK:STDOUT: %int_64.loc9: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %u64.loc9: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u64.loc9: type = type_literal constants.%u64 [concrete = constants.%u64] // CHECK:STDOUT: %carbon_unsigned_long_long: %u64 = value_binding carbon_unsigned_long_long, %cpp_unsigned_long_long.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b36 = ref_binding_pattern a [concrete] @@ -961,11 +954,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %.loc11_3: init %array_type = converted %.loc11_64.1, %.loc11_64.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc11_3 // CHECK:STDOUT: %.loc11_55: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] -// CHECK:STDOUT: %unsigned_long_long.ref.loc11: type = name_ref unsigned_long_long, %u64.1 [concrete = constants.%u64] +// CHECK:STDOUT: %unsigned_long_long.ref.loc11: type = name_ref unsigned_long_long, %u64.2 [concrete = constants.%u64] // CHECK:STDOUT: %impl.elem0.loc11_30.1: %.904 = impl_witness_access constants.%As.impl_witness.f54, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.715] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1205,14 +1197,10 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_i32.patt: %pattern_type.7ce = value_binding_pattern carbon_i32 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long.ref.loc21: %Cpp.long = name_ref cpp_long, %cpp_long -// CHECK:STDOUT: %int_32.loc21_37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21_37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc21_37: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21_34.1: %i32 = as_compatible %cpp_long.ref.loc21 // CHECK:STDOUT: %.loc21_34.2: %i32 = converted %cpp_long.ref.loc21, %.loc21_34.1 -// CHECK:STDOUT: %.loc21_19: type = splice_block %i32.loc21_19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc21_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc21_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc21_19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %carbon_i32: %i32 = value_binding carbon_i32, %.loc21_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_i32_result.patt: %pattern_type.454 = value_binding_pattern carbon_i32_result [concrete] @@ -1235,10 +1223,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_i64.patt: %pattern_type.95b = value_binding_pattern carbon_i64 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long.ref.loc24: %Cpp.long = name_ref cpp_long, %cpp_long -// CHECK:STDOUT: %.loc24_26: type = splice_block %i64 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %impl.elem0.loc24: %.12d = impl_witness_access constants.%ImplicitAs.impl_witness.bbc, element0 [concrete = constants.%Cpp.long.as.ImplicitAs.impl.Convert.bbf] // CHECK:STDOUT: %bound_method.loc24: = bound_method %cpp_long.ref.loc24, %impl.elem0.loc24 // CHECK:STDOUT: %Cpp.long.as.ImplicitAs.impl.Convert.call.loc24: init %i64 = call %bound_method.loc24(%cpp_long.ref.loc24) @@ -1265,8 +1250,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %.loc26_3: init %array_type = converted %.loc26_50.1, %.loc26_50.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc26_3 // CHECK:STDOUT: %.loc26_41: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc26: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc26: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long.ref.loc26: type = name_ref long, constants.%Cpp.long [concrete = constants.%Cpp.long] @@ -3795,10 +3779,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %.loc9_10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc9: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc9_16.1: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -4132,10 +4113,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %carbon_u32.patt: %pattern_type.4a9 = value_binding_pattern carbon_u32 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_long.ref.loc21: %Cpp.unsigned_long = name_ref cpp_unsigned_long, %cpp_unsigned_long -// CHECK:STDOUT: %.loc21_19: type = splice_block %u32 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32.loc21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %impl.elem0.loc21: %.5ab = impl_witness_access constants.%ImplicitAs.impl_witness.e61, element0 [concrete = constants.%Cpp.unsigned_long.as.ImplicitAs.impl.Convert.19d] // CHECK:STDOUT: %bound_method.loc21: = bound_method %cpp_unsigned_long.ref.loc21, %impl.elem0.loc21 // CHECK:STDOUT: %Cpp.unsigned_long.as.ImplicitAs.impl.Convert.call.loc21: init %u32 = call %bound_method.loc21(%cpp_unsigned_long.ref.loc21) @@ -4179,8 +4157,7 @@ fn CopyUnsignedLong() { // CHECK:STDOUT: %.loc24_3: init %array_type = converted %.loc24_59.1, %.loc24_59.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc24_3 // CHECK:STDOUT: %.loc24_50: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long.ref.loc24: type = name_ref unsigned_long, constants.%Cpp.unsigned_long [concrete = constants.%Cpp.unsigned_long] diff --git a/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon b/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon index 81fc71e379f6..cfd392389ff6 100644 --- a/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon +++ b/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon @@ -682,7 +682,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { -// CHECK:STDOUT: .long = @F.%i64.1 +// CHECK:STDOUT: .long = @F.%i64.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/types/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)] @@ -704,7 +704,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %.loc8_20: type = splice_block %long.ref.loc8 [concrete = constants.%i64] { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %long.ref.loc8: type = name_ref long, %i64.1 [concrete = constants.%i64] +// CHECK:STDOUT: %long.ref.loc8: type = name_ref long, %i64.2 [concrete = constants.%i64] // CHECK:STDOUT: } // CHECK:STDOUT: %impl.elem0.loc8: %.a64 = impl_witness_access constants.%ImplicitAs.impl_witness.556, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.57d] // CHECK:STDOUT: %bound_method.loc8_28.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] @@ -718,10 +718,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %carbon_long.patt: %pattern_type.95b = value_binding_pattern carbon_long [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long.ref: %i64 = name_ref cpp_long, %cpp_long -// CHECK:STDOUT: %.loc9: type = splice_block %i64.loc9 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc9: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc9: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc9: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %carbon_long: %i64 = value_binding carbon_long, %cpp_long.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b36 = ref_binding_pattern a [concrete] @@ -743,11 +740,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %.loc11_3: init %array_type = converted %.loc11_50.1, %.loc11_50.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc11_3 // CHECK:STDOUT: %.loc11_41: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] -// CHECK:STDOUT: %long.ref.loc11: type = name_ref long, %i64.1 [concrete = constants.%i64] +// CHECK:STDOUT: %long.ref.loc11: type = name_ref long, %i64.2 [concrete = constants.%i64] // CHECK:STDOUT: %impl.elem0.loc11_30.1: %.fc7 = impl_witness_access constants.%As.impl_witness.c71, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a54] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -848,7 +844,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { -// CHECK:STDOUT: .unsigned_long = @F.%u64.1 +// CHECK:STDOUT: .unsigned_long = @F.%u64.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.741: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.6a6) = import_ref Core//prelude/types/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.46e)] @@ -870,7 +866,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %.loc8_29: type = splice_block %unsigned_long.ref.loc8 [concrete = constants.%u64] { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %unsigned_long.ref.loc8: type = name_ref unsigned_long, %u64.1 [concrete = constants.%u64] +// CHECK:STDOUT: %unsigned_long.ref.loc8: type = name_ref unsigned_long, %u64.2 [concrete = constants.%u64] // CHECK:STDOUT: } // CHECK:STDOUT: %impl.elem0.loc8: %.f17 = impl_witness_access constants.%ImplicitAs.impl_witness.bb3, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.042] // CHECK:STDOUT: %bound_method.loc8_46.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] @@ -884,10 +880,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %carbon_unsigned_long.patt: %pattern_type.157 = value_binding_pattern carbon_unsigned_long [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_long.ref: %u64 = name_ref cpp_unsigned_long, %cpp_unsigned_long -// CHECK:STDOUT: %.loc9: type = splice_block %u64.loc9 [concrete = constants.%u64] { -// CHECK:STDOUT: %int_64.loc9: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %u64.loc9: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u64.loc9: type = type_literal constants.%u64 [concrete = constants.%u64] // CHECK:STDOUT: %carbon_unsigned_long: %u64 = value_binding carbon_unsigned_long, %cpp_unsigned_long.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a.patt: %pattern_type.b36 = ref_binding_pattern a [concrete] @@ -909,11 +902,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %.loc11_3: init %array_type = converted %.loc11_59.1, %.loc11_59.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc11_3 // CHECK:STDOUT: %.loc11_50: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc11: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] -// CHECK:STDOUT: %unsigned_long.ref.loc11: type = name_ref unsigned_long, %u64.1 [concrete = constants.%u64] +// CHECK:STDOUT: %unsigned_long.ref.loc11: type = name_ref unsigned_long, %u64.2 [concrete = constants.%u64] // CHECK:STDOUT: %impl.elem0.loc11_30.1: %.904 = impl_witness_access constants.%As.impl_witness.f54, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.715] // CHECK:STDOUT: %bound_method.loc11_30.1: = bound_method %int_1.loc11, %impl.elem0.loc11_30.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_30.1: = specific_function %impl.elem0.loc11_30.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1142,14 +1134,10 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %carbon_i64.patt: %pattern_type.95b = value_binding_pattern carbon_i64 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_long_long.ref.loc21: %Cpp.long_long = name_ref cpp_long_long, %cpp_long_long -// CHECK:STDOUT: %int_64.loc21_42: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc21_42: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %i64.loc21_42: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %.loc21_39.1: %i64 = as_compatible %cpp_long_long.ref.loc21 // CHECK:STDOUT: %.loc21_39.2: %i64 = converted %cpp_long_long.ref.loc21, %.loc21_39.1 -// CHECK:STDOUT: %.loc21_19: type = splice_block %i64.loc21_19 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc21_19: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc21_19: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc21_19: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %carbon_i64: %i64 = value_binding carbon_i64, %.loc21_39.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_i64_result.patt: %pattern_type.cd9 = value_binding_pattern carbon_i64_result [concrete] @@ -1188,8 +1176,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %.loc24_3: init %array_type = converted %.loc24_55.1, %.loc24_55.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc24_3 // CHECK:STDOUT: %.loc24_46: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %long_long.ref.loc24: type = name_ref long_long, constants.%Cpp.long_long [concrete = constants.%Cpp.long_long] @@ -2581,8 +2568,8 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.import_ref.e22: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4d9ef1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.6a0d28.1)] // CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.5cc = impl_witness_table (%Core.import_ref.e22), @Cpp.long_long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c78: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4d9ef1.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.6a0d28.2)] -// CHECK:STDOUT: %Core.import_ref.4604: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.609f8c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1fac0c.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.a52 = impl_witness_table (%Core.import_ref.4604), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.460: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.609f8c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1fac0c.1)] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.a52 = impl_witness_table (%Core.import_ref.460), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.fa0: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.609f8c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1fac0c.2)] // CHECK:STDOUT: %Core.import_ref.bb9: @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.85327b.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.e7c6f2.1)] // CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.223 = impl_witness_table (%Core.import_ref.bb9), @Cpp.long_long.as.BitXorAssignWith.impl [concrete] @@ -3014,8 +3001,8 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %Core.import_ref.e22: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4d9ef1.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.6a0d28.1)] // CHECK:STDOUT: %BitAndAssignWith.impl_witness_table.5cc = impl_witness_table (%Core.import_ref.e22), @Cpp.long_long.as.BitAndAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.c78: @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitAndAssignWith.impl.Op.type.4d9ef1.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitAndAssignWith.impl.%Cpp.long_long.as.BitAndAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitAndAssignWith.impl.Op.6a0d28.2)] -// CHECK:STDOUT: %Core.import_ref.4604: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.609f8c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1fac0c.1)] -// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.a52 = impl_witness_table (%Core.import_ref.4604), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] +// CHECK:STDOUT: %Core.import_ref.460: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.609f8c.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1fac0c.1)] +// CHECK:STDOUT: %BitOrAssignWith.impl_witness_table.a52 = impl_witness_table (%Core.import_ref.460), @Cpp.long_long.as.BitOrAssignWith.impl [concrete] // CHECK:STDOUT: %Core.Op.fa0: @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.1 (%Cpp.long_long.as.BitOrAssignWith.impl.Op.type.609f8c.2) = import_ref Core//prelude/types/cpp/int, Op, loaded [symbolic = @Cpp.long_long.as.BitOrAssignWith.impl.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1 (constants.%Cpp.long_long.as.BitOrAssignWith.impl.Op.1fac0c.2)] // CHECK:STDOUT: %Core.import_ref.bb9: @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.2 (%Cpp.long_long.as.BitXorAssignWith.impl.Op.type.85327b.1) = import_ref Core//prelude/types/cpp/int, loc{{\d+_\d+}}, loaded [symbolic = @Cpp.long_long.as.BitXorAssignWith.impl.%Cpp.long_long.as.BitXorAssignWith.impl.Op.2 (constants.%Cpp.long_long.as.BitXorAssignWith.impl.Op.e7c6f2.1)] // CHECK:STDOUT: %BitXorAssignWith.impl_witness_table.223 = impl_witness_table (%Core.import_ref.bb9), @Cpp.long_long.as.BitXorAssignWith.impl [concrete] @@ -3510,10 +3497,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %b.patt: %pattern_type.95b = value_binding_pattern b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc9: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %.loc9_10: type = splice_block %i64 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %impl.elem0.loc9: %.a64 = impl_witness_access constants.%ImplicitAs.impl_witness.556, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.57d] // CHECK:STDOUT: %bound_method.loc9_16.1: = bound_method %int_1.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.102] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.ImplicitAs.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -3848,10 +3832,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %carbon_u64.patt: %pattern_type.157 = value_binding_pattern carbon_u64 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_long_long.ref.loc21: %Cpp.unsigned_long_long = name_ref cpp_unsigned_long_long, %cpp_unsigned_long_long -// CHECK:STDOUT: %.loc21_19: type = splice_block %u64 [concrete = constants.%u64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %u64: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u64: type = type_literal constants.%u64 [concrete = constants.%u64] // CHECK:STDOUT: %impl.elem0.loc21: %.c93 = impl_witness_access constants.%ImplicitAs.impl_witness.905, element0 [concrete = constants.%Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.d3c] // CHECK:STDOUT: %bound_method.loc21: = bound_method %cpp_unsigned_long_long.ref.loc21, %impl.elem0.loc21 // CHECK:STDOUT: %Cpp.unsigned_long_long.as.ImplicitAs.impl.Convert.call.loc21: init %u64 = call %bound_method.loc21(%cpp_unsigned_long_long.ref.loc21) @@ -3895,8 +3876,7 @@ fn CopyUnsignedLongLong() { // CHECK:STDOUT: %.loc24_3: init %array_type = converted %.loc24_64.1, %.loc24_64.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc24_3 // CHECK:STDOUT: %.loc24_55: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %int_1.loc24: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %Cpp.ref.loc24: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %unsigned_long_long.ref.loc24: type = name_ref unsigned_long_long, constants.%Cpp.unsigned_long_long [concrete = constants.%Cpp.unsigned_long_long] diff --git a/toolchain/check/testdata/interop/cpp/class/access.carbon b/toolchain/check/testdata/interop/cpp/class/access.carbon index 50b1ff280c5a..b550e667d532 100644 --- a/toolchain/check/testdata/interop/cpp/class/access.carbon +++ b/toolchain/check/testdata/interop/cpp/class/access.carbon @@ -1645,10 +1645,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: %instance_data.ref: %S.elem = name_ref instance_data, @S.%.1 [concrete = @S.%.1] // CHECK:STDOUT: %.loc8_36.1: ref %i32 = class_element_access %s.ref, element0 // CHECK:STDOUT: %.loc8_36.2: %i32 = acquire_value %.loc8_36.1 -// CHECK:STDOUT: %.loc8_29: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %instance_data: %i32 = value_binding instance_data, %.loc8_36.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %static_data.patt: %pattern_type.7ce = value_binding_pattern static_data [concrete] @@ -1657,12 +1654,9 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: %S.ref.loc9: type = name_ref S, imports.%S.decl [concrete = constants.%S] // CHECK:STDOUT: // CHECK:STDOUT: %static_data.ref: ref %i32 = name_ref static_data, imports.%static_data.var [concrete = imports.%static_data.var] -// CHECK:STDOUT: %.loc9_27: type = splice_block %i32.loc9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } -// CHECK:STDOUT: %.loc9_38: %i32 = acquire_value %static_data.ref -// CHECK:STDOUT: %static_data: %i32 = value_binding static_data, %.loc9_38 +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc9: %i32 = acquire_value %static_data.ref +// CHECK:STDOUT: %static_data: %i32 = value_binding static_data, %.loc9 // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1693,10 +1687,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: %.loc12_36.1: ref %S = class_element_access %d.ref, element0 // CHECK:STDOUT: %.loc12_36.2: ref %S = converted %d.ref, %.loc12_36.1 // CHECK:STDOUT: %.loc12_36.3: ref %i32 = class_element_access %.loc12_36.2, element0 -// CHECK:STDOUT: %.loc12_29: type = splice_block %i32.loc12 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc12_36.4: %i32 = acquire_value %.loc12_36.3 // CHECK:STDOUT: %instance_data: %i32 = value_binding instance_data, %.loc12_36.4 // CHECK:STDOUT: name_binding_decl { @@ -1705,12 +1696,9 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: %Derived.ref.loc13: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] // CHECK:STDOUT: // CHECK:STDOUT: %static_data.ref: ref %i32 = name_ref static_data, imports.%static_data.var [concrete = imports.%static_data.var] -// CHECK:STDOUT: %.loc13_27: type = splice_block %i32.loc13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } -// CHECK:STDOUT: %.loc13_40: %i32 = acquire_value %static_data.ref -// CHECK:STDOUT: %static_data: %i32 = value_binding static_data, %.loc13_40 +// CHECK:STDOUT: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc13: %i32 = acquire_value %static_data.ref +// CHECK:STDOUT: %static_data: %i32 = value_binding static_data, %.loc13 // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: @@ -1760,10 +1748,7 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: %.loc10_41.1: ref %C = class_element_access %self.ref, element0 // CHECK:STDOUT: %.loc10_41.2: ref %C = converted %self.ref, %.loc10_41.1 // CHECK:STDOUT: %.loc10_41.3: ref %i32 = class_element_access %.loc10_41.2, element0 -// CHECK:STDOUT: %.loc10_31: type = splice_block %i32.loc10 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc10_41.4: %i32 = acquire_value %.loc10_41.3 // CHECK:STDOUT: %instance_data: %i32 = value_binding instance_data, %.loc10_41.4 // CHECK:STDOUT: name_binding_decl { @@ -1771,35 +1756,26 @@ fn Call(var instance: Cpp.PublicPrivate) { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: %static_data.ref.loc11: ref %i32 = name_ref static_data, imports.%static_data.var [concrete = imports.%static_data.var] -// CHECK:STDOUT: %.loc11_41: type = splice_block %i32.loc11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } -// CHECK:STDOUT: %.loc11_47: %i32 = acquire_value %static_data.ref.loc11 -// CHECK:STDOUT: %unqualified_static_data: %i32 = value_binding unqualified_static_data, %.loc11_47 +// CHECK:STDOUT: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc11: %i32 = acquire_value %static_data.ref.loc11 +// CHECK:STDOUT: %unqualified_static_data: %i32 = value_binding unqualified_static_data, %.loc11 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %derived_static_data.patt: %pattern_type.7ce = value_binding_pattern derived_static_data [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Derived.ref: type = name_ref Derived, file.%Derived.decl [concrete = constants.%Derived] // CHECK:STDOUT: %static_data.ref.loc12: ref %i32 = name_ref static_data, imports.%static_data.var [concrete = imports.%static_data.var] -// CHECK:STDOUT: %.loc12_37: type = splice_block %i32.loc12 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } -// CHECK:STDOUT: %.loc12_50: %i32 = acquire_value %static_data.ref.loc12 -// CHECK:STDOUT: %derived_static_data: %i32 = value_binding derived_static_data, %.loc12_50 +// CHECK:STDOUT: %i32.loc12: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc12: %i32 = acquire_value %static_data.ref.loc12 +// CHECK:STDOUT: %derived_static_data: %i32 = value_binding derived_static_data, %.loc12 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %base_static_data.patt: %pattern_type.7ce = value_binding_pattern base_static_data [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %C.ref: type = name_ref C, imports.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %static_data.ref.loc13: ref %i32 = name_ref static_data, imports.%static_data.var [concrete = imports.%static_data.var] -// CHECK:STDOUT: %.loc13_34: type = splice_block %i32.loc13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } -// CHECK:STDOUT: %.loc13_45: %i32 = acquire_value %static_data.ref.loc13 -// CHECK:STDOUT: %base_static_data: %i32 = value_binding base_static_data, %.loc13_45 +// CHECK:STDOUT: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc13: %i32 = acquire_value %static_data.ref.loc13 +// CHECK:STDOUT: %base_static_data: %i32 = value_binding base_static_data, %.loc13 // CHECK:STDOUT: // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/class/constructor.carbon b/toolchain/check/testdata/interop/cpp/class/constructor.carbon index 369af4beaed2..322efaf80bd8 100644 --- a/toolchain/check/testdata/interop/cpp/class/constructor.carbon +++ b/toolchain/check/testdata/interop/cpp/class/constructor.carbon @@ -899,8 +899,7 @@ fn F() { // CHECK:STDOUT: %c2.patt: %pattern_type.217 = value_binding_pattern c2 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_8.loc9: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc9: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc9_28.1: = bound_method %int_8.loc9, %impl.elem0.loc9 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1064,8 +1063,7 @@ fn F() { // CHECK:STDOUT: %c3.patt: %pattern_type.217 = value_binding_pattern c3 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_8.loc10: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc10: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc10_28.1: = bound_method %int_8.loc10, %impl.elem0.loc10 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc10: = specific_function %impl.elem0.loc10, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interop/cpp/class/method.carbon b/toolchain/check/testdata/interop/cpp/class/method.carbon index 4f10148f6f0a..4b92109fba33 100644 --- a/toolchain/check/testdata/interop/cpp/class/method.carbon +++ b/toolchain/check/testdata/interop/cpp/class/method.carbon @@ -383,10 +383,7 @@ fn Call(e: Cpp.ExplicitObjectParam, n: i32, a: Cpp.Another) { // CHECK:STDOUT: %bound_method.loc8: = bound_method %v.ref, %F.ref.loc8 // CHECK:STDOUT: %F__carbon_thunk.call: init %i32 = call imports.%F__carbon_thunk.decl(%v.ref) // CHECK:STDOUT: assign %a.var, %F__carbon_thunk.call -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.fe8 = ref_binding_pattern b [concrete] @@ -400,8 +397,7 @@ fn Call(e: Cpp.ExplicitObjectParam, n: i32, a: Cpp.Another) { // CHECK:STDOUT: %HasQualifiers.F.call: init %ptr.235 = call imports.%HasQualifiers.F.decl.f862ea.2(%.loc9_25) // CHECK:STDOUT: assign %b.var, %HasQualifiers.F.call // CHECK:STDOUT: %.loc9_20: type = splice_block %ptr.loc9 [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc9: type = ptr_type %i32.loc9 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %ptr.235 = ref_binding b, %b.var diff --git a/toolchain/check/testdata/interop/cpp/class/template.carbon b/toolchain/check/testdata/interop/cpp/class/template.carbon index 59df2272951d..a884033095d6 100644 --- a/toolchain/check/testdata/interop/cpp/class/template.carbon +++ b/toolchain/check/testdata/interop/cpp/class/template.carbon @@ -212,7 +212,7 @@ var y: Cpp.Xint.r#type = 0; // CHECK:STDOUT: %Cpp.ref.loc7: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %XY.ref: type = name_ref XY, imports.%X.decl.dec4cb.1 [concrete = constants.%X.32d59e.1] // CHECK:STDOUT: -// CHECK:STDOUT: %type.ref.loc7: type = name_ref r#type, %i32.2 [concrete = constants.%i32] +// CHECK:STDOUT: %type.ref.loc7: type = name_ref r#type, %i32.4 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %x.var [concrete = %x.var] // CHECK:STDOUT: name_binding_decl { @@ -224,7 +224,7 @@ var y: Cpp.Xint.r#type = 0; // CHECK:STDOUT: %Cpp.ref.loc21: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %Xint.ref: type = name_ref Xint, imports.%X.decl.dec4cb.2 [concrete = constants.%X.32d59e.2] // CHECK:STDOUT: -// CHECK:STDOUT: %type.ref.loc21: type = name_ref r#type, %i32.1 [concrete = constants.%i32] +// CHECK:STDOUT: %type.ref.loc21: type = name_ref r#type, %i32.2 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var [concrete = %y.var] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/enum/convert.carbon b/toolchain/check/testdata/interop/cpp/enum/convert.carbon index a585bc0a0d55..9397e6755761 100644 --- a/toolchain/check/testdata/interop/cpp/enum/convert.carbon +++ b/toolchain/check/testdata/interop/cpp/enum/convert.carbon @@ -144,21 +144,16 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %Enum.ref.loc8: type = name_ref Enum, imports.%Enum.decl [concrete = constants.%Enum] // CHECK:STDOUT: %a.ref.loc8: %Enum = name_ref a, imports.%int_0 [concrete = constants.%int_0.420] -// CHECK:STDOUT: %int_16.loc8_37: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc8_37: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.loc8_37: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %.loc8_34.1: %i16 = as_compatible %a.ref.loc8 [concrete = constants.%int_0.320] // CHECK:STDOUT: %.loc8_34.2: %i16 = converted %a.ref.loc8, %.loc8_34.1 [concrete = constants.%int_0.320] -// CHECK:STDOUT: %.loc8_17: type = splice_block %i16.loc8_17 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16.loc8_17: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc8_17: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16.loc8_17: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %a: %i16 = value_binding a, %.loc8_34.2 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.ebf = value_binding_pattern b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42.20e] -// CHECK:STDOUT: %int_16.loc9: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc9: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.loc9: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc9_32.1: = bound_method %int_42, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interop/cpp/function/arithmetic_types_bridged.carbon b/toolchain/check/testdata/interop/cpp/function/arithmetic_types_bridged.carbon index 322b38aec687..70dba8c2cecd 100644 --- a/toolchain/check/testdata/interop/cpp/function/arithmetic_types_bridged.carbon +++ b/toolchain/check/testdata/interop/cpp/function/arithmetic_types_bridged.carbon @@ -1129,8 +1129,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc8_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1412,8 +1411,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc8_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1502,8 +1500,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc8_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1592,8 +1589,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc8_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1682,8 +1678,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc8_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1771,8 +1766,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.c64] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %f16: type = class_type @Float, @Float(constants.%int_16) [concrete = constants.%f16.a6a] +// CHECK:STDOUT: %f16: type = type_literal constants.%f16.a6a [concrete = constants.%f16.a6a] // CHECK:STDOUT: %impl.elem0.loc8_15.1: %.9fd = impl_witness_access constants.%As.impl_witness.0d1, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.3fd] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] @@ -1860,8 +1854,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.c64] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %impl.elem0.loc8_15.1: %.49e = impl_witness_access constants.%As.impl_witness.748, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.683] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] @@ -1949,8 +1942,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.c64] -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %impl.elem0.loc8_15.1: %.293 = impl_witness_access constants.%As.impl_witness.187, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.4b9] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] @@ -2038,8 +2030,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 8e-1 [concrete = constants.%float.c64] -// CHECK:STDOUT: %int_128: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %f128: type = class_type @Float, @Float(constants.%int_128) [concrete = constants.%f128.b8c] +// CHECK:STDOUT: %f128: type = type_literal constants.%f128.b8c [concrete = constants.%f128.b8c] // CHECK:STDOUT: %impl.elem0.loc8_15.1: %.d5b = impl_witness_access constants.%As.impl_witness.738, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.3b3] // CHECK:STDOUT: %bound_method.loc8_15.1: = bound_method %float, %impl.elem0.loc8_15.1 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8_15.1: = specific_function %impl.elem0.loc8_15.1, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_128) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] @@ -2067,8 +2058,6 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: constants { // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %foo_bool.cpp_overload_set.type: type = cpp_overload_set_type @foo_bool.cpp_overload_set [concrete] // CHECK:STDOUT: %foo_bool.cpp_overload_set.value: %foo_bool.cpp_overload_set.type = cpp_overload_set_value @foo_bool.cpp_overload_set [concrete] @@ -2103,11 +2092,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr = addr_of %.loc8_37.1 // CHECK:STDOUT: %foo_bool__carbon_thunk.call: init %empty_tuple.type = call imports.%foo_bool__carbon_thunk.decl(%addr) // CHECK:STDOUT: %.loc8_37.2: init bool to %.loc8_37.1 = mark_in_place_init %foo_bool__carbon_thunk.call -// CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_17.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc8_17.3: type = converted %Bool.call, %.loc8_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc8_17: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc8_37.3: ref bool = temporary %.loc8_37.1, %.loc8_37.2 // CHECK:STDOUT: %.loc8_37.4: bool = acquire_value %.loc8_37.3 // CHECK:STDOUT: %x: bool = value_binding x, %.loc8_37.4 @@ -2158,10 +2143,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr = addr_of %.loc8_37.1 // CHECK:STDOUT: %foo_short__carbon_thunk.call: init %empty_tuple.type = call imports.%foo_short__carbon_thunk.decl(%addr) // CHECK:STDOUT: %.loc8_37.2: init %i16 to %.loc8_37.1 = mark_in_place_init %foo_short__carbon_thunk.call -// CHECK:STDOUT: %.loc8_17: type = splice_block %i16 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %.loc8_37.3: ref %i16 = temporary %.loc8_37.1, %.loc8_37.2 // CHECK:STDOUT: %.loc8_37.4: %i16 = acquire_value %.loc8_37.3 // CHECK:STDOUT: %x: %i16 = value_binding x, %.loc8_37.4 @@ -2236,10 +2218,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr = addr_of %.loc8_38.1 // CHECK:STDOUT: %foo_double__carbon_thunk.call: init %empty_tuple.type = call imports.%foo_double__carbon_thunk.decl(%addr) // CHECK:STDOUT: %.loc8_38.2: init %f64.d77 to %.loc8_38.1 = mark_in_place_init %foo_double__carbon_thunk.call -// CHECK:STDOUT: %.loc8_17: type = splice_block %f64 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc8_38.3: ref %f64.d77 = temporary %.loc8_38.1, %.loc8_38.2 // CHECK:STDOUT: %.loc8_38.4: %f64.d77 = acquire_value %.loc8_38.3 // CHECK:STDOUT: %x: %f64.d77 = value_binding x, %.loc8_38.4 diff --git a/toolchain/check/testdata/interop/cpp/function/decayed_param.carbon b/toolchain/check/testdata/interop/cpp/function/decayed_param.carbon index 49fe3fff45dd..310cabf5496e 100644 --- a/toolchain/check/testdata/interop/cpp/function/decayed_param.carbon +++ b/toolchain/check/testdata/interop/cpp/function/decayed_param.carbon @@ -198,18 +198,15 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %n.var: ref %array_type = var %n.var_patt // CHECK:STDOUT: %.loc10: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42] -// CHECK:STDOUT: %array_type: type = array_type %int_42, %i32.loc10 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_42, %i32 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %n: ref %array_type = ref_binding n, %n.var // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %TakesArray.ref.loc11: %TakesArray.cpp_overload_set.type = name_ref TakesArray, imports.%TakesArray.cpp_overload_set.value [concrete = constants.%TakesArray.cpp_overload_set.value] // CHECK:STDOUT: %n.ref: ref %array_type = name_ref n, %n // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// 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: %impl.elem0.loc11_21: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc11_21.1: = bound_method %int_0, %impl.elem0.loc11_21 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc11_21: = specific_function %impl.elem0.loc11_21, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -322,18 +319,15 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %n.var: ref %array_type = var %n.var_patt // CHECK:STDOUT: %.loc22: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %int_42: Core.IntLiteral = int_value 42 [concrete = constants.%int_42] -// CHECK:STDOUT: %array_type: type = array_type %int_42, %i32.loc22 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type: type = array_type %int_42, %i32 [concrete = constants.%array_type] // CHECK:STDOUT: } // CHECK:STDOUT: %n: ref %array_type = ref_binding n, %n.var // CHECK:STDOUT: %Cpp.ref.loc31: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %TakesFunction.ref.loc31: %TakesFunction.cpp_overload_set.type = name_ref TakesFunction, imports.%TakesFunction.cpp_overload_set.value [concrete = constants.%TakesFunction.cpp_overload_set.value] // CHECK:STDOUT: %n.ref: ref %array_type = name_ref n, %n // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// CHECK:STDOUT: %int_32.loc31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc31_24.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interop/cpp/function/default_arg.carbon b/toolchain/check/testdata/interop/cpp/function/default_arg.carbon index c44f549e443f..b30c5c530317 100644 --- a/toolchain/check/testdata/interop/cpp/function/default_arg.carbon +++ b/toolchain/check/testdata/interop/cpp/function/default_arg.carbon @@ -320,10 +320,7 @@ fn Call() { // CHECK:STDOUT: %.loc9_56.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_56 [concrete = constants.%int_4.940] // CHECK:STDOUT: %.loc9_56.2: %i32 = converted %int_4.loc9, %.loc9_56.1 [concrete = constants.%int_4.940] // CHECK:STDOUT: %GlobalReturnInt.call: init %i32 = call imports.%GlobalReturnInt.decl(%.loc9_47.2, %.loc9_50.2, %.loc9_53.2, %.loc9_56.2) -// CHECK:STDOUT: %.loc9_21: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_57.1: %i32 = value_of_initializer %GlobalReturnInt.call // CHECK:STDOUT: %.loc9_57.2: %i32 = converted %GlobalReturnInt.call, %.loc9_57.1 // CHECK:STDOUT: %value: %i32 = value_binding value, %.loc9_57.2 @@ -503,15 +500,17 @@ fn Call() { // CHECK:STDOUT: %b.param_patt: %pattern_type.7ce = value_param_pattern %b.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.4 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.2: type = splice_block %i32.1 [concrete = constants.%i32] { +// CHECK:STDOUT: %.2: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: } @@ -529,16 +528,19 @@ fn Call() { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32.3 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.6 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.3: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.6: type = type_literal %i32.5 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.2: type = splice_block %i32.2 [concrete = constants.%i32] { +// CHECK:STDOUT: %.2: type = splice_block %i32.4 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 @@ -553,21 +555,24 @@ fn Call() { // CHECK:STDOUT: %c.param_patt: %pattern_type.7ce = value_param_pattern %c.patt, call_param2 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32.3 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.6 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.3: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.6: type = type_literal %i32.5 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %b.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.2: type = splice_block %i32.2 [concrete = constants.%i32] { +// CHECK:STDOUT: %.2: type = splice_block %i32.4 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %b: %i32 = value_binding b, %b.param // CHECK:STDOUT: %c.param: %i32 = value_param call_param2 -// CHECK:STDOUT: %.3: type = splice_block %i32.1 [concrete = constants.%i32] { +// CHECK:STDOUT: %.3: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %c: %i32 = value_binding c, %c.param // CHECK:STDOUT: } @@ -582,9 +587,10 @@ fn Call() { // CHECK:STDOUT: %this.param: ref %X = ref_param call_param0 // CHECK:STDOUT: %this: ref %X = ref_binding this, %this.param // CHECK:STDOUT: %a.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -594,9 +600,10 @@ fn Call() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -610,9 +617,10 @@ fn Call() { // CHECK:STDOUT: %_.param: %ptr.1f9 = value_param call_param0 // CHECK:STDOUT: %_: %ptr.1f9 = value_binding _, %_.param // CHECK:STDOUT: %a.param: %i32 = value_param call_param1 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -687,10 +695,7 @@ fn Call() { // CHECK:STDOUT: %.loc9_50.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc9_50 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %.loc9_50.2: %i32 = converted %int_2.loc9, %.loc9_50.1 [concrete = constants.%int_2.ef8] // CHECK:STDOUT: %GlobalReturnInt__carbon_thunk.call: init %i32 = call imports.%GlobalReturnInt__carbon_thunk.decl(%.loc9_47.2, %.loc9_50.2) -// CHECK:STDOUT: %.loc9_21: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_51.1: %i32 = value_of_initializer %GlobalReturnInt__carbon_thunk.call // CHECK:STDOUT: %.loc9_51.2: %i32 = converted %GlobalReturnInt__carbon_thunk.call, %.loc9_51.1 // CHECK:STDOUT: %value: %i32 = value_binding value, %.loc9_51.2 diff --git a/toolchain/check/testdata/interop/cpp/function/full_semir.carbon b/toolchain/check/testdata/interop/cpp/function/full_semir.carbon index fc44067b7257..5772c877dfb0 100644 --- a/toolchain/check/testdata/interop/cpp/function/full_semir.carbon +++ b/toolchain/check/testdata/interop/cpp/function/full_semir.carbon @@ -141,7 +141,8 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr.251 = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr.251 [concrete = constants.%ptr.251] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.1: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.2: type = type_literal %i16.1 [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.251 = value_binding a, %a.param // CHECK:STDOUT: } @@ -169,8 +170,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc7_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_1, %impl.elem0.loc7_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7_13.1: = specific_function %impl.elem0.loc7_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -250,9 +250,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -334,7 +335,8 @@ fn F() { // CHECK:STDOUT: %return.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.1: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.2: type = type_literal %i16.1 [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %return: %ptr = value_binding r#return, %return.param // CHECK:STDOUT: } @@ -365,10 +367,7 @@ fn F() { // CHECK:STDOUT: %addr: %ptr = addr_of %.loc7_37.1 // CHECK:STDOUT: %foo_short__carbon_thunk.call: init %empty_tuple.type = call imports.%foo_short__carbon_thunk.decl(%addr) // CHECK:STDOUT: %.loc7_37.2: init %i16 to %.loc7_37.1 = mark_in_place_init %foo_short__carbon_thunk.call -// CHECK:STDOUT: %.loc7_17: type = splice_block %i16 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %.loc7_37.3: ref %i16 = temporary %.loc7_37.1, %.loc7_37.2 // CHECK:STDOUT: %.loc7_37.4: %i16 = acquire_value %.loc7_37.3 // CHECK:STDOUT: %x: %i16 = value_binding x, %.loc7_37.4 diff --git a/toolchain/check/testdata/interop/cpp/function/function.carbon b/toolchain/check/testdata/interop/cpp/function/function.carbon index ea6ae079043c..944521b08922 100644 --- a/toolchain/check/testdata/interop/cpp/function/function.carbon +++ b/toolchain/check/testdata/interop/cpp/function/function.carbon @@ -372,8 +372,7 @@ fn G() -> i32 { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -390,8 +389,7 @@ fn G() -> i32 { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %bar.ref: %bar.cpp_overload_set.type = name_ref bar, imports.%bar.cpp_overload_set.value [concrete = constants.%bar.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// 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: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc14_20.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interop/cpp/function/inline.carbon b/toolchain/check/testdata/interop/cpp/function/inline.carbon index 2d745be13925..b2ef4e2c5d5d 100644 --- a/toolchain/check/testdata/interop/cpp/function/inline.carbon +++ b/toolchain/check/testdata/interop/cpp/function/inline.carbon @@ -267,10 +267,7 @@ fn MyF() { // CHECK:STDOUT: %.loc13_41.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc13 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc13_41.2: %i32 = converted %int_1.loc13, %.loc13_41.1 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %WithoutThunk.call: init %i32 = call imports.%WithoutThunk.decl(%.loc13_41.2) -// CHECK:STDOUT: %.loc13_18: type = splice_block %i32.loc13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13_42.1: %i32 = value_of_initializer %WithoutThunk.call // CHECK:STDOUT: %.loc13_42.2: %i32 = converted %WithoutThunk.call, %.loc13_42.1 // CHECK:STDOUT: %r1: %i32 = value_binding r1, %.loc13_42.2 @@ -296,10 +293,7 @@ fn MyF() { // CHECK:STDOUT: %.loc14_39.4: ref %i16 = temporary %.loc14_39.3, %Int.as.Copy.impl.Op.call.loc14 // CHECK:STDOUT: %addr.loc14: %ptr.251 = addr_of %.loc14_39.4 // CHECK:STDOUT: %ThunkOnArg__carbon_thunk.call: init %i32 = call imports.%ThunkOnArg__carbon_thunk.decl(%addr.loc14) -// CHECK:STDOUT: %.loc14_18: type = splice_block %i32.loc14 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc14: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc14: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc14: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc14_40.1: %i32 = value_of_initializer %ThunkOnArg__carbon_thunk.call // CHECK:STDOUT: %.loc14_40.2: %i32 = converted %ThunkOnArg__carbon_thunk.call, %.loc14_40.1 // CHECK:STDOUT: %r2: %i32 = value_binding r2, %.loc14_40.2 @@ -320,10 +314,7 @@ fn MyF() { // CHECK:STDOUT: %addr.loc15: %ptr.251 = addr_of %.loc15_43.1 // CHECK:STDOUT: %ThunkOnReturn__carbon_thunk.call: init %empty_tuple.type = call imports.%ThunkOnReturn__carbon_thunk.decl(%.loc15_42.2, %addr.loc15) // CHECK:STDOUT: %.loc15_43.2: init %i16 to %.loc15_43.1 = mark_in_place_init %ThunkOnReturn__carbon_thunk.call -// CHECK:STDOUT: %.loc15_18: type = splice_block %i16.loc15 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16.loc15: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc15: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16.loc15: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %.loc15_43.3: ref %i16 = temporary %.loc15_43.1, %.loc15_43.2 // CHECK:STDOUT: %.loc15_43.4: %i16 = acquire_value %.loc15_43.3 // CHECK:STDOUT: %r3: %i16 = value_binding r3, %.loc15_43.4 @@ -352,10 +343,7 @@ fn MyF() { // CHECK:STDOUT: %addr.loc16_41.2: %ptr.251 = addr_of %.loc16_41.1 // CHECK:STDOUT: %ThunkOnBoth__carbon_thunk.call: init %empty_tuple.type = call imports.%ThunkOnBoth__carbon_thunk.decl(%addr.loc16_41.1, %addr.loc16_41.2) // CHECK:STDOUT: %.loc16_41.2: init %i16 to %.loc16_41.1 = mark_in_place_init %ThunkOnBoth__carbon_thunk.call -// CHECK:STDOUT: %.loc16_18: type = splice_block %i16.loc16 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16.loc16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16.loc16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16.loc16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %.loc16_41.3: ref %i16 = temporary %.loc16_41.1, %.loc16_41.2 // CHECK:STDOUT: %.loc16_41.4: %i16 = acquire_value %.loc16_41.3 // CHECK:STDOUT: %r4: %i16 = value_binding r4, %.loc16_41.4 diff --git a/toolchain/check/testdata/interop/cpp/function/operators.carbon b/toolchain/check/testdata/interop/cpp/function/operators.carbon index f953d5e8226c..df758ff1d8a7 100644 --- a/toolchain/check/testdata/interop/cpp/function/operators.carbon +++ b/toolchain/check/testdata/interop/cpp/function/operators.carbon @@ -1247,8 +1247,6 @@ fn F() { // CHECK:STDOUT: %cpp_operator.0a3797.19: %cpp_operator.type.1ea478.19 = struct_value () [concrete] // CHECK:STDOUT: %cpp_operator.type.1ea478.20: type = fn_type @cpp_operator.20 [concrete] // CHECK:STDOUT: %cpp_operator.0a3797.20: %cpp_operator.type.1ea478.20 = struct_value () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %operator_EqualEqual__carbon_thunk.type: type = fn_type @operator_EqualEqual__carbon_thunk [concrete] @@ -1780,11 +1778,7 @@ fn F() { // CHECK:STDOUT: %addr.loc40_31.3: %ptr.bb2 = addr_of %.loc40_31.1 // CHECK:STDOUT: %operator_EqualEqual__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_EqualEqual__carbon_thunk.decl(%addr.loc40_31.1, %addr.loc40_31.2, %addr.loc40_31.3) // CHECK:STDOUT: %.loc40_31.2: init bool to %.loc40_31.1 = mark_in_place_init %operator_EqualEqual__carbon_thunk.call -// CHECK:STDOUT: %.loc40_21.1: type = splice_block %.loc40_21.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc40: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc40_21.2: type = value_of_initializer %Bool.call.loc40 [concrete = bool] -// CHECK:STDOUT: %.loc40_21.3: type = converted %Bool.call.loc40, %.loc40_21.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc40_21: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc40_31.3: ref bool = temporary %.loc40_31.1, %.loc40_31.2 // CHECK:STDOUT: %.loc40_31.4: bool = acquire_value %.loc40_31.3 // CHECK:STDOUT: %equal: bool = value_binding equal, %.loc40_31.4 @@ -1803,11 +1797,7 @@ fn F() { // CHECK:STDOUT: %addr.loc41_35.3: %ptr.bb2 = addr_of %.loc41_35.1 // CHECK:STDOUT: %operator_ExclaimEqual__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_ExclaimEqual__carbon_thunk.decl(%addr.loc41_35.1, %addr.loc41_35.2, %addr.loc41_35.3) // CHECK:STDOUT: %.loc41_35.2: init bool to %.loc41_35.1 = mark_in_place_init %operator_ExclaimEqual__carbon_thunk.call -// CHECK:STDOUT: %.loc41_25.1: type = splice_block %.loc41_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc41: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc41_25.2: type = value_of_initializer %Bool.call.loc41 [concrete = bool] -// CHECK:STDOUT: %.loc41_25.3: type = converted %Bool.call.loc41, %.loc41_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc41_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc41_35.3: ref bool = temporary %.loc41_35.1, %.loc41_35.2 // CHECK:STDOUT: %.loc41_35.4: bool = acquire_value %.loc41_35.3 // CHECK:STDOUT: %not_equal: bool = value_binding not_equal, %.loc41_35.4 @@ -1826,11 +1816,7 @@ fn F() { // CHECK:STDOUT: %addr.loc42_38.3: %ptr.bb2 = addr_of %.loc42_38.1 // CHECK:STDOUT: %operator_Greater__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_Greater__carbon_thunk.decl(%addr.loc42_38.1, %addr.loc42_38.2, %addr.loc42_38.3) // CHECK:STDOUT: %.loc42_38.2: init bool to %.loc42_38.1 = mark_in_place_init %operator_Greater__carbon_thunk.call -// CHECK:STDOUT: %.loc42_28.1: type = splice_block %.loc42_28.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc42: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc42_28.2: type = value_of_initializer %Bool.call.loc42 [concrete = bool] -// CHECK:STDOUT: %.loc42_28.3: type = converted %Bool.call.loc42, %.loc42_28.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc42_28: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc42_38.3: ref bool = temporary %.loc42_38.1, %.loc42_38.2 // CHECK:STDOUT: %.loc42_38.4: bool = acquire_value %.loc42_38.3 // CHECK:STDOUT: %greater_than: bool = value_binding greater_than, %.loc42_38.4 @@ -1849,11 +1835,7 @@ fn F() { // CHECK:STDOUT: %addr.loc43_35.3: %ptr.bb2 = addr_of %.loc43_35.1 // CHECK:STDOUT: %operator_Less__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_Less__carbon_thunk.decl(%addr.loc43_35.1, %addr.loc43_35.2, %addr.loc43_35.3) // CHECK:STDOUT: %.loc43_35.2: init bool to %.loc43_35.1 = mark_in_place_init %operator_Less__carbon_thunk.call -// CHECK:STDOUT: %.loc43_25.1: type = splice_block %.loc43_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc43: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc43_25.2: type = value_of_initializer %Bool.call.loc43 [concrete = bool] -// CHECK:STDOUT: %.loc43_25.3: type = converted %Bool.call.loc43, %.loc43_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc43_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc43_35.3: ref bool = temporary %.loc43_35.1, %.loc43_35.2 // CHECK:STDOUT: %.loc43_35.4: bool = acquire_value %.loc43_35.3 // CHECK:STDOUT: %less_than: bool = value_binding less_than, %.loc43_35.4 @@ -1872,11 +1854,7 @@ fn F() { // CHECK:STDOUT: %addr.loc44_47.3: %ptr.bb2 = addr_of %.loc44_47.1 // CHECK:STDOUT: %operator_GreaterEqual__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_GreaterEqual__carbon_thunk.decl(%addr.loc44_47.1, %addr.loc44_47.2, %addr.loc44_47.3) // CHECK:STDOUT: %.loc44_47.2: init bool to %.loc44_47.1 = mark_in_place_init %operator_GreaterEqual__carbon_thunk.call -// CHECK:STDOUT: %.loc44_37.1: type = splice_block %.loc44_37.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc44: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc44_37.2: type = value_of_initializer %Bool.call.loc44 [concrete = bool] -// CHECK:STDOUT: %.loc44_37.3: type = converted %Bool.call.loc44, %.loc44_37.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc44_37: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc44_47.3: ref bool = temporary %.loc44_47.1, %.loc44_47.2 // CHECK:STDOUT: %.loc44_47.4: bool = acquire_value %.loc44_47.3 // CHECK:STDOUT: %greater_than_or_equal: bool = value_binding greater_than_or_equal, %.loc44_47.4 @@ -1895,11 +1873,7 @@ fn F() { // CHECK:STDOUT: %addr.loc45_44.3: %ptr.bb2 = addr_of %.loc45_44.1 // CHECK:STDOUT: %operator_LessEqual__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_LessEqual__carbon_thunk.decl(%addr.loc45_44.1, %addr.loc45_44.2, %addr.loc45_44.3) // CHECK:STDOUT: %.loc45_44.2: init bool to %.loc45_44.1 = mark_in_place_init %operator_LessEqual__carbon_thunk.call -// CHECK:STDOUT: %.loc45_34.1: type = splice_block %.loc45_34.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc45: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc45_34.2: type = value_of_initializer %Bool.call.loc45 [concrete = bool] -// CHECK:STDOUT: %.loc45_34.3: type = converted %Bool.call.loc45, %.loc45_34.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc45_34: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc45_44.3: ref bool = temporary %.loc45_44.1, %.loc45_44.2 // CHECK:STDOUT: %.loc45_44.4: bool = acquire_value %.loc45_44.3 // CHECK:STDOUT: %less_than_or_equal: bool = value_binding less_than_or_equal, %.loc45_44.4 @@ -1917,10 +1891,7 @@ fn F() { // CHECK:STDOUT: %.loc48_30.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc48 [concrete = constants.%int_42.c68] // CHECK:STDOUT: %.loc48_30.2: %i32 = converted %int_42, %.loc48_30.1 [concrete = constants.%int_42.c68] // CHECK:STDOUT: %C.cpp_operator.call: init %i32 = call %C.cpp_operator.bound(%c1.ref.loc48, %.loc48_30.2) -// CHECK:STDOUT: %.loc48_21: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc48_32.1: %i32 = value_of_initializer %C.cpp_operator.call // CHECK:STDOUT: %.loc48_32.2: %i32 = converted %C.cpp_operator.call, %.loc48_32.1 // CHECK:STDOUT: %index: %i32 = value_binding index, %.loc48_32.2 @@ -2121,8 +2092,6 @@ fn F() { // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: %C__carbon_thunk.type: type = fn_type @C__carbon_thunk [concrete] // CHECK:STDOUT: %C__carbon_thunk: %C__carbon_thunk.type = struct_value () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %operator_Greater__carbon_thunk.type: type = fn_type @operator_Greater__carbon_thunk [concrete] @@ -2212,11 +2181,7 @@ fn F() { // CHECK:STDOUT: %addr.loc19_38.3: %ptr.bb2 = addr_of %.loc19_38.1 // CHECK:STDOUT: %operator_Greater__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_Greater__carbon_thunk.decl(%addr.loc19_38.1, %addr.loc19_38.2, %addr.loc19_38.3) // CHECK:STDOUT: %.loc19_38.2: init bool to %.loc19_38.1 = mark_in_place_init %operator_Greater__carbon_thunk.call -// CHECK:STDOUT: %.loc19_28.1: type = splice_block %.loc19_28.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc19: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc19_28.2: type = value_of_initializer %Bool.call.loc19 [concrete = bool] -// CHECK:STDOUT: %.loc19_28.3: type = converted %Bool.call.loc19, %.loc19_28.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc19_28: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc19_38.3: ref bool = temporary %.loc19_38.1, %.loc19_38.2 // CHECK:STDOUT: %.loc19_38.4: bool = acquire_value %.loc19_38.3 // CHECK:STDOUT: %greater_than: bool = value_binding greater_than, %.loc19_38.4 @@ -2225,22 +2190,14 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %c1.ref.loc26: ref %C = name_ref c1, %c1 // CHECK:STDOUT: %c2.ref.loc26: ref %C = name_ref c2, %c2 -// CHECK:STDOUT: %.loc26_25.1: type = splice_block %.loc26_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc26: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc26_25.2: type = value_of_initializer %Bool.call.loc26 [concrete = bool] -// CHECK:STDOUT: %.loc26_25.3: type = converted %Bool.call.loc26, %.loc26_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc26: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %less_than: bool = value_binding less_than, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %greater_than_or_equal.patt: %pattern_type.831 = value_binding_pattern greater_than_or_equal [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %c1.ref.loc33: ref %C = name_ref c1, %c1 // CHECK:STDOUT: %c2.ref.loc33: ref %C = name_ref c2, %c2 -// CHECK:STDOUT: %.loc33_37.1: type = splice_block %.loc33_37.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc33: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc33_37.2: type = value_of_initializer %Bool.call.loc33 [concrete = bool] -// CHECK:STDOUT: %.loc33_37.3: type = converted %Bool.call.loc33, %.loc33_37.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc33: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %greater_than_or_equal: bool = value_binding greater_than_or_equal, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %less_than_or_equal.patt: %pattern_type.831 = value_binding_pattern less_than_or_equal [concrete] @@ -2257,11 +2214,7 @@ fn F() { // CHECK:STDOUT: %addr.loc36_44.3: %ptr.bb2 = addr_of %.loc36_44.1 // CHECK:STDOUT: %operator_LessEqual__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_LessEqual__carbon_thunk.decl(%addr.loc36_44.1, %addr.loc36_44.2, %addr.loc36_44.3) // CHECK:STDOUT: %.loc36_44.2: init bool to %.loc36_44.1 = mark_in_place_init %operator_LessEqual__carbon_thunk.call -// CHECK:STDOUT: %.loc36_34.1: type = splice_block %.loc36_34.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc36: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc36_34.2: type = value_of_initializer %Bool.call.loc36 [concrete = bool] -// CHECK:STDOUT: %.loc36_34.3: type = converted %Bool.call.loc36, %.loc36_34.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc36_34: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc36_44.3: ref bool = temporary %.loc36_44.1, %.loc36_44.2 // CHECK:STDOUT: %.loc36_44.4: bool = acquire_value %.loc36_44.3 // CHECK:STDOUT: %less_than_or_equal: bool = value_binding less_than_or_equal, %.loc36_44.4 @@ -2289,8 +2242,6 @@ fn F() { // CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete] // CHECK:STDOUT: %C__carbon_thunk.type: type = fn_type @C__carbon_thunk [concrete] // CHECK:STDOUT: %C__carbon_thunk: %C__carbon_thunk.type = struct_value () [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %ptr.bb2: type = ptr_type bool [concrete] // CHECK:STDOUT: %operator_EqualEqual__carbon_thunk.type: type = fn_type @operator_EqualEqual__carbon_thunk [concrete] @@ -2373,11 +2324,7 @@ fn F() { // CHECK:STDOUT: %addr.loc16_31.3: %ptr.bb2 = addr_of %.loc16_31.1 // CHECK:STDOUT: %operator_EqualEqual__carbon_thunk.call: init %empty_tuple.type = call imports.%operator_EqualEqual__carbon_thunk.decl(%addr.loc16_31.1, %addr.loc16_31.2, %addr.loc16_31.3) // CHECK:STDOUT: %.loc16_31.2: init bool to %.loc16_31.1 = mark_in_place_init %operator_EqualEqual__carbon_thunk.call -// CHECK:STDOUT: %.loc16_21.1: type = splice_block %.loc16_21.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc16_21.2: type = value_of_initializer %Bool.call.loc16 [concrete = bool] -// CHECK:STDOUT: %.loc16_21.3: type = converted %Bool.call.loc16, %.loc16_21.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16_21: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc16_31.3: ref bool = temporary %.loc16_31.1, %.loc16_31.2 // CHECK:STDOUT: %.loc16_31.4: bool = acquire_value %.loc16_31.3 // CHECK:STDOUT: %equal: bool = value_binding equal, %.loc16_31.4 @@ -2386,11 +2333,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %c1.ref.loc23: ref %C = name_ref c1, %c1 // CHECK:STDOUT: %c2.ref.loc23: ref %C = name_ref c2, %c2 -// CHECK:STDOUT: %.loc23_25.1: type = splice_block %.loc23_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc23: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc23_25.2: type = value_of_initializer %Bool.call.loc23 [concrete = bool] -// CHECK:STDOUT: %.loc23_25.3: type = converted %Bool.call.loc23, %.loc23_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc23: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %not_equal: bool = value_binding not_equal, [concrete = ] // CHECK:STDOUT: %DestroyOp.bound: = bound_method %.loc16_31.3, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%.loc16_31.3) diff --git a/toolchain/check/testdata/interop/cpp/function/overloads.carbon b/toolchain/check/testdata/interop/cpp/function/overloads.carbon index aaafa0caaf9a..bd9cf758041f 100644 --- a/toolchain/check/testdata/interop/cpp/function/overloads.carbon +++ b/toolchain/check/testdata/interop/cpp/function/overloads.carbon @@ -866,7 +866,8 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr.251 = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr.251 [concrete = constants.%ptr.251] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.1: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.2: type = type_literal %i16.1 [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.251 = value_binding a, %a.param // CHECK:STDOUT: } @@ -894,8 +895,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %bar.ref: %bar.cpp_overload_set.type = name_ref bar, imports.%bar.cpp_overload_set.value [concrete = constants.%bar.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc7_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_1, %impl.elem0.loc7_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7_13.1: = specific_function %impl.elem0.loc7_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -978,9 +978,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -1004,8 +1005,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1109,9 +1109,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -1122,7 +1123,8 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr.251 = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr.251 [concrete = constants.%ptr.251] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.1: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.2: type = type_literal %i16.1 [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.251 = value_binding a, %a.param // CHECK:STDOUT: } @@ -1150,8 +1152,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc7: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref.loc7: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc7: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_1.loc7, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.bd3] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.fab] @@ -1163,8 +1164,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref.loc8: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0.loc8_13.1: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1.loc8, %impl.elem0.loc8_13.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.896] // CHECK:STDOUT: %specific_fn.loc8_13.1: = specific_function %impl.elem0.loc8_13.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.00b] @@ -1254,9 +1254,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -1266,9 +1267,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -1292,8 +1294,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc7: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// 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: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc7: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc7_13.1: = bound_method %int_1.loc7, %impl.elem0.loc7 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1305,8 +1306,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %bar.ref: %bar.cpp_overload_set.type = name_ref bar, imports.%bar.cpp_overload_set.value [concrete = constants.%bar.cpp_overload_set.value] // CHECK:STDOUT: %int_1.loc8: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc8: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc8_13.1: = bound_method %int_1.loc8, %impl.elem0.loc8 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc8: = specific_function %impl.elem0.loc8, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -1453,10 +1453,12 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.4 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 @@ -1473,10 +1475,12 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %int_64.1: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %i64.1: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %i64.2: type = type_literal %i64.1 [concrete = constants.%i64] // CHECK:STDOUT: %a.param: %i64 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i64.2 [concrete = constants.%i64] { +// CHECK:STDOUT: %.1: type = splice_block %i64.4 [concrete = constants.%i64] { // CHECK:STDOUT: %int_64.2: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.2: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %i64.3: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %i64.4: type = type_literal %i64.3 [concrete = constants.%i64] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i64 = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref %i64 = out_param call_param1 @@ -1491,13 +1495,15 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr.974 = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr.974 [concrete = constants.%ptr.974] { // CHECK:STDOUT: %int_128.2: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %i128.2: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] +// CHECK:STDOUT: %i128.3: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] +// CHECK:STDOUT: %i128.4: type = type_literal %i128.3 [concrete = constants.%i128] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.974 = value_binding a, %a.param // CHECK:STDOUT: %return.param: %ptr.974 = value_param call_param1 // CHECK:STDOUT: %.2: type = splice_block constants.%ptr.974 [concrete = constants.%ptr.974] { // CHECK:STDOUT: %int_128.1: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] // CHECK:STDOUT: %i128.1: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] +// CHECK:STDOUT: %i128.2: type = type_literal %i128.1 [concrete = constants.%i128] // CHECK:STDOUT: } // CHECK:STDOUT: %return: %ptr.974 = value_binding r#return, %return.param // CHECK:STDOUT: } @@ -1536,10 +1542,7 @@ fn F() { // CHECK:STDOUT: %.loc8_31.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc8 [concrete = constants.%int_2147483647.a74] // CHECK:STDOUT: %.loc8_31.2: %i32 = converted %int_2147483647, %.loc8_31.1 [concrete = constants.%int_2147483647.a74] // CHECK:STDOUT: %foo.call.loc8: init %i32 = call imports.%foo.decl.bd967b.1(%.loc8_31.2) -// CHECK:STDOUT: %.loc8_17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_41.1: %i32 = value_of_initializer %foo.call.loc8 // CHECK:STDOUT: %.loc8_41.2: %i32 = converted %foo.call.loc8, %.loc8_41.1 // CHECK:STDOUT: %a: %i32 = value_binding a, %.loc8_41.2 @@ -1557,10 +1560,7 @@ fn F() { // CHECK:STDOUT: %.loc13_31.1: %i64 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc13 [concrete = constants.%int_2147483648.e1f] // CHECK:STDOUT: %.loc13_31.2: %i64 = converted %int_2147483648.loc13, %.loc13_31.1 [concrete = constants.%int_2147483648.e1f] // CHECK:STDOUT: %foo.call.loc13: init %i64 = call imports.%foo.decl.bd967b.2(%.loc13_31.2) -// CHECK:STDOUT: %.loc13_17: type = splice_block %i64.loc13 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc13: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc13: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc13: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %.loc13_41.1: %i64 = value_of_initializer %foo.call.loc13 // CHECK:STDOUT: %.loc13_41.2: %i64 = converted %foo.call.loc13, %.loc13_41.1 // CHECK:STDOUT: %b: %i64 = value_binding b, %.loc13_41.2 @@ -1578,10 +1578,7 @@ fn F() { // CHECK:STDOUT: %.loc14_36.1: %i64 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc14 [concrete = constants.%int_2147483648.e1f] // CHECK:STDOUT: %.loc14_36.2: %i64 = converted %int_2147483648.loc14, %.loc14_36.1 [concrete = constants.%int_2147483648.e1f] // CHECK:STDOUT: %foo.call.loc14: init %i64 = call imports.%foo.decl.bd967b.2(%.loc14_36.2) -// CHECK:STDOUT: %.loc14_22: type = splice_block %i64.loc14 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc14: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc14: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc14: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %.loc14_47.1: %i64 = value_of_initializer %foo.call.loc14 // CHECK:STDOUT: %.loc14_47.2: %i64 = converted %foo.call.loc14, %.loc14_47.1 // CHECK:STDOUT: %b_hexa: %i64 = value_binding b_hexa, %.loc14_47.2 @@ -1599,10 +1596,7 @@ fn F() { // CHECK:STDOUT: %.loc15_38.1: %i64 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc15 [concrete = constants.%int_2147483648.e1f] // CHECK:STDOUT: %.loc15_38.2: %i64 = converted %int_2147483648.loc15, %.loc15_38.1 [concrete = constants.%int_2147483648.e1f] // CHECK:STDOUT: %foo.call.loc15: init %i64 = call imports.%foo.decl.bd967b.2(%.loc15_38.2) -// CHECK:STDOUT: %.loc15_24: type = splice_block %i64.loc15 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc15: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc15: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc15: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %.loc15_79.1: %i64 = value_of_initializer %foo.call.loc15 // CHECK:STDOUT: %.loc15_79.2: %i64 = converted %foo.call.loc15, %.loc15_79.1 // CHECK:STDOUT: %b_binary: %i64 = value_binding b_binary, %.loc15_79.2 @@ -1620,10 +1614,7 @@ fn F() { // CHECK:STDOUT: %.loc18_31.1: %i64 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc18 [concrete = constants.%int_9223372036854775807.9c2] // CHECK:STDOUT: %.loc18_31.2: %i64 = converted %int_9223372036854775807, %.loc18_31.1 [concrete = constants.%int_9223372036854775807.9c2] // CHECK:STDOUT: %foo.call.loc18: init %i64 = call imports.%foo.decl.bd967b.2(%.loc18_31.2) -// CHECK:STDOUT: %.loc18_17: type = splice_block %i64.loc18 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc18: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc18: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc18: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %.loc18_50.1: %i64 = value_of_initializer %foo.call.loc18 // CHECK:STDOUT: %.loc18_50.2: %i64 = converted %foo.call.loc18, %.loc18_50.1 // CHECK:STDOUT: %c: %i64 = value_binding c, %.loc18_50.2 @@ -1652,10 +1643,7 @@ fn F() { // CHECK:STDOUT: %addr.loc22_51.2: %ptr.974 = addr_of %.loc22_51.1 // CHECK:STDOUT: %foo__carbon_thunk.call.loc22: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr.loc22_51.1, %addr.loc22_51.2) // CHECK:STDOUT: %.loc22_51.2: init %i128 to %.loc22_51.1 = mark_in_place_init %foo__carbon_thunk.call.loc22 -// CHECK:STDOUT: %.loc22_17: type = splice_block %i128.loc22 [concrete = constants.%i128] { -// CHECK:STDOUT: %int_128.loc22: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %i128.loc22: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i128.loc22: type = type_literal constants.%i128 [concrete = constants.%i128] // CHECK:STDOUT: %.loc22_51.3: ref %i128 = temporary %.loc22_51.1, %.loc22_51.2 // CHECK:STDOUT: %.loc22_51.4: %i128 = acquire_value %.loc22_51.3 // CHECK:STDOUT: %d: %i128 = value_binding d, %.loc22_51.4 @@ -1684,10 +1672,7 @@ fn F() { // CHECK:STDOUT: %addr.loc25_52.2: %ptr.974 = addr_of %.loc25_52.1 // CHECK:STDOUT: %foo__carbon_thunk.call.loc25: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr.loc25_52.1, %addr.loc25_52.2) // CHECK:STDOUT: %.loc25_52.2: init %i128 to %.loc25_52.1 = mark_in_place_init %foo__carbon_thunk.call.loc25 -// CHECK:STDOUT: %.loc25_17: type = splice_block %i128.loc25 [concrete = constants.%i128] { -// CHECK:STDOUT: %int_128.loc25: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %i128.loc25: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i128.loc25: type = type_literal constants.%i128 [concrete = constants.%i128] // CHECK:STDOUT: %.loc25_52.3: ref %i128 = temporary %.loc25_52.1, %.loc25_52.2 // CHECK:STDOUT: %.loc25_52.4: %i128 = acquire_value %.loc25_52.3 // CHECK:STDOUT: %e: %i128 = value_binding e, %.loc25_52.4 @@ -1716,10 +1701,7 @@ fn F() { // CHECK:STDOUT: %addr.loc28_52.2: %ptr.974 = addr_of %.loc28_52.1 // CHECK:STDOUT: %foo__carbon_thunk.call.loc28: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr.loc28_52.1, %addr.loc28_52.2) // CHECK:STDOUT: %.loc28_52.2: init %i128 to %.loc28_52.1 = mark_in_place_init %foo__carbon_thunk.call.loc28 -// CHECK:STDOUT: %.loc28_17: type = splice_block %i128.loc28 [concrete = constants.%i128] { -// CHECK:STDOUT: %int_128.loc28: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %i128.loc28: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i128.loc28: type = type_literal constants.%i128 [concrete = constants.%i128] // CHECK:STDOUT: %.loc28_52.3: ref %i128 = temporary %.loc28_52.1, %.loc28_52.2 // CHECK:STDOUT: %.loc28_52.4: %i128 = acquire_value %.loc28_52.3 // CHECK:STDOUT: %f: %i128 = value_binding f, %.loc28_52.4 @@ -1748,10 +1730,7 @@ fn F() { // CHECK:STDOUT: %addr.loc31_71.2: %ptr.974 = addr_of %.loc31_71.1 // CHECK:STDOUT: %foo__carbon_thunk.call.loc31: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr.loc31_71.1, %addr.loc31_71.2) // CHECK:STDOUT: %.loc31_71.2: init %i128 to %.loc31_71.1 = mark_in_place_init %foo__carbon_thunk.call.loc31 -// CHECK:STDOUT: %.loc31_17: type = splice_block %i128.loc31 [concrete = constants.%i128] { -// CHECK:STDOUT: %int_128.loc31: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %i128.loc31: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i128.loc31: type = type_literal constants.%i128 [concrete = constants.%i128] // CHECK:STDOUT: %.loc31_71.3: ref %i128 = temporary %.loc31_71.1, %.loc31_71.2 // CHECK:STDOUT: %.loc31_71.4: %i128 = acquire_value %.loc31_71.3 // CHECK:STDOUT: %g: %i128 = value_binding g, %.loc31_71.4 @@ -1834,10 +1813,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_170141183460469231731687303715884105728: Core.IntLiteral = int_value 170141183460469231731687303715884105728 [concrete = constants.%int_170141183460469231731687303715884105728] -// CHECK:STDOUT: %.loc17: type = splice_block %i128 [concrete = constants.%i128] { -// CHECK:STDOUT: %int_128: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %i128: type = class_type @Int, @Int(constants.%int_128) [concrete = constants.%i128] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i128: type = type_literal constants.%i128 [concrete = constants.%i128] // CHECK:STDOUT: %h: %i128 = value_binding h, [concrete = ] // CHECK:STDOUT: return // CHECK:STDOUT: } @@ -1908,9 +1884,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -2021,9 +1998,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.4a9 = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %u32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %u32 [concrete = constants.%u32] { +// CHECK:STDOUT: %.1: type = splice_block %u32.2 [concrete = constants.%u32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.1: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.2: type = type_literal %u32.1 [concrete = constants.%u32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %u32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -2144,13 +2122,15 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr.bcc = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr.bcc [concrete = constants.%ptr.bcc] { // CHECK:STDOUT: %int_64.2: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.2: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.3: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.4: type = type_literal %f64.3 [concrete = constants.%f64.d77] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.bcc = value_binding a, %a.param // CHECK:STDOUT: %return.param: %ptr.bcc = value_param call_param1 // CHECK:STDOUT: %.2: type = splice_block constants.%ptr.bcc [concrete = constants.%ptr.bcc] { // CHECK:STDOUT: %int_64.1: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %f64.1: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.2: type = type_literal %f64.1 [concrete = constants.%f64.d77] // CHECK:STDOUT: } // CHECK:STDOUT: %return: %ptr.bcc = value_binding r#return, %return.param // CHECK:STDOUT: } @@ -2203,10 +2183,7 @@ fn F() { // CHECK:STDOUT: %addr.loc7_34.2: %ptr.bcc = addr_of %.loc7_34.1 // CHECK:STDOUT: %foo__carbon_thunk.call: init %empty_tuple.type = call imports.%foo__carbon_thunk.decl(%addr.loc7_34.1, %addr.loc7_34.2) // CHECK:STDOUT: %.loc7_34.2: init %f64.d77 to %.loc7_34.1 = mark_in_place_init %foo__carbon_thunk.call -// CHECK:STDOUT: %.loc7_17: type = splice_block %f64 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc7_34.3: ref %f64.d77 = temporary %.loc7_34.1, %.loc7_34.2 // CHECK:STDOUT: %.loc7_34.4: %f64.d77 = acquire_value %.loc7_34.3 // CHECK:STDOUT: %d: %f64.d77 = value_binding d, %.loc7_34.4 @@ -2295,13 +2272,15 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr.bcc = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr.bcc [concrete = constants.%ptr.bcc] { // CHECK:STDOUT: %int_64.2: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.2: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.3: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.4: type = type_literal %f64.3 [concrete = constants.%f64.d77] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr.bcc = value_binding a, %a.param // CHECK:STDOUT: %return.param: %ptr.bcc = value_param call_param1 // CHECK:STDOUT: %.2: type = splice_block constants.%ptr.bcc [concrete = constants.%ptr.bcc] { // CHECK:STDOUT: %int_64.1: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] // CHECK:STDOUT: %f64.1: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64.2: type = type_literal %f64.1 [concrete = constants.%f64.d77] // CHECK:STDOUT: } // CHECK:STDOUT: %return: %ptr.bcc = value_binding r#return, %return.param // CHECK:STDOUT: } @@ -2611,12 +2590,9 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.8ae = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.8ae = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc6_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_39: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_39: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_48: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_48: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_30: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_39: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_48: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.c: type = struct_type {.a: %i32, .b: %i32, .c: %i32} [concrete = constants.%struct_type.a.b.c.0b6] // CHECK:STDOUT: %.loc6: Core.Form = init_form %struct_type.a.b.c, call_param0 [concrete = constants.%.386] // CHECK:STDOUT: %return.param: ref %struct_type.a.b.c.0b6 = out_param call_param0 @@ -2630,23 +2606,17 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %value.param: %struct_type.a.b.c.0b6 = value_param call_param0 // CHECK:STDOUT: %.loc8_49: type = splice_block %struct_type.a.b.c.loc8_49 [concrete = constants.%struct_type.a.b.c.0b6] { -// CHECK:STDOUT: %int_32.loc8_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc8_37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc8_46: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_46: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_28: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_37: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_46: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.c.loc8_49: type = struct_type {.a: %i32, .b: %i32, .c: %i32} [concrete = constants.%struct_type.a.b.c.0b6] // CHECK:STDOUT: } // CHECK:STDOUT: %value: %struct_type.a.b.c.0b6 = value_binding value, %value.param // CHECK:STDOUT: %reference.param: ref %struct_type.a.b.c.0b6 = ref_param call_param1 // CHECK:STDOUT: %.loc8_93: type = splice_block %struct_type.a.b.c.loc8_93 [concrete = constants.%struct_type.a.b.c.0b6] { -// CHECK:STDOUT: %int_32.loc8_72: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_72: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc8_81: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_81: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc8_90: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_90: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_72: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_81: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_90: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.c.loc8_93: type = struct_type {.a: %i32, .b: %i32, .c: %i32} [concrete = constants.%struct_type.a.b.c.0b6] // CHECK:STDOUT: } // CHECK:STDOUT: %reference: ref %struct_type.a.b.c.0b6 = ref_binding reference, %reference.param @@ -2656,12 +2626,15 @@ fn F() { // CHECK:STDOUT: class @ThreeFields.1 { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: %.1: %ThreeFields.elem = field_decl a, element0 [concrete] // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: %.2: %ThreeFields.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %int_32.3: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.6: type = type_literal %i32.5 [concrete = constants.%i32] // CHECK:STDOUT: %.3: %ThreeFields.elem = field_decl c, element2 [concrete] // CHECK:STDOUT: %.4: type = custom_layout_type {size=12, align=4, .a@0: %i32, .b@4: %i32, .c@8: %i32} [concrete = constants.%.c77] // CHECK:STDOUT: %complete_type: = complete_type_witness %.4 [concrete = constants.%complete_type.702] @@ -2956,12 +2929,9 @@ fn F() { // CHECK:STDOUT: %return.patt: %pattern_type.b5a = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.b5a = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc65_26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc65_26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc65_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc65_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc65_36: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc65_36: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc65_26: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc65_31: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc65_36: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc65_39.1: %tuple.type.ff9 = tuple_literal (%i32.loc65_26, %i32.loc65_31, %i32.loc65_36) [concrete = constants.%tuple.e64] // CHECK:STDOUT: %.loc65_39.2: type = converted %.loc65_39.1, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: %.loc65_39.3: Core.Form = init_form %.loc65_39.2, call_param0 [concrete = constants.%.594] @@ -2976,24 +2946,18 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %value.param: %tuple.type.189 = value_param call_param0 // CHECK:STDOUT: %.loc67_37.1: type = splice_block %.loc67_37.3 [concrete = constants.%tuple.type.189] { -// CHECK:STDOUT: %int_32.loc67_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc67_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc67_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc67_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc67_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc67_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc67_24: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc67_29: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc67_34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc67_37.2: %tuple.type.ff9 = tuple_literal (%i32.loc67_24, %i32.loc67_29, %i32.loc67_34) [concrete = constants.%tuple.e64] // CHECK:STDOUT: %.loc67_37.3: type = converted %.loc67_37.2, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: } // CHECK:STDOUT: %value: %tuple.type.189 = value_binding value, %value.param // CHECK:STDOUT: %reference.param: ref %tuple.type.189 = ref_param call_param1 // CHECK:STDOUT: %.loc67_69.1: type = splice_block %.loc67_69.3 [concrete = constants.%tuple.type.189] { -// CHECK:STDOUT: %int_32.loc67_56: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc67_56: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc67_61: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc67_61: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc67_66: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc67_66: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc67_56: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc67_61: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc67_66: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc67_69.2: %tuple.type.ff9 = tuple_literal (%i32.loc67_56, %i32.loc67_61, %i32.loc67_66) [concrete = constants.%tuple.e64] // CHECK:STDOUT: %.loc67_69.3: type = converted %.loc67_69.2, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: } @@ -3013,12 +2977,15 @@ fn F() { // CHECK:STDOUT: class @ThreeFields.1 { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: %.1: %ThreeFields.elem = field_decl a, element0 [concrete] // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: %.2: %ThreeFields.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %int_32.3: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.6: type = type_literal %i32.5 [concrete = constants.%i32] // CHECK:STDOUT: %.3: %ThreeFields.elem = field_decl c, element2 [concrete] // CHECK:STDOUT: %.4: type = custom_layout_type {size=12, align=4, .a@0: %i32, .b@4: %i32, .c@8: %i32} [concrete = constants.%.c77] // CHECK:STDOUT: %complete_type: = complete_type_witness %.4 [concrete = constants.%complete_type.702] @@ -3144,9 +3111,10 @@ fn F() { // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: } @@ -3223,9 +3191,10 @@ fn F() { // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: } @@ -3390,7 +3359,8 @@ fn F() { // CHECK:STDOUT: class @B { // CHECK:STDOUT: %.1: %B.elem.bad = field_decl a, element0 [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: %.2: %B.elem.c76 = field_decl n, element1 [concrete] // CHECK:STDOUT: %.3: type = custom_layout_type {size=12, align=4, .a@0: %A, .n@8: %i32} [concrete = constants.%.e7f] // CHECK:STDOUT: %complete_type: = complete_type_witness %.3 [concrete = constants.%complete_type.b39] @@ -3403,9 +3373,11 @@ fn F() { // CHECK:STDOUT: class @A { // CHECK:STDOUT: %int_32.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: %.1: %A.elem = field_decl x, element0 [concrete] // CHECK:STDOUT: %int_32.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.4: type = type_literal %i32.3 [concrete = constants.%i32] // CHECK:STDOUT: %.2: %A.elem = field_decl y, element1 [concrete] // CHECK:STDOUT: %.3: type = custom_layout_type {size=8, align=4, .x@0: %i32, .y@4: %i32} [concrete = constants.%.7b6] // CHECK:STDOUT: %complete_type: = complete_type_witness %.3 [concrete = constants.%complete_type.1e0] @@ -3494,9 +3466,10 @@ fn F() { // CHECK:STDOUT: %a.param_patt: %pattern_type.7ce = value_param_pattern %a.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.1: type = splice_block %i32 [concrete = constants.%i32] { +// CHECK:STDOUT: %.1: type = splice_block %i32.2 [concrete = constants.%i32] { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.2: type = type_literal %i32.1 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %i32 = value_binding a, %a.param // CHECK:STDOUT: } @@ -3521,8 +3494,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc18_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -3600,7 +3572,8 @@ fn F() { // CHECK:STDOUT: %a.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.1: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16.2: type = type_literal %i16.1 [concrete = constants.%i16] // CHECK:STDOUT: } // CHECK:STDOUT: %a: %ptr = value_binding a, %a.param // CHECK:STDOUT: } @@ -3625,8 +3598,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc18_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -3710,8 +3682,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %impl.elem0: %.fc7 = impl_witness_access constants.%As.impl_witness.c71, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a54] // CHECK:STDOUT: %bound_method.loc15_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -3788,8 +3759,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %impl.elem0: %.fc7 = impl_witness_access constants.%As.impl_witness.c71, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a54] // CHECK:STDOUT: %bound_method.loc19_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -3866,8 +3836,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc19_13.1: = bound_method %int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interop/cpp/function/return.carbon b/toolchain/check/testdata/interop/cpp/function/return.carbon index 73ebcddb8404..1cc9bfe64b69 100644 --- a/toolchain/check/testdata/interop/cpp/function/return.carbon +++ b/toolchain/check/testdata/interop/cpp/function/return.carbon @@ -269,7 +269,8 @@ fn Var() { // CHECK:STDOUT: %return.param: %ptr = value_param call_param0 // CHECK:STDOUT: %.1: type = splice_block constants.%ptr [concrete = constants.%ptr] { // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] +// CHECK:STDOUT: %u8.1: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] +// CHECK:STDOUT: %u8.2: type = type_literal %u8.1 [concrete = constants.%u8] // CHECK:STDOUT: } // CHECK:STDOUT: %return: %ptr = value_binding r#return, %return.param // CHECK:STDOUT: } @@ -289,8 +290,7 @@ fn Var() { // CHECK:STDOUT: %return.patt: %pattern_type.8f3 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.8f3 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] +// CHECK:STDOUT: %u8: type = type_literal constants.%u8 [concrete = constants.%u8] // CHECK:STDOUT: %.loc8_15: Core.Form = init_form %u8, call_param0 [concrete = constants.%.0c8] // CHECK:STDOUT: %return.param: ref %u8 = out_param call_param0 // CHECK:STDOUT: %return: ref %u8 = return_slot %return.param @@ -350,7 +350,8 @@ fn Var() { // CHECK:STDOUT: %return.param_patt: %pattern_type.4a9 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.1: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] +// CHECK:STDOUT: %u32.2: type = type_literal %u32.1 [concrete = constants.%u32] // CHECK:STDOUT: %return.param: ref %u32 = out_param call_param0 // CHECK:STDOUT: %return: ref %u32 = return_slot %return.param // CHECK:STDOUT: } @@ -381,10 +382,7 @@ fn Var() { // CHECK:STDOUT: %ReturnU32.ref: %ReturnU32.cpp_overload_set.type = name_ref ReturnU32, imports.%ReturnU32.cpp_overload_set.value [concrete = constants.%ReturnU32.cpp_overload_set.value] // CHECK:STDOUT: %ReturnU32.call: init %u32 = call imports.%ReturnU32.decl() // CHECK:STDOUT: assign %my_u32.var, %ReturnU32.call -// CHECK:STDOUT: %.loc9: type = splice_block %u32 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %my_u32: ref %u32 = ref_binding my_u32, %my_u32.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %my_u32.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%my_u32.var) diff --git a/toolchain/check/testdata/interop/cpp/import.carbon b/toolchain/check/testdata/interop/cpp/import.carbon index 068a8c177cfa..1d65ec897263 100644 --- a/toolchain/check/testdata/interop/cpp/import.carbon +++ b/toolchain/check/testdata/interop/cpp/import.carbon @@ -206,8 +206,7 @@ fn F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: %FooShort.ref: = name_ref FooShort, imports.%Main.FooShort [concrete = ] // CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8.b85] -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %impl.elem0: %.70c = impl_witness_access constants.%As.impl_witness.b61, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.a42] // CHECK:STDOUT: %bound_method.loc16_14.1: = bound_method %int_8, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.As.impl.Convert(constants.%int_16) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/interop/cpp/macros.carbon b/toolchain/check/testdata/interop/cpp/macros.carbon index 54be4fafe241..5c6be09504cf 100644 --- a/toolchain/check/testdata/interop/cpp/macros.carbon +++ b/toolchain/check/testdata/interop/cpp/macros.carbon @@ -897,10 +897,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CONFIG_VALUE.ref: %i32 = name_ref CONFIG_VALUE, imports.%int_42.c68 [concrete = constants.%int_42.c68] -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %CONFIG_VALUE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.95b = value_binding_pattern b [concrete] @@ -908,10 +905,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CONFIG_VALUE_LONG.ref: %i64 = name_ref CONFIG_VALUE_LONG, imports.%int_42.434 [concrete = constants.%int_42.434] -// CHECK:STDOUT: %.loc9: type = splice_block %i64.loc9 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc9: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc9: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64.loc9: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %b: %i64 = value_binding b, %CONFIG_VALUE_LONG.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.4a9 = value_binding_pattern c [concrete] @@ -919,10 +913,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CONFIG_VALUE_UNSIGNED.ref: %u32 = name_ref CONFIG_VALUE_UNSIGNED, imports.%int_42.58b [concrete = constants.%int_42.58b] -// CHECK:STDOUT: %.loc10: type = splice_block %u32.loc10 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc10: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32.loc10: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %c: %u32 = value_binding c, %CONFIG_VALUE_UNSIGNED.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = value_binding_pattern d [concrete] @@ -930,10 +921,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CONFIG_VALUE_HEXA.ref: %i32 = name_ref CONFIG_VALUE_HEXA, imports.%int_255 [concrete = constants.%int_255] -// CHECK:STDOUT: %.loc11: type = splice_block %i32.loc11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: %i32 = value_binding d, %CONFIG_VALUE_HEXA.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.7ce = value_binding_pattern e [concrete] @@ -941,10 +929,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CONFIG_VALUE_OCTAL.ref: %i32 = name_ref CONFIG_VALUE_OCTAL, imports.%int_8 [concrete = constants.%int_8] -// CHECK:STDOUT: %.loc12: type = splice_block %i32.loc12 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %e: %i32 = value_binding e, %CONFIG_VALUE_OCTAL.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.7ce = value_binding_pattern f [concrete] @@ -952,10 +937,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc13: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CONFIG_VALUE_BINARY.ref: %i32 = name_ref CONFIG_VALUE_BINARY, imports.%int_5 [concrete = constants.%int_5] -// CHECK:STDOUT: %.loc13: type = splice_block %i32.loc13 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc13: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %f: %i32 = value_binding f, %CONFIG_VALUE_BINARY.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1050,8 +1032,7 @@ fn F() { // CHECK:STDOUT: %.loc10_3: init %array_type = converted %.loc10_42.1, %.loc10_42.5 [concrete = constants.%array] // CHECK:STDOUT: assign %a.var, %.loc10_3 // CHECK:STDOUT: %.loc10_33: type = splice_block %array_type [concrete = constants.%array_type] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc10: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] +// CHECK:STDOUT: %f32.loc10: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %n.ref.loc10: %i32 = name_ref n, imports.%int_1 [concrete = constants.%int_1.5d2] @@ -1072,12 +1053,9 @@ fn F() { // CHECK:STDOUT: %X.ref: = name_ref X, imports.%X [concrete = imports.%X] // CHECK:STDOUT: // CHECK:STDOUT: %n.ref.loc12: ref %f32.97e = name_ref n, imports.%n.var [concrete = imports.%n.var] -// CHECK:STDOUT: %.loc12_17: type = splice_block %f32.loc12 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc12: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } -// CHECK:STDOUT: %.loc12_28: %f32.97e = acquire_value %n.ref.loc12 -// CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc12_28 +// CHECK:STDOUT: %f32.loc12: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] +// CHECK:STDOUT: %.loc12: %f32.97e = acquire_value %n.ref.loc12 +// CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc12 // CHECK:STDOUT: %DestroyOp.bound: = bound_method %a.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%a.var) // CHECK:STDOUT: @@ -1110,10 +1088,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %NEGATIVE.ref: %i32 = name_ref NEGATIVE, imports.%int_-1 [concrete = constants.%int_-1] -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %NEGATIVE.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1143,10 +1118,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %ADDITION.ref: %i32 = name_ref ADDITION, imports.%int_3 [concrete = constants.%int_3] -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %ADDITION.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1187,10 +1159,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CAST_UNSIGNED.ref: %u32 = name_ref CAST_UNSIGNED, imports.%int_1.c1d [concrete = constants.%int_1.c1d] -// CHECK:STDOUT: %.loc8: type = splice_block %u32.loc8 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32.loc8: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32.loc8: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %a: %u32 = value_binding a, %CAST_UNSIGNED.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete] @@ -1198,10 +1167,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CAST_STATIC.ref: %i32 = name_ref CAST_STATIC, imports.%int_100 [concrete = constants.%int_100] -// CHECK:STDOUT: %.loc9: type = splice_block %i32.loc9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %CAST_STATIC.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = value_binding_pattern c [concrete] @@ -1209,10 +1175,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CAST_FUNCTIONAL.ref: %i32 = name_ref CAST_FUNCTIONAL, imports.%int_99 [concrete = constants.%int_99] -// CHECK:STDOUT: %.loc10: type = splice_block %i32.loc10 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: %i32 = value_binding c, %CAST_FUNCTIONAL.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = value_binding_pattern d [concrete] @@ -1220,10 +1183,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %CAST_BOOL_TO_INT.ref: %i32 = name_ref CAST_BOOL_TO_INT, imports.%int_1.5d2 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc11: type = splice_block %i32.loc11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: %i32 = value_binding d, %CAST_BOOL_TO_INT.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1253,10 +1213,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %INDIRECT_ONE.ref: %i32 = name_ref INDIRECT_ONE, imports.%int_1 [concrete = constants.%int_1] -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %INDIRECT_ONE.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1312,6 +1269,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %SimpleString.ref: %str.ee0 = name_ref SimpleString, %String.val.1 [concrete = constants.%String.val.822] +// CHECK:STDOUT: %str.loc8: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %a: %str.ee0 = value_binding a, %SimpleString.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.461 = value_binding_pattern b [concrete] @@ -1319,6 +1277,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %EmptyString.ref: %str.ee0 = name_ref EmptyString, %String.val.2 [concrete = constants.%String.val.cef] +// CHECK:STDOUT: %str.loc9: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %b: %str.ee0 = value_binding b, %EmptyString.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.461 = value_binding_pattern c [concrete] @@ -1326,6 +1285,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %EscapeCharacter.ref: %str.ee0 = name_ref EscapeCharacter, %String.val.3 [concrete = constants.%String.val.446] +// CHECK:STDOUT: %str.loc10: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %c: %str.ee0 = value_binding c, %EscapeCharacter.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.461 = value_binding_pattern d [concrete] @@ -1333,6 +1293,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %Concatenated.ref: %str.ee0 = name_ref Concatenated, %String.val.4 [concrete = constants.%String.val.f11] +// CHECK:STDOUT: %str.loc11: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %d: %str.ee0 = value_binding d, %Concatenated.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.461 = value_binding_pattern e [concrete] @@ -1340,6 +1301,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %RawString.ref: %str.ee0 = name_ref RawString, %String.val.5 [concrete = constants.%String.val.a83] +// CHECK:STDOUT: %str.loc12: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %e: %str.ee0 = value_binding e, %RawString.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.461 = value_binding_pattern f [concrete] @@ -1347,6 +1309,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc13: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %Utf8String.ref: %str.ee0 = name_ref Utf8String, %String.val.6 [concrete = constants.%String.val.2c7] +// CHECK:STDOUT: %str.loc13: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %f: %str.ee0 = value_binding f, %Utf8String.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %g.patt: %pattern_type.461 = value_binding_pattern g [concrete] @@ -1354,6 +1317,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc14: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %Indirect.ref: %str.ee0 = name_ref Indirect, %String.val.7 [concrete = constants.%String.val.b8c] +// CHECK:STDOUT: %str.loc14: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %g: %str.ee0 = value_binding g, %Indirect.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1392,10 +1356,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %MyDouble.ref: %f64.d77 = name_ref MyDouble, imports.%float.d20 [concrete = constants.%float.d20] -// CHECK:STDOUT: %.loc8: type = splice_block %f64.loc8 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc8: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc8: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc8: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %a: %f64.d77 = value_binding a, %MyDouble.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.0ae = value_binding_pattern b [concrete] @@ -1403,10 +1364,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %MyDoubleE.ref: %f64.d77 = name_ref MyDoubleE, imports.%float.e0c [concrete = constants.%float.e0c] -// CHECK:STDOUT: %.loc9: type = splice_block %f64.loc9 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64.loc9: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc9: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64.loc9: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %b: %f64.d77 = value_binding b, %MyDoubleE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.201 = value_binding_pattern c [concrete] @@ -1414,10 +1372,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %MyFloat.ref: %f32.97e = name_ref MyFloat, imports.%float.e3b [concrete = constants.%float.e3b] -// CHECK:STDOUT: %.loc10: type = splice_block %f32.loc10 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32.loc10: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32.loc10: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %c: %f32.97e = value_binding c, %MyFloat.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1459,37 +1414,49 @@ fn F() { // CHECK:STDOUT: %a.patt: %pattern_type.b09 = value_binding_pattern a [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_LOWERCASE.ref: %char = name_ref M_LOWERCASE, imports.%.b69 [concrete = constants.%.b69] +// CHECK:STDOUT: %char.loc8: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %a: %char = value_binding a, %M_LOWERCASE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.b09 = value_binding_pattern b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_UPPERCASE.ref: %char = name_ref M_UPPERCASE, imports.%.13f [concrete = constants.%.13f] +// CHECK:STDOUT: %char.loc9: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %b: %char = value_binding b, %M_UPPERCASE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.b09 = value_binding_pattern c [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_DIGIT.ref: %char = name_ref M_DIGIT, imports.%.c50 [concrete = constants.%.c50] +// CHECK:STDOUT: %char.loc10: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %c: %char = value_binding c, %M_DIGIT.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.b09 = value_binding_pattern d [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_SPACE.ref: %char = name_ref M_SPACE, imports.%.e74 [concrete = constants.%.e74] +// CHECK:STDOUT: %char.loc11: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %d: %char = value_binding d, %M_SPACE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.b09 = value_binding_pattern e [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_TAB.ref: %char = name_ref M_TAB, imports.%.a7f [concrete = constants.%.a7f] +// CHECK:STDOUT: %char.loc12: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %e: %char = value_binding e, %M_TAB.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.b09 = value_binding_pattern f [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc13: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_UTF8_CHAR.ref: %char = name_ref M_UTF8_CHAR, imports.%.133 [concrete = constants.%.133] +// CHECK:STDOUT: %char.loc13: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %f: %char = value_binding f, %M_UTF8_CHAR.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1504,8 +1471,6 @@ fn F() { // CHECK:STDOUT: %i32: type = class_type @Int, @Int(%int_32) [concrete] // CHECK:STDOUT: %pattern_type.7ce: type = pattern_type %i32 [concrete] // CHECK:STDOUT: %int_98: %i32 = int_value 98 [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: } @@ -1528,7 +1493,9 @@ fn F() { // CHECK:STDOUT: %a.patt: %pattern_type.b09 = value_binding_pattern a [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: // CHECK:STDOUT: %M_CONDITIONAL.ref: %char = name_ref M_CONDITIONAL, imports.%int_97 [concrete = constants.%int_97] +// CHECK:STDOUT: %char.loc8: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %a: %char = value_binding a, %M_CONDITIONAL.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete] @@ -1536,21 +1503,14 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %M_A_PLUS_ONE.ref: %i32 = name_ref M_A_PLUS_ONE, imports.%int_98 [concrete = constants.%int_98] -// CHECK:STDOUT: %.loc9: type = splice_block %i32.loc9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %M_A_PLUS_ONE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.831 = value_binding_pattern c [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_A_EQUAL.ref: bool = name_ref M_A_EQUAL, imports.%true [concrete = constants.%true] -// CHECK:STDOUT: %.loc10_17.1: type = splice_block %.loc10_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_17.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc10_17.3: type = converted %Bool.call, %.loc10_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc10: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %c: bool = value_binding c, %M_A_EQUAL.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1558,8 +1518,6 @@ fn F() { // CHECK:STDOUT: --- import_boolean_literal_macro.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: %false: bool = bool_literal false [concrete] @@ -1605,99 +1563,63 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_TRUE.ref: bool = name_ref M_TRUE, imports.%true.d1048d.1 [concrete = constants.%true] -// CHECK:STDOUT: %.loc8_17.1: type = splice_block %.loc8_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc8: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_17.2: type = value_of_initializer %Bool.call.loc8 [concrete = bool] -// CHECK:STDOUT: %.loc8_17.3: type = converted %Bool.call.loc8, %.loc8_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc8: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %a: bool = value_binding a, %M_TRUE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.831 = value_binding_pattern b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc9: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_FALSE.ref: bool = name_ref M_FALSE, imports.%false.505718.1 [concrete = constants.%false] -// CHECK:STDOUT: %.loc9_17.1: type = splice_block %.loc9_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc9: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc9_17.2: type = value_of_initializer %Bool.call.loc9 [concrete = bool] -// CHECK:STDOUT: %.loc9_17.3: type = converted %Bool.call.loc9, %.loc9_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc9: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %M_FALSE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.831 = value_binding_pattern c [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_NOT_TRUE.ref: bool = name_ref M_NOT_TRUE, imports.%false.505718.2 [concrete = constants.%false] -// CHECK:STDOUT: %.loc10_17.1: type = splice_block %.loc10_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc10: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_17.2: type = value_of_initializer %Bool.call.loc10 [concrete = bool] -// CHECK:STDOUT: %.loc10_17.3: type = converted %Bool.call.loc10, %.loc10_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc10: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %c: bool = value_binding c, %M_NOT_TRUE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.831 = value_binding_pattern d [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc11: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_NOT_ZERO.ref: bool = name_ref M_NOT_ZERO, imports.%true.d1048d.2 [concrete = constants.%true] -// CHECK:STDOUT: %.loc11_17.1: type = splice_block %.loc11_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc11: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc11_17.2: type = value_of_initializer %Bool.call.loc11 [concrete = bool] -// CHECK:STDOUT: %.loc11_17.3: type = converted %Bool.call.loc11, %.loc11_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc11: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %d: bool = value_binding d, %M_NOT_ZERO.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.831 = value_binding_pattern e [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_ONE_EQ_ONE.ref: bool = name_ref M_ONE_EQ_ONE, imports.%true.d1048d.3 [concrete = constants.%true] -// CHECK:STDOUT: %.loc12_17.1: type = splice_block %.loc12_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc12: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc12_17.2: type = value_of_initializer %Bool.call.loc12 [concrete = bool] -// CHECK:STDOUT: %.loc12_17.3: type = converted %Bool.call.loc12, %.loc12_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc12: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %e: bool = value_binding e, %M_ONE_EQ_ONE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.831 = value_binding_pattern f [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc13: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_ONE_NEQ_ONE.ref: bool = name_ref M_ONE_NEQ_ONE, imports.%false.505718.3 [concrete = constants.%false] -// CHECK:STDOUT: %.loc13_17.1: type = splice_block %.loc13_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc13: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc13_17.2: type = value_of_initializer %Bool.call.loc13 [concrete = bool] -// CHECK:STDOUT: %.loc13_17.3: type = converted %Bool.call.loc13, %.loc13_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc13: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %f: bool = value_binding f, %M_ONE_NEQ_ONE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %g.patt: %pattern_type.831 = value_binding_pattern g [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc14: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_AND.ref: bool = name_ref M_AND, imports.%true.d1048d.4 [concrete = constants.%true] -// CHECK:STDOUT: %.loc14_17.1: type = splice_block %.loc14_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc14: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc14_17.2: type = value_of_initializer %Bool.call.loc14 [concrete = bool] -// CHECK:STDOUT: %.loc14_17.3: type = converted %Bool.call.loc14, %.loc14_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc14: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %g: bool = value_binding g, %M_AND.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %h.patt: %pattern_type.831 = value_binding_pattern h [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc15: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_OR.ref: bool = name_ref M_OR, imports.%true.d1048d.5 [concrete = constants.%true] -// CHECK:STDOUT: %.loc15_17.1: type = splice_block %.loc15_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc15: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_17.2: type = value_of_initializer %Bool.call.loc15 [concrete = bool] -// CHECK:STDOUT: %.loc15_17.3: type = converted %Bool.call.loc15, %.loc15_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %h: bool = value_binding h, %M_OR.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.831 = value_binding_pattern i [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Cpp.ref.loc16: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: %M_COMPLEX.ref: bool = name_ref M_COMPLEX, imports.%true.d1048d.6 [concrete = constants.%true] -// CHECK:STDOUT: %.loc16_17.1: type = splice_block %.loc16_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc16_17.2: type = value_of_initializer %Bool.call.loc16 [concrete = bool] -// CHECK:STDOUT: %.loc16_17.3: type = converted %Bool.call.loc16, %.loc16_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %i: bool = value_binding i, %M_COMPLEX.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %j.patt: %pattern_type.7ce = value_binding_pattern j [concrete] @@ -1705,10 +1627,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc18: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %M_ONE.ref: %i32 = name_ref M_ONE, imports.%int_1 [concrete = constants.%int_1] -// CHECK:STDOUT: %.loc18: type = splice_block %i32.loc18 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %j: %i32 = value_binding j, %M_ONE.ref // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %k.patt: %pattern_type.7ce = value_binding_pattern k [concrete] @@ -1716,10 +1635,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref.loc19: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %M_ZERO.ref: %i32 = name_ref M_ZERO, imports.%int_0 [concrete = constants.%int_0] -// CHECK:STDOUT: %.loc19: type = splice_block %i32.loc19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %k: %i32 = value_binding k, %M_ZERO.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1878,10 +1794,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %M_CONSTEXPR_INT.ref: %const = name_ref M_CONSTEXPR_INT, imports.%int_1 [concrete = constants.%int_1.22e] -// CHECK:STDOUT: %.loc11_17: type = splice_block %i32.loc11 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11_26.1: %i32 = as_compatible %M_CONSTEXPR_INT.ref [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc11_26.2: %i32 = converted %M_CONSTEXPR_INT.ref, %.loc11_26.1 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %a: %i32 = value_binding a, %.loc11_26.2 @@ -1913,10 +1826,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %MyIntLambda.ref: %i32 = name_ref MyIntLambda, imports.%int_7 [concrete = constants.%int_7] -// CHECK:STDOUT: %.loc10: type = splice_block %i32.loc10 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc10: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc10: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %i: %i32 = value_binding i, %MyIntLambda.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1946,10 +1856,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %REDEF_NAME.ref: %i32 = name_ref REDEF_NAME, imports.%int_2 [concrete = constants.%int_2] -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %REDEF_NAME.ref // CHECK:STDOUT: // CHECK:STDOUT: } @@ -1979,10 +1886,7 @@ fn F() { // CHECK:STDOUT: %Cpp.ref: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: // CHECK:STDOUT: %TWICE_DEF.ref: %i32 = name_ref TWICE_DEF, imports.%int_2 [concrete = constants.%int_2] -// CHECK:STDOUT: %.loc17: type = splice_block %i32.loc17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, %TWICE_DEF.ref // CHECK:STDOUT: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon index a505f9694e6a..606f50b59dee 100644 --- a/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon +++ b/toolchain/check/testdata/interop/cpp/stdlib/initializer_list.carbon @@ -198,7 +198,7 @@ fn F() { // CHECK:STDOUT: %.loc8_50.1: %tuple.type = tuple_literal (%int_1.loc8_43, %int_2.loc8_46, %int_3.loc8_49) [concrete = constants.%tuple] // CHECK:STDOUT: // CHECK:STDOUT: %int_3.loc8_50: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc8: type = array_type %int_3.loc8_50, %i32.1 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc8: type = array_type %int_3.loc8_50, %i32.2 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc8_50.2: ref %initializer_list = temporary_storage // CHECK:STDOUT: %impl.elem0.loc8_50.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc8_50.1: = bound_method %int_1.loc8_43, %impl.elem0.loc8_50.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] @@ -245,7 +245,7 @@ fn F() { // CHECK:STDOUT: %.loc10_23.1: %tuple.type = tuple_literal (%int_1.loc10_16, %int_2.loc10_19, %int_3.loc10_22) [concrete = constants.%tuple] // CHECK:STDOUT: // CHECK:STDOUT: %int_3.loc10_23: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc10: type = array_type %int_3.loc10_23, %i32.2 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc10: type = array_type %int_3.loc10_23, %i32.4 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc10_23.2: ref %initializer_list = temporary_storage // CHECK:STDOUT: %impl.elem0.loc10_23.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc10_23.1: = bound_method %int_1.loc10_16, %impl.elem0.loc10_23.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] @@ -300,7 +300,7 @@ fn F() { // CHECK:STDOUT: %.loc12_44.2: ref %InitListConstructor = temporary_storage // CHECK:STDOUT: // CHECK:STDOUT: %int_3.loc12_44: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba] -// CHECK:STDOUT: %array_type.loc12: type = array_type %int_3.loc12_44, %i32.3 [concrete = constants.%array_type] +// CHECK:STDOUT: %array_type.loc12: type = array_type %int_3.loc12_44, %i32.6 [concrete = constants.%array_type] // CHECK:STDOUT: %.loc12_44.3: ref %initializer_list = temporary_storage // CHECK:STDOUT: %impl.elem0.loc12_44.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc12_44.1: = bound_method %int_1.loc12_37, %impl.elem0.loc12_44.1 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] diff --git a/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon b/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon index 60267d43f4f6..e7ff767e3236 100644 --- a/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon +++ b/toolchain/check/testdata/interop/cpp/stdlib/string_view.carbon @@ -128,7 +128,8 @@ fn StarstWith(a: str, b: str) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.461 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.461 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc13_11.2: Core.Form = init_form constants.%str.ee0, call_param0 [concrete = constants.%.2ff] +// CHECK:STDOUT: %str: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] +// CHECK:STDOUT: %.loc13_11.2: Core.Form = init_form %str, call_param0 [concrete = constants.%.2ff] // CHECK:STDOUT: %return.param: ref %str.ee0 = out_param call_param0 // CHECK:STDOUT: %return: ref %str.ee0 = return_slot %return.param // CHECK:STDOUT: } @@ -164,8 +165,6 @@ fn StarstWith(a: str, b: str) -> bool { // CHECK:STDOUT: %str: type = class_type @String [concrete] // CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] // CHECK:STDOUT: %pattern_type.461: type = pattern_type %str [concrete] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %.d29: Core.Form = init_form bool, call_param2 [concrete] // CHECK:STDOUT: %pattern_type.831: type = pattern_type bool [concrete] // CHECK:STDOUT: %StarstWith.type: type = fn_type @StarstWith [concrete] @@ -202,13 +201,13 @@ fn StarstWith(a: str, b: str) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc7_34.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc7_34.2: type = converted %Bool.call, %.loc7_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc7_34.3: Core.Form = init_form %.loc7_34.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc7_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc7_34.2: Core.Form = init_form %.loc7_34.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %str = value_param call_param0 +// CHECK:STDOUT: %str.loc7_18: type = type_literal constants.%str [concrete = constants.%str] // CHECK:STDOUT: %a: %str = value_binding a, %a.param // CHECK:STDOUT: %b.param: %str = value_param call_param1 +// CHECK:STDOUT: %str.loc7_26: type = type_literal constants.%str [concrete = constants.%str] // CHECK:STDOUT: %b: %str = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param2 // CHECK:STDOUT: %return: ref bool = return_slot %return.param diff --git a/toolchain/check/testdata/interop/cpp/template/type_param.carbon b/toolchain/check/testdata/interop/cpp/template/type_param.carbon index 88e225ff6a63..48e831299adf 100644 --- a/toolchain/check/testdata/interop/cpp/template/type_param.carbon +++ b/toolchain/check/testdata/interop/cpp/template/type_param.carbon @@ -2,7 +2,7 @@ // Exceptions. See /LICENSE for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // -// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/convert.carbon +// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/primitives.carbon // // AUTOUPDATE // TIP: To test this file alone, run: @@ -27,6 +27,16 @@ import Cpp library "templates.h"; var x: Cpp.TwoTypes(Cpp.A, Cpp.B); //@dump-sem-ir-end +// --- char.carbon + +library "[[@TEST_NAME]]"; + +import Cpp library "templates.h"; + +//@dump-sem-ir-begin +var x: Cpp.TwoTypes(char, char); +//@dump-sem-ir-end + // --- fail_non_type_argument.carbon library "[[@TEST_NAME]]"; @@ -70,3 +80,19 @@ var x: Cpp.TwoTypes(Cpp.A, {}); // CHECK:STDOUT: %x: ref %TwoTypes = ref_binding x, %x.var [concrete = %x.var] // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: --- char.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %TwoTypes: type = class_type @TwoTypes [concrete] +// CHECK:STDOUT: %pattern_type.2da: type = pattern_type %TwoTypes [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: file { +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %x.patt: %pattern_type.2da = ref_binding_pattern x [concrete] +// CHECK:STDOUT: %x.var_patt: %pattern_type.2da = var_pattern %x.patt [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %x.var: ref %TwoTypes = var %x.var_patt [concrete] +// CHECK:STDOUT: %x: ref %TwoTypes = ref_binding x, %x.var [concrete = %x.var] +// CHECK:STDOUT: } +// CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/typedef.carbon b/toolchain/check/testdata/interop/cpp/typedef.carbon index 599757e27eef..1089e15b0705 100644 --- a/toolchain/check/testdata/interop/cpp/typedef.carbon +++ b/toolchain/check/testdata/interop/cpp/typedef.carbon @@ -92,8 +92,8 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { -// CHECK:STDOUT: .foo = @F.%i32.2 -// CHECK:STDOUT: .bar = @F.%i32.1 +// CHECK:STDOUT: .foo = @F.%i32.4 +// CHECK:STDOUT: .bar = @F.%i32.2 // CHECK:STDOUT: import Cpp//... // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.42d: @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert.type (%Core.IntLiteral.as.ImplicitAs.impl.Convert.type.4e6) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.ImplicitAs.impl.%Core.IntLiteral.as.ImplicitAs.impl.Convert (constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.3c2)] @@ -120,7 +120,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %.loc8_13: type = splice_block %foo.ref [concrete = constants.%i32] { // CHECK:STDOUT: %Cpp.ref.loc8: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %foo.ref: type = name_ref foo, %i32.2 [concrete = constants.%i32] +// CHECK:STDOUT: %foo.ref: type = name_ref foo, %i32.4 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %n: ref %i32 = ref_binding n, %n.var // CHECK:STDOUT: name_binding_decl { @@ -139,7 +139,7 @@ fn H(var c: Cpp.C, var d: Cpp.D) { // CHECK:STDOUT: %.loc10: type = splice_block %ptr [concrete = constants.%ptr.235] { // CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] // CHECK:STDOUT: -// CHECK:STDOUT: %bar.ref: type = name_ref bar, %i32.1 [concrete = constants.%i32] +// CHECK:STDOUT: %bar.ref: type = name_ref bar, %i32.2 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %bar.ref [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr.235 = ref_binding p, %p.var diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index b68cffb2946c..511ff1f29993 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -534,8 +534,7 @@ impl i32 as Empty { // CHECK:STDOUT: !with Self: // CHECK:STDOUT: %T: type = assoc_const_decl @T [concrete] { // CHECK:STDOUT: %assoc0: %I.assoc_type = assoc_entity element0, @I.%T [concrete = constants.%assoc0] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %I.WithSelf.F.decl: @I.%I.WithSelf.F.type (%I.WithSelf.F.type) = fn_decl @I.WithSelf.F [symbolic = @I.%I.WithSelf.F (constants.%I.WithSelf.F)] { // CHECK:STDOUT: %return.patt: @I.WithSelf.F.%pattern_type (%pattern_type.92d) = return_slot_pattern [concrete] @@ -617,9 +616,11 @@ impl i32 as Empty { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc9_11.1: type = splice_block %.loc9_11.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_11.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: type = value_binding T, %i32 // CHECK:STDOUT: %I.F.decl: %I.F.type = fn_decl @I.F [concrete = constants.%I.F] {} { // CHECK:STDOUT: %T.ref: type = name_ref T, @I.%T @@ -668,7 +669,10 @@ impl i32 as Empty { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_9.1: type = splice_block %.loc8_9.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_9.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: type = value_binding T, @__global_init.%i32 // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} { // CHECK:STDOUT: %T.ref: type = name_ref T, file.%T @@ -679,8 +683,7 @@ impl i32 as Empty { // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -738,8 +741,7 @@ impl i32 as Empty { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %Empty.decl: type = interface_decl @Empty [concrete = constants.%Empty.type] {} {} // CHECK:STDOUT: impl_decl @i32.as.Empty.impl [concrete] {} { -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Empty.ref: type = name_ref Empty, file.%Empty.decl [concrete = constants.%Empty.type] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -762,8 +764,7 @@ impl i32 as Empty { // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] // CHECK:STDOUT: %.loc11_14: type = splice_block %i32.loc11 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// 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: %i32.loc11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc11_20.1: = bound_method %int_0, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] diff --git a/toolchain/check/testdata/let/convert.carbon b/toolchain/check/testdata/let/convert.carbon index 62547e00c566..966ac3813607 100644 --- a/toolchain/check/testdata/let/convert.carbon +++ b/toolchain/check/testdata/let/convert.carbon @@ -63,12 +63,9 @@ fn G() { // CHECK:STDOUT: } // CHECK:STDOUT: %v.ref: ref %tuple.type.189 = name_ref v, %v // CHECK:STDOUT: %.loc8_24.1: type = splice_block %.loc8_24.3 [concrete = constants.%tuple.type.189] { -// CHECK:STDOUT: %int_32.loc8_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc8_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc8_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_11: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_16: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc8_21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc8_24.2: %tuple.type.ff9 = tuple_literal (%i32.loc8_11, %i32.loc8_16, %i32.loc8_21) [concrete = constants.%tuple.e64] // CHECK:STDOUT: %.loc8_24.3: type = converted %.loc8_24.2, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/fail_duplicate_decl.carbon b/toolchain/check/testdata/let/fail_duplicate_decl.carbon index a0f42f61c4dc..7f44c6e712fb 100644 --- a/toolchain/check/testdata/let/fail_duplicate_decl.carbon +++ b/toolchain/check/testdata/let/fail_duplicate_decl.carbon @@ -85,10 +85,7 @@ fn F() { // CHECK:STDOUT: %a.patt.loc16: %pattern_type.7ce = value_binding_pattern a [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %.loc16_17: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc16_23.1: = bound_method %int_1, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -101,10 +98,7 @@ fn F() { // CHECK:STDOUT: %a.patt.loc24: %pattern_type.7ce = value_binding_pattern a [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_2: Core.IntLiteral = int_value 2 [concrete = constants.%int_2.ecc] -// CHECK:STDOUT: %.loc24_17: type = splice_block %i32.loc24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc24: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc24_23.1: = bound_method %int_2, %impl.elem0.loc24 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.4e5] // CHECK:STDOUT: %specific_fn.loc24: = specific_function %impl.elem0.loc24, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/let/fail_generic_import.carbon b/toolchain/check/testdata/let/fail_generic_import.carbon index 0fbb483bdbaa..c45621b3a8fd 100644 --- a/toolchain/check/testdata/let/fail_generic_import.carbon +++ b/toolchain/check/testdata/let/fail_generic_import.carbon @@ -63,14 +63,16 @@ let a: T = 0; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_9.1: type = splice_block %.loc8_9.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_9.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: type = value_binding T, @__global_init.%i32 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/let/fail_modifiers.carbon b/toolchain/check/testdata/let/fail_modifiers.carbon index cdc43b9d389b..762b752f9da0 100644 --- a/toolchain/check/testdata/let/fail_modifiers.carbon +++ b/toolchain/check/testdata/let/fail_modifiers.carbon @@ -144,10 +144,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc19_18: type = splice_block %i32.loc19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc19: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc19_24.1: = bound_method @__global_init.%int_1.loc19, %impl.elem0.loc19 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc19: = specific_function %impl.elem0.loc19, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -159,10 +156,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = value_binding_pattern c [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc25_16: type = splice_block %i32.loc25 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc25: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc25_22.1: = bound_method @__global_init.%int_1.loc25, %impl.elem0.loc25 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -174,10 +168,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = value_binding_pattern d [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc31_14: type = splice_block %i32.loc31 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc31: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc31_20.1: = bound_method @__global_init.%int_1.loc31, %impl.elem0.loc31 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc31: = specific_function %impl.elem0.loc31, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -189,10 +180,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %e.patt: %pattern_type.7ce = value_binding_pattern e [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc37_16: type = splice_block %i32.loc37 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc37: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc37: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc37_22.1: = bound_method @__global_init.%int_1.loc37, %impl.elem0.loc37 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc37: = specific_function %impl.elem0.loc37, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -204,10 +192,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %f.patt: %pattern_type.7ce = value_binding_pattern f [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc50_22: type = splice_block %i32.loc50 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc50: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc50: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc50: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc50: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc50_28.1: = bound_method @__global_init.%int_1.loc50, %impl.elem0.loc50 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc50: = specific_function %impl.elem0.loc50, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -219,10 +204,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %g.patt: %pattern_type.7ce = value_binding_pattern g [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc63_24: type = splice_block %i32.loc63 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc63: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc63: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc63: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc63: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc63_30.1: = bound_method @__global_init.%int_1.loc63, %impl.elem0.loc63 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc63: = specific_function %impl.elem0.loc63, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -234,10 +216,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %h.patt: %pattern_type.7ce = value_binding_pattern h [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc76_26: type = splice_block %i32.loc76 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc76: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc76: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc76: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc76: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc76_32.1: = bound_method @__global_init.%int_1.loc76, %impl.elem0.loc76 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc76: = specific_function %impl.elem0.loc76, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -249,10 +228,7 @@ protected protected let i: i32 = 1; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %i.patt: %pattern_type.7ce = value_binding_pattern i [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc89_28: type = splice_block %i32.loc89 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc89: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc89: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc89: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc89: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc89_34.1: = bound_method @__global_init.%int_1.loc89, %impl.elem0.loc89 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc89: = specific_function %impl.elem0.loc89, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/let/fail_use_in_init.carbon b/toolchain/check/testdata/let/fail_use_in_init.carbon index 45bfc173f31c..adc379b7072f 100644 --- a/toolchain/check/testdata/let/fail_use_in_init.carbon +++ b/toolchain/check/testdata/let/fail_use_in_init.carbon @@ -63,10 +63,7 @@ fn F() { // CHECK:STDOUT: %a.patt: %pattern_type.7ce = value_binding_pattern a [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: = name_ref a, [concrete = ] -// CHECK:STDOUT: %.loc27: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: %i32 = value_binding a, [concrete = ] // CHECK:STDOUT: return // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/generic_import.carbon b/toolchain/check/testdata/let/generic_import.carbon index d4efe4e24ed7..6a53503cf505 100644 --- a/toolchain/check/testdata/let/generic_import.carbon +++ b/toolchain/check/testdata/let/generic_import.carbon @@ -67,14 +67,16 @@ var b: T = *a; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %T.patt: %pattern_type.98f = value_binding_pattern T [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_9.1: type = splice_block %.loc8_9.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_9.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: type = value_binding T, @__global_init.%i32 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/let/global.carbon b/toolchain/check/testdata/let/global.carbon index 0434295d8ef5..2ff7030ae609 100644 --- a/toolchain/check/testdata/let/global.carbon +++ b/toolchain/check/testdata/let/global.carbon @@ -84,10 +84,7 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = value_binding_pattern n [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc15_8: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc15_14.1: = bound_method @__global_init.%int_1, %impl.elem0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -100,8 +97,7 @@ fn F() -> i32 { return n; } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/let/local.carbon b/toolchain/check/testdata/let/local.carbon index 79639f39a3a8..466d41b0d743 100644 --- a/toolchain/check/testdata/let/local.carbon +++ b/toolchain/check/testdata/let/local.carbon @@ -68,10 +68,7 @@ fn CallF() { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = value_binding_pattern b [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.ref: %i32 = name_ref a, %a -// CHECK:STDOUT: %.loc5: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: %i32 = value_binding b, %a.ref // CHECK:STDOUT: %b.ref: %i32 = name_ref b, %b // CHECK:STDOUT: %impl.elem0: %.8e2 = impl_witness_access constants.%Copy.impl_witness.f17, element0 [concrete = constants.%Int.as.Copy.impl.Op.664] diff --git a/toolchain/check/testdata/let/ref.carbon b/toolchain/check/testdata/let/ref.carbon index 881f3b53cc06..bd697ec7009c 100644 --- a/toolchain/check/testdata/let/ref.carbon +++ b/toolchain/check/testdata/let/ref.carbon @@ -65,10 +65,7 @@ fn F() { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = ref_binding_pattern c [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.ref.loc7: ref %i32 = name_ref b, %b -// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: ref %i32 = ref_binding c, %b.ref.loc7 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = ref_binding_pattern d [concrete] @@ -78,15 +75,9 @@ fn F() { // CHECK:STDOUT: %b.ref.loc8: ref %i32 = name_ref b, %b // CHECK:STDOUT: %c.ref: ref %i32 = name_ref c, %c // CHECK:STDOUT: %.loc8_53: %tuple.type.d07 = tuple_literal (%b.ref.loc8, %c.ref) -// CHECK:STDOUT: %.loc8_22: type = splice_block %i32.loc8_22 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: ref %i32 = ref_binding d, %b.ref.loc8 -// CHECK:STDOUT: %.loc8_41: type = splice_block %i32.loc8_41 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8_41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %e: ref %i32 = ref_binding e, %c.ref // CHECK:STDOUT: // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/let/shadowed_decl.carbon b/toolchain/check/testdata/let/shadowed_decl.carbon index ba6ed9bb7624..8eb9d221529c 100644 --- a/toolchain/check/testdata/let/shadowed_decl.carbon +++ b/toolchain/check/testdata/let/shadowed_decl.carbon @@ -88,14 +88,10 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %.loc15_24: Core.Form = init_form %i32.loc15_24, call_param1 [concrete = constants.%.e54] +// CHECK:STDOUT: %i32.loc15_24: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15_24, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %a.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_16: type = splice_block %i32.loc15_16 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc15_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a.loc15: %i32 = value_binding a, %a.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -108,10 +104,7 @@ fn F(unused a: i32) -> i32 { // CHECK:STDOUT: %a.patt.loc16: %pattern_type.7ce = value_binding_pattern a [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc16: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc16_16.1: = bound_method %int_1, %impl.elem0.loc16 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/main_run/no_return.carbon b/toolchain/check/testdata/main_run/no_return.carbon index b0863b201a82..1c800b708a76 100644 --- a/toolchain/check/testdata/main_run/no_return.carbon +++ b/toolchain/check/testdata/main_run/no_return.carbon @@ -88,21 +88,15 @@ fn Run(unused argc: i32, unused argv: i32*) {} // CHECK:STDOUT: %argv.param_patt: %pattern_type.fe8 = value_param_pattern %argv.patt, call_param1 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %argc.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc5_21: type = splice_block %i32.loc5_21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5_21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %argc: %i32 = value_binding argc, %argc.param // CHECK:STDOUT: %argv.param: %ptr = value_param call_param1 -// CHECK:STDOUT: %.loc5_42: type = splice_block %ptr [concrete = constants.%ptr] { -// CHECK:STDOUT: %int_32.loc5_39: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_39: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %.loc5: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %i32.loc5_39: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc5_39 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %argv: %ptr = value_binding argv, %argv.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Run(%argc.param: %i32, %argv.param: %ptr) { diff --git a/toolchain/check/testdata/main_run/return_i32.carbon b/toolchain/check/testdata/main_run/return_i32.carbon index 5ae85b3a3faf..d18bb2d536bc 100644 --- a/toolchain/check/testdata/main_run/return_i32.carbon +++ b/toolchain/check/testdata/main_run/return_i32.carbon @@ -77,14 +77,11 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_13: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Run() -> out %return.param: %i32 { @@ -158,29 +155,20 @@ fn Run(unused argc: i32, unused argv: i32*) -> i32 { return 0; } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc5_48: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_48: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_48: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_48: Core.Form = init_form %i32.loc5_48, call_param2 [concrete = constants.%.8ef] // CHECK:STDOUT: %argc.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc5_21: type = splice_block %i32.loc5_21 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5_21: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_21: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5_21: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %argc: %i32 = value_binding argc, %argc.param // CHECK:STDOUT: %argv.param: %ptr = value_param call_param1 // CHECK:STDOUT: %.loc5_42: type = splice_block %ptr [concrete = constants.%ptr] { -// CHECK:STDOUT: %int_32.loc5_39: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_39: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_39: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc5_39 [concrete = constants.%ptr] // CHECK:STDOUT: } // CHECK:STDOUT: %argv: %ptr = value_binding argv, %argv.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param2 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param // CHECK:STDOUT: } -// CHECK:STDOUT: %int_32.loc5_52.1: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_52.1: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc5_52.2: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_52.2: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @Run(%argc.param: %i32, %argv.param: %ptr) -> out %return.param: %i32 { diff --git a/toolchain/check/testdata/named_constraint/empty.carbon b/toolchain/check/testdata/named_constraint/empty.carbon index ca3916394ce3..c4b07b563ed0 100644 --- a/toolchain/check/testdata/named_constraint/empty.carbon +++ b/toolchain/check/testdata/named_constraint/empty.carbon @@ -82,7 +82,10 @@ fn G(T:! Z, U:! type, V:! Empty) { // CHECK:STDOUT: %Z.ref: type = name_ref Z, file.%Z.decl [concrete = constants.%Z.type] // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc25_6.2: %Z.type = symbolic_binding T, 0 [symbolic = %T.loc25_6.1 (constants.%T.ea3)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc25_17.1: type = splice_block %.loc25_17.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc25_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %U.loc25_13.2: type = symbolic_binding U, 1 [symbolic = %U.loc25_13.1 (constants.%U)] // CHECK:STDOUT: %.loc25_27: type = splice_block %Empty.ref [concrete = constants.%Empty.type] { // CHECK:STDOUT: @@ -125,8 +128,9 @@ fn G(T:! Z, U:! type, V:! Empty) { // CHECK:STDOUT: %F.specific_fn.loc26: = specific_function %F.ref.loc26, @F(constants.%Empty.facet.76f) [concrete = constants.%F.specific_fn.da7] // CHECK:STDOUT: %F.call.loc26: init %empty_tuple.type = call %F.specific_fn.loc26() // CHECK:STDOUT: %F.ref.loc27: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] -// CHECK:STDOUT: %Empty.facet.loc27: %Empty.type = facet_value type, () [concrete = constants.%Empty.facet.2cb] -// CHECK:STDOUT: %.loc27: %Empty.type = converted type, %Empty.facet.loc27 [concrete = constants.%Empty.facet.2cb] +// CHECK:STDOUT: %.loc27_5: type = type_literal type [concrete = type] +// CHECK:STDOUT: %Empty.facet.loc27: %Empty.type = facet_value %.loc27_5, () [concrete = constants.%Empty.facet.2cb] +// CHECK:STDOUT: %.loc27_9: %Empty.type = converted %.loc27_5, %Empty.facet.loc27 [concrete = constants.%Empty.facet.2cb] // CHECK:STDOUT: %F.specific_fn.loc27: = specific_function %F.ref.loc27, @F(constants.%Empty.facet.2cb) [concrete = constants.%F.specific_fn.9dd] // CHECK:STDOUT: %F.call.loc27: init %empty_tuple.type = call %F.specific_fn.loc27() // CHECK:STDOUT: %F.ref.loc28: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] diff --git a/toolchain/check/testdata/named_constraint/empty_generic.carbon b/toolchain/check/testdata/named_constraint/empty_generic.carbon index 2ddca06c82ad..1ad0bf37e041 100644 --- a/toolchain/check/testdata/named_constraint/empty_generic.carbon +++ b/toolchain/check/testdata/named_constraint/empty_generic.carbon @@ -72,16 +72,22 @@ fn G(T:! Z, U:! Empty(T), V:! type) { // CHECK:STDOUT: %Empty.decl: %Empty.type.19a = constraint_decl @Empty [concrete = constants.%empty_struct.019] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc16_22.1: type = splice_block %.loc16_22.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc16_22.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc16_18.2: type = symbolic_binding T, 0 [symbolic = %T.loc16_18.1 (constants.%T.67d)] // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %U.patt: @F.%pattern_type (%pattern_type.9a587c.1) = symbolic_binding_pattern U, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc18_10.1: type = splice_block %.loc18_10.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc18_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc18_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc18_6.1 (constants.%T.67d)] -// CHECK:STDOUT: %.loc18: type = splice_block %Empty.type.loc18_34.2 [symbolic = %Empty.type.loc18_34.1 (constants.%Empty.type.d682d6.1)] { +// CHECK:STDOUT: %.loc18_34: type = splice_block %Empty.type.loc18_34.2 [symbolic = %Empty.type.loc18_34.1 (constants.%Empty.type.d682d6.1)] { // CHECK:STDOUT: // CHECK:STDOUT: %Empty.ref: %Empty.type.19a = name_ref Empty, file.%Empty.decl [concrete = constants.%empty_struct.019] // CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc18_6.2 [symbolic = %T.loc18_6.1 (constants.%T.67d)] @@ -108,7 +114,10 @@ fn G(T:! Z, U:! Empty(T), V:! type) { // CHECK:STDOUT: %Empty.type.loc20_24.2: type = facet_type <@Empty, @Empty(constants.%T.binding.as_type)> [symbolic = %Empty.type.loc20_24.1 (constants.%Empty.type.d682d6.2)] // CHECK:STDOUT: } // CHECK:STDOUT: %U.loc20_13.2: @G.%Empty.type.loc20_24.1 (%Empty.type.d682d6.2) = symbolic_binding U, 1 [symbolic = %U.loc20_13.1 (constants.%U.e1f642.2)] -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc20_31.1: type = splice_block %.loc20_31.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc20_31.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc20_27.2: type = symbolic_binding V, 2 [symbolic = %V.loc20_27.1 (constants.%V)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -169,6 +178,7 @@ fn G(T:! Z, U:! Empty(T), V:! type) { // CHECK:STDOUT: %F.ref.loc21: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %T.ref.loc21: %Z.type = name_ref T, %T.loc20_6.2 [symbolic = %T.loc20_6.1 (constants.%T.ea3)] // CHECK:STDOUT: %.loc21_9: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct.a40] +// CHECK:STDOUT: %.loc21_14: type = type_literal type [concrete = type] // CHECK:STDOUT: %.loc21_11: type = converted %.loc21_9, constants.%empty_struct_type [concrete = constants.%empty_struct_type] // CHECK:STDOUT: %T.as_type.loc21: type = facet_access_type %T.ref.loc21 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %.loc21_18.1: type = converted %T.ref.loc21, %T.as_type.loc21 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] @@ -178,6 +188,7 @@ fn G(T:! Z, U:! Empty(T), V:! type) { // CHECK:STDOUT: %F.call.loc21: init %empty_tuple.type = call %F.specific_fn.loc21_3.1() // CHECK:STDOUT: %F.ref.loc22: %F.type = name_ref F, file.%F.decl [concrete = constants.%F] // CHECK:STDOUT: %T.ref.loc22: %Z.type = name_ref T, %T.loc20_6.2 [symbolic = %T.loc20_6.1 (constants.%T.ea3)] +// CHECK:STDOUT: %.loc22_8: type = type_literal type [concrete = type] // CHECK:STDOUT: %T.as_type.loc22: type = facet_access_type %T.ref.loc22 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %.loc22_12.1: type = converted %T.ref.loc22, %T.as_type.loc22 [symbolic = %T.binding.as_type (constants.%T.binding.as_type)] // CHECK:STDOUT: %Empty.facet.loc22_12.1: @G.%Empty.type.loc20_24.1 (%Empty.type.d682d6.2) = facet_value type, () [symbolic = %Empty.facet.loc22_12.2 (constants.%Empty.facet.2cb)] diff --git a/toolchain/check/testdata/named_constraint/generic.carbon b/toolchain/check/testdata/named_constraint/generic.carbon index e5b27c7424e5..f2c41ed57b70 100644 --- a/toolchain/check/testdata/named_constraint/generic.carbon +++ b/toolchain/check/testdata/named_constraint/generic.carbon @@ -110,7 +110,10 @@ fn F(unused T:! Generic((), ())) {} // CHECK:STDOUT: %GenericType.decl: %GenericType.type.744 = constraint_decl @GenericType [concrete = constants.%empty_struct.2f3] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.1: type = splice_block %.loc4_28.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_28.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_24.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_24.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %Z.decl: type = interface_decl @Z [concrete = constants.%Z.type] {} {} @@ -126,13 +129,19 @@ fn F(unused T:! Generic((), ())) {} // CHECK:STDOUT: %ForwardDeclaredGeneric.decl.loc9: %ForwardDeclaredGeneric.type.21f = constraint_decl @ForwardDeclaredGeneric [concrete = constants.%empty_struct.463] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_39.1: type = splice_block %.loc9_39.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc9_39.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc9_35.2: type = symbolic_binding T, 0 [symbolic = %T.loc9_35.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %ForwardDeclaredGeneric.decl.loc10: %ForwardDeclaredGeneric.type.21f = constraint_decl @ForwardDeclaredGeneric [concrete = constants.%empty_struct.463] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_39.1: type = splice_block %.loc10_39.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc10_39.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc10: type = symbolic_binding T, 0 [symbolic = %T.loc9_35.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/named_constraint/require.carbon b/toolchain/check/testdata/named_constraint/require.carbon index cd27b6a4581c..0130c7c0e20c 100644 --- a/toolchain/check/testdata/named_constraint/require.carbon +++ b/toolchain/check/testdata/named_constraint/require.carbon @@ -1105,7 +1105,10 @@ fn F() { // CHECK:STDOUT: %Z.decl: %Z.type.7a8 = constraint_decl @Z [concrete = constants.%empty_struct] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc4_18.1: type = splice_block %.loc4_18.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc4_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -1157,7 +1160,10 @@ fn F() { // CHECK:STDOUT: %Z.decl: %Z.type.7a8 = constraint_decl @Z [concrete = constants.%empty_struct] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc8_18.1: type = splice_block %.loc8_18.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc8_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc8_14.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_14.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/add_to_import.carbon b/toolchain/check/testdata/namespace/add_to_import.carbon index 2bd47e62bb39..ef307e9d6c7a 100644 --- a/toolchain/check/testdata/namespace/add_to_import.carbon +++ b/toolchain/check/testdata/namespace/add_to_import.carbon @@ -104,8 +104,7 @@ var a: i32 = NS.A(); // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc4_14: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -115,10 +114,7 @@ var a: i32 = NS.A(); // CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] -// CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var [concrete = %a.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/namespace/alias.carbon b/toolchain/check/testdata/namespace/alias.carbon index 9602b6f19b86..d6b03a918dbb 100644 --- a/toolchain/check/testdata/namespace/alias.carbon +++ b/toolchain/check/testdata/namespace/alias.carbon @@ -90,8 +90,7 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc19_14: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -100,8 +99,7 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc21: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -113,8 +111,7 @@ fn D() -> i32 { return C(); } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon index b7483d1cb310..dc1de21ffd97 100644 --- a/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon +++ b/toolchain/check/testdata/namespace/fail_decl_in_alias.carbon @@ -83,8 +83,7 @@ fn ns.A() -> i32 { return 0; } // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc27_14: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/namespace/fail_params.carbon b/toolchain/check/testdata/namespace/fail_params.carbon index aed99dad0ff3..96216c512e91 100644 --- a/toolchain/check/testdata/namespace/fail_params.carbon +++ b/toolchain/check/testdata/namespace/fail_params.carbon @@ -52,7 +52,6 @@ fn D(unused T:! type).F() {} // CHECK:STDOUT: constants { // CHECK:STDOUT: %F.type.6d5: type = fn_type @F.loc22 [concrete] // CHECK:STDOUT: %F.e11: %F.type.6d5 = struct_value () [concrete] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %T.67db0b.1: type = symbolic_binding T, 0 [symbolic] @@ -83,10 +82,13 @@ fn D(unused T:! type).F() {} // CHECK:STDOUT: } // CHECK:STDOUT: %F.decl.loc22: %F.type.6d5 = fn_decl @F.loc22 [concrete = constants.%F.e11] {} {} // CHECK:STDOUT: %n.param: = value_param call_param0 -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] +// CHECK:STDOUT: %.loc32: type = type_literal [concrete = ] // CHECK:STDOUT: %n: = value_binding n, %n.param // CHECK:STDOUT: %B: = namespace [concrete] {} -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc38_17.1: type = splice_block %.loc38_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc38_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = constants.%T.67db0b.1] // CHECK:STDOUT: %x.param: %T.67db0b.1 = value_param call_param0 // CHECK:STDOUT: %T.ref: type = name_ref T, %T [symbolic = constants.%T.67db0b.1] @@ -94,7 +96,10 @@ fn D(unused T:! type).F() {} // CHECK:STDOUT: %C: = namespace [concrete] {} // CHECK:STDOUT: %D: = namespace [concrete] {} // CHECK:STDOUT: %F.decl.loc48: %F.type.117 = fn_decl @F.loc48 [concrete = constants.%F.d98] {} { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc48_17.1: type = splice_block %.loc48_17.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc48_17.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc48_13.3: type = symbolic_binding T, 0 [symbolic = %T.loc48_13.2 (constants.%T.67db0b.2)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/namespace/shadow.carbon b/toolchain/check/testdata/namespace/shadow.carbon index 03e391a331f6..1475de16626a 100644 --- a/toolchain/check/testdata/namespace/shadow.carbon +++ b/toolchain/check/testdata/namespace/shadow.carbon @@ -121,8 +121,7 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22: Core.Form = init_form %i32.loc22, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -152,12 +151,9 @@ fn N.M.B() -> i32 { // CHECK:STDOUT: %specific_fn.loc26: = specific_function %impl.elem0.loc26, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc26_5.2: = bound_method %int_0.loc26, %specific_fn.loc26 [concrete = constants.%bound_method] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc26: init %i32 = call %bound_method.loc26_5.2(%int_0.loc26) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc26_5: init %i32 = converted %int_0.loc26, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc26 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %A.var, %.loc26_5 -// CHECK:STDOUT: %.loc26_12: type = splice_block %i32.loc26 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc26: init %i32 = converted %int_0.loc26, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc26 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %A.var, %.loc26 +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %A: ref %i32 = ref_binding A, %A.var // CHECK:STDOUT: %A.ref.loc29: ref %i32 = name_ref A, %A // CHECK:STDOUT: %.loc29: %i32 = acquire_value %A.ref.loc29 diff --git a/toolchain/check/testdata/operators/builtin/and.carbon b/toolchain/check/testdata/operators/builtin/and.carbon index f95457460c0c..ac364665ec10 100644 --- a/toolchain/check/testdata/operators/builtin/and.carbon +++ b/toolchain/check/testdata/operators/builtin/and.carbon @@ -96,10 +96,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_11.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc15_11.2: type = converted %Bool.call, %.loc15_11.1 [concrete = bool] -// CHECK:STDOUT: %.loc15_11.3: Core.Form = init_form %.loc15_11.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc15_11.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc15_11.2: Core.Form = init_form %.loc15_11.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -107,10 +105,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc16_11.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc16_11.2: type = converted %Bool.call, %.loc16_11.1 [concrete = bool] -// CHECK:STDOUT: %.loc16_11.3: Core.Form = init_form %.loc16_11.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc16_11.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc16_11.2: Core.Form = init_form %.loc16_11.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -118,10 +114,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc18_13.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc18_13.2: type = converted %Bool.call, %.loc18_13.1 [concrete = bool] -// CHECK:STDOUT: %.loc18_13.3: Core.Form = init_form %.loc18_13.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc18_13.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc18_13.2: Core.Form = init_form %.loc18_13.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -131,11 +125,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %x.param_patt: %pattern_type.831 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc29_23.1: type = splice_block %.loc29_23.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc29: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc29_23.2: type = value_of_initializer %Bool.call.loc29 [concrete = bool] -// CHECK:STDOUT: %.loc29_23.3: type = converted %Bool.call.loc29, %.loc29_23.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc29: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %x: bool = value_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -210,10 +200,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc23_25 br !if.expr.then.loc23 else br !if.expr.else.loc23 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc23: -// CHECK:STDOUT: %Bool.call.loc23: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc23_39.1: type = value_of_initializer %Bool.call.loc23 [concrete = bool] -// CHECK:STDOUT: %.loc23_39.2: type = converted %Bool.call.loc23, %.loc23_39.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc23(%.loc23_39.2) +// CHECK:STDOUT: %.loc23_39: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc23(%.loc23_39) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc23: // CHECK:STDOUT: %.loc23_50: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -251,10 +239,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc24_25 br !if.expr.then.loc24 else br !if.expr.else.loc24 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc24: -// CHECK:STDOUT: %Bool.call.loc24: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc24_40.1: type = value_of_initializer %Bool.call.loc24 [concrete = bool] -// CHECK:STDOUT: %.loc24_40.2: type = converted %Bool.call.loc24, %.loc24_40.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc24(%.loc24_40.2) +// CHECK:STDOUT: %.loc24_40: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc24(%.loc24_40) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc24: // CHECK:STDOUT: %.loc24_51: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -292,10 +278,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc25_26 br !if.expr.then.loc25 else br !if.expr.else.loc25 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc25: -// CHECK:STDOUT: %Bool.call.loc25: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc25_40.1: type = value_of_initializer %Bool.call.loc25 [concrete = bool] -// CHECK:STDOUT: %.loc25_40.2: type = converted %Bool.call.loc25, %.loc25_40.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc25(%.loc25_40.2) +// CHECK:STDOUT: %.loc25_40: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc25(%.loc25_40) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc25: // CHECK:STDOUT: %.loc25_51: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -333,10 +317,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc26_26 br !if.expr.then.loc26 else br !if.expr.else.loc26 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc26: -// CHECK:STDOUT: %Bool.call.loc26: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc26_41.1: type = value_of_initializer %Bool.call.loc26 [concrete = bool] -// CHECK:STDOUT: %.loc26_41.2: type = converted %Bool.call.loc26, %.loc26_41.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc26(%.loc26_41.2) +// CHECK:STDOUT: %.loc26_41: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc26(%.loc26_41) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc26: // CHECK:STDOUT: %.loc26_52: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -391,10 +373,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc30_26 br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: -// CHECK:STDOUT: %Bool.call.loc30: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc30_37.1: type = value_of_initializer %Bool.call.loc30 [concrete = bool] -// CHECK:STDOUT: %.loc30_37.2: type = converted %Bool.call.loc30, %.loc30_37.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result(%.loc30_37.2) +// CHECK:STDOUT: %.loc30_37: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result(%.loc30_37) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else: // CHECK:STDOUT: %.loc30_48: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] diff --git a/toolchain/check/testdata/operators/builtin/assignment.carbon b/toolchain/check/testdata/operators/builtin/assignment.carbon index 8a163c779c0c..a121e5a8520c 100644 --- a/toolchain/check/testdata/operators/builtin/assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/assignment.carbon @@ -165,12 +165,9 @@ fn Main() { // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_12, %specific_fn.loc16 [concrete = constants.%bound_method.906] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16: init %i32 = call %bound_method.loc16_3.2(%int_12) [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: %.loc16_3: init %i32 = converted %int_12, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16 [concrete = constants.%int_12.1e1] -// CHECK:STDOUT: assign %a.var, %.loc16_3 -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16: init %i32 = converted %int_12, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc16 [concrete = constants.%int_12.1e1] +// CHECK:STDOUT: assign %a.var, %.loc16 +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: %a.ref.loc17: ref %i32 = name_ref a, %a // CHECK:STDOUT: %int_9: Core.IntLiteral = int_value 9 [concrete = constants.%int_9.988] @@ -209,10 +206,8 @@ fn Main() { // CHECK:STDOUT: %.loc19_3: init %tuple.type.d07 = converted %.loc19_28.1, %.loc19_28.6 [concrete = constants.%tuple.21c] // CHECK:STDOUT: assign %b.var, %.loc19_3 // CHECK:STDOUT: %.loc19_19.1: type = splice_block %.loc19_19.3 [concrete = constants.%tuple.type.d07] { -// 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: %int_32.loc19_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_11: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc19_19.2: %tuple.type.24b = tuple_literal (%i32.loc19_11, %i32.loc19_16) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc19_19.3: type = converted %.loc19_19.2, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } @@ -267,10 +262,8 @@ fn Main() { // CHECK:STDOUT: %.loc23_3: init %struct_type.a.b.501 = converted %.loc23_46.1, %.loc23_46.8 [concrete = constants.%struct.ed5] // CHECK:STDOUT: assign %c.var, %.loc23_3 // CHECK:STDOUT: %.loc23_27: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc23_15: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_15: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc23_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc23_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23_15: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc23_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %c: ref %struct_type.a.b.501 = ref_binding c, %c.var @@ -308,8 +301,7 @@ fn Main() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call: init %ptr.235 = call %bound_method.loc27_17.2(%addr.loc27) // CHECK:STDOUT: assign %p.var, %ptr.as.Copy.impl.Op.call // CHECK:STDOUT: %.loc27: type = splice_block %ptr [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc27 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr.235 = ref_binding p, %p.var diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon index bf2b52fbc639..60aa47c87eb6 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon @@ -109,13 +109,11 @@ fn F() { // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result(%i32) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else: -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64 [concrete = constants.%f64] // CHECK:STDOUT: br !if.expr.result(%f64) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: @@ -150,13 +148,11 @@ fn F() { // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: br !if.expr.result(%i32) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else: -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64 [concrete = constants.%f64] // CHECK:STDOUT: br !if.expr.result(%f64) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.result: diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon index 1bd4aa478955..5ce402130cfa 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_partial_constant.carbon @@ -85,11 +85,7 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: %x.param_patt: %pattern_type.831 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc4_23.1: type = splice_block %.loc4_23.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc4: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc4_23.2: type = value_of_initializer %Bool.call.loc4 [concrete = bool] -// CHECK:STDOUT: %.loc4_23.3: type = converted %Bool.call.loc4, %.loc4_23.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc4: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %x: bool = value_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -117,10 +113,8 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: if %.loc9_25 br !if.expr.then.loc9 else br !if.expr.else.loc9 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc9: -// CHECK:STDOUT: %Bool.call.loc9: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc9_36.1: type = value_of_initializer %Bool.call.loc9 [concrete = bool] -// CHECK:STDOUT: %.loc9_36.2: type = converted %Bool.call.loc9, %.loc9_36.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc9(%.loc9_36.2) +// CHECK:STDOUT: %.loc9_36: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc9(%.loc9_36) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc9: // CHECK:STDOUT: %.loc9_47: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -155,10 +149,8 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: if %.loc14_26.2 br !if.expr.then.loc14 else br !if.expr.else.loc14 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc14: -// CHECK:STDOUT: %Bool.call.loc14: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc14_36.1: type = value_of_initializer %Bool.call.loc14 [concrete = bool] -// CHECK:STDOUT: %.loc14_36.2: type = converted %Bool.call.loc14, %.loc14_36.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc14(%.loc14_36.2) +// CHECK:STDOUT: %.loc14_36: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc14(%.loc14_36) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc14: // CHECK:STDOUT: %.loc14_47: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -211,11 +203,7 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: %x.param_patt: %pattern_type.831 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc4_41.1: type = splice_block %.loc4_41.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc4: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc4_41.2: type = value_of_initializer %Bool.call.loc4 [concrete = bool] -// CHECK:STDOUT: %.loc4_41.3: type = converted %Bool.call.loc4, %.loc4_41.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc4: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %x: bool = value_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -243,10 +231,8 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: if %.loc11_22 br !if.expr.then.loc11 else br !if.expr.else.loc11 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc11: -// CHECK:STDOUT: %Bool.call.loc11: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc11_37.1: type = value_of_initializer %Bool.call.loc11 [concrete = bool] -// CHECK:STDOUT: %.loc11_37.2: type = converted %Bool.call.loc11, %.loc11_37.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc11(%.loc11_37.2) +// CHECK:STDOUT: %.loc11_37: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc11(%.loc11_37) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc11: // CHECK:STDOUT: %.loc11_48: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -281,10 +267,8 @@ fn KnownValueButNonConstantCondition(x: bool) { // CHECK:STDOUT: if %.loc16_22.2 br !if.expr.then.loc16 else br !if.expr.else.loc16 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc16: -// CHECK:STDOUT: %Bool.call.loc16: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc16_35.1: type = value_of_initializer %Bool.call.loc16 [concrete = bool] -// CHECK:STDOUT: %.loc16_35.2: type = converted %Bool.call.loc16, %.loc16_35.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc16(%.loc16_35.2) +// CHECK:STDOUT: %.loc16_35: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc16(%.loc16_35) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc16: // CHECK:STDOUT: %.loc16_46: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] 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 4d4b6a10b58e..d042732c8000 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 @@ -173,8 +173,7 @@ fn Main() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -234,12 +233,9 @@ fn Main() { // CHECK:STDOUT: %specific_fn.loc33: = specific_function %impl.elem0.loc33, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc33_3.2: = bound_method %int_0, %specific_fn.loc33 [concrete = constants.%bound_method.d2e] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc33: init %i32 = call %bound_method.loc33_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc33_3: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc33 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc33_3 -// CHECK:STDOUT: %.loc33_10: type = splice_block %i32.loc33 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc33: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc33 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc33 +// CHECK:STDOUT: %i32.loc33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: ref %i32 = ref_binding n, %n.var // CHECK:STDOUT: %n.ref.loc38_4: ref %i32 = name_ref n, %n // CHECK:STDOUT: %n.ref.loc38_7: ref %i32 = name_ref n, %n @@ -270,10 +266,8 @@ fn Main() { // CHECK:STDOUT: %.loc38_7: %i32 = acquire_value %n.ref.loc38_7 // CHECK:STDOUT: %tuple.loc38: %tuple.type.d07 = tuple_value (%.loc38_4, %.loc38_7) // CHECK:STDOUT: %.loc38_8.2: %tuple.type.d07 = converted %.loc38_8.1, %tuple.loc38 -// CHECK:STDOUT: %int_32.loc43_3: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc43_3: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc43_9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc43_9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc43_3: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc43_9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc43_9 [concrete = constants.%ptr.235] // CHECK:STDOUT: %impl.elem0.loc43: %.070 = impl_witness_access constants.%Copy.impl_witness.b47, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method.loc43: = bound_method %ptr, %impl.elem0.loc43 [concrete = constants.%type.as.Copy.impl.Op.bound] @@ -305,8 +299,6 @@ fn Main() { // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc53: // CHECK:STDOUT: %int_1.loc53: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_32.loc53: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc53: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc53_12: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] // CHECK:STDOUT: %bound_method.loc53_12.1: = bound_method %int_1.loc53, %impl.elem0.loc53_12 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.215] // CHECK:STDOUT: %specific_fn.loc53_12: = specific_function %impl.elem0.loc53_12, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] @@ -342,10 +334,7 @@ fn Main() { // CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt -// CHECK:STDOUT: %.loc56: type = splice_block %i32.loc56 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc56: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc56: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc56: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: %true.loc61: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: if %true.loc61 br !if.expr.then.loc61 else br !if.expr.else.loc61 diff --git a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon index cd13af08c331..fd32971d4e7c 100644 --- a/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_redundant_compound_access.carbon @@ -109,8 +109,7 @@ fn Main() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_11: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -143,12 +142,9 @@ fn Main() { // CHECK:STDOUT: %specific_fn.loc18: = specific_function %impl.elem0.loc18, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc18_3.2: = bound_method %int_3, %specific_fn.loc18 [concrete = constants.%bound_method.fa7] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc18_3.2(%int_3) [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc18_3: init %i32 = converted %int_3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_3.822] -// CHECK:STDOUT: assign %a.var, %.loc18_3 -// CHECK:STDOUT: %.loc18_10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc18: init %i32 = converted %int_3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_3.822] +// CHECK:STDOUT: assign %a.var, %.loc18 +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: %a.ref.loc23_3: ref %i32 = name_ref a, %a // CHECK:STDOUT: %a.ref.loc23_7: ref %i32 = name_ref a, %a diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon index 26a5316990ab..f509b628a548 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch.carbon @@ -73,11 +73,7 @@ fn Main() { // CHECK:STDOUT: %.loc23_24.1: bool = converted %int_12, [concrete = ] // CHECK:STDOUT: %.loc23_24.2: = not [concrete = ] // CHECK:STDOUT: assign %x.var, -// CHECK:STDOUT: %.loc23_17.1: type = splice_block %.loc23_17.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc23_17.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc23_17.3: type = converted %Bool.call, %.loc23_17.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc23_17: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %x: ref bool = ref_binding x, %x.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %x.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%x.var) diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon index 8fad135a9e4c..03430e30950c 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_assignment.carbon @@ -95,12 +95,9 @@ fn Main() { // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_3, %specific_fn [concrete = constants.%bound_method] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc16_3.2(%int_3) [concrete = constants.%int_3.822] -// CHECK:STDOUT: %.loc16_3: init %i32 = converted %int_3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_3.822] -// CHECK:STDOUT: assign %a.var, %.loc16_3 -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16: init %i32 = converted %int_3, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_3.822] +// CHECK:STDOUT: assign %a.var, %.loc16 +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var // CHECK:STDOUT: %a.ref: ref %i32 = name_ref a, %a // CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 56e-1 [concrete = constants.%float] diff --git a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon index 021ab2d00ebb..b70528cbb1e7 100644 --- a/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_type_mismatch_once.carbon @@ -62,8 +62,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon b/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon index a3480fc19f5f..b0b2f604b5c4 100644 --- a/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_unimplemented_op.carbon @@ -59,8 +59,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/operators/builtin/or.carbon b/toolchain/check/testdata/operators/builtin/or.carbon index ecc2d65989e1..412deeeccd55 100644 --- a/toolchain/check/testdata/operators/builtin/or.carbon +++ b/toolchain/check/testdata/operators/builtin/or.carbon @@ -96,10 +96,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_11.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc15_11.2: type = converted %Bool.call, %.loc15_11.1 [concrete = bool] -// CHECK:STDOUT: %.loc15_11.3: Core.Form = init_form %.loc15_11.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc15_11.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc15_11.2: Core.Form = init_form %.loc15_11.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -107,10 +105,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc16_11.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc16_11.2: type = converted %Bool.call, %.loc16_11.1 [concrete = bool] -// CHECK:STDOUT: %.loc16_11.3: Core.Form = init_form %.loc16_11.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc16_11.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc16_11.2: Core.Form = init_form %.loc16_11.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -118,10 +114,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc18_12.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc18_12.2: type = converted %Bool.call, %.loc18_12.1 [concrete = bool] -// CHECK:STDOUT: %.loc18_12.3: Core.Form = init_form %.loc18_12.2, call_param0 [concrete = constants.%.77a] +// CHECK:STDOUT: %.loc18_12.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc18_12.2: Core.Form = init_form %.loc18_12.1, call_param0 [concrete = constants.%.77a] // CHECK:STDOUT: %return.param: ref bool = out_param call_param0 // CHECK:STDOUT: %return: ref bool = return_slot %return.param // CHECK:STDOUT: } @@ -131,11 +125,7 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: %x.param_patt: %pattern_type.831 = value_param_pattern %x.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %x.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc29_23.1: type = splice_block %.loc29_23.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc29: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc29_23.2: type = value_of_initializer %Bool.call.loc29 [concrete = bool] -// CHECK:STDOUT: %.loc29_23.3: type = converted %Bool.call.loc29, %.loc29_23.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc29: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %x: bool = value_binding x, %x.param // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -212,10 +202,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc23_25.2 br !if.expr.then.loc23 else br !if.expr.else.loc23 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc23: -// CHECK:STDOUT: %Bool.call.loc23: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc23_38.1: type = value_of_initializer %Bool.call.loc23 [concrete = bool] -// CHECK:STDOUT: %.loc23_38.2: type = converted %Bool.call.loc23, %.loc23_38.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc23(%.loc23_38.2) +// CHECK:STDOUT: %.loc23_38: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc23(%.loc23_38) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc23: // CHECK:STDOUT: %.loc23_49: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -255,10 +243,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc24_25.2 br !if.expr.then.loc24 else br !if.expr.else.loc24 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc24: -// CHECK:STDOUT: %Bool.call.loc24: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc24_39.1: type = value_of_initializer %Bool.call.loc24 [concrete = bool] -// CHECK:STDOUT: %.loc24_39.2: type = converted %Bool.call.loc24, %.loc24_39.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc24(%.loc24_39.2) +// CHECK:STDOUT: %.loc24_39: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc24(%.loc24_39) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc24: // CHECK:STDOUT: %.loc24_50: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -298,10 +284,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc25_26.2 br !if.expr.then.loc25 else br !if.expr.else.loc25 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc25: -// CHECK:STDOUT: %Bool.call.loc25: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc25_39.1: type = value_of_initializer %Bool.call.loc25 [concrete = bool] -// CHECK:STDOUT: %.loc25_39.2: type = converted %Bool.call.loc25, %.loc25_39.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc25(%.loc25_39.2) +// CHECK:STDOUT: %.loc25_39: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc25(%.loc25_39) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc25: // CHECK:STDOUT: %.loc25_50: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -340,10 +324,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc26_26.2 br !if.expr.then.loc26 else br !if.expr.else.loc26 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc26: -// CHECK:STDOUT: %Bool.call.loc26: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc26_40.1: type = value_of_initializer %Bool.call.loc26 [concrete = bool] -// CHECK:STDOUT: %.loc26_40.2: type = converted %Bool.call.loc26, %.loc26_40.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc26(%.loc26_40.2) +// CHECK:STDOUT: %.loc26_40: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc26(%.loc26_40) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc26: // CHECK:STDOUT: %.loc26_51: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -400,10 +382,8 @@ fn PartialConstant(x: bool) { // CHECK:STDOUT: if %.loc30_25.2 br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: -// CHECK:STDOUT: %Bool.call.loc30: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc30_35.1: type = value_of_initializer %Bool.call.loc30 [concrete = bool] -// CHECK:STDOUT: %.loc30_35.2: type = converted %Bool.call.loc30, %.loc30_35.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result(%.loc30_35.2) +// CHECK:STDOUT: %.loc30_35: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result(%.loc30_35) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else: // CHECK:STDOUT: %.loc30_46: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] diff --git a/toolchain/check/testdata/operators/builtin/unary_op.carbon b/toolchain/check/testdata/operators/builtin/unary_op.carbon index 7c7aab148d83..c7d3b0fe0942 100644 --- a/toolchain/check/testdata/operators/builtin/unary_op.carbon +++ b/toolchain/check/testdata/operators/builtin/unary_op.carbon @@ -85,16 +85,10 @@ fn Constant() { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call.loc15_20: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_20.1: type = value_of_initializer %Bool.call.loc15_20 [concrete = bool] -// CHECK:STDOUT: %.loc15_20.2: type = converted %Bool.call.loc15_20, %.loc15_20.1 [concrete = bool] -// CHECK:STDOUT: %.loc15_20.3: Core.Form = init_form %.loc15_20.2, call_param1 [concrete = constants.%.fff] +// CHECK:STDOUT: %.loc15_20.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc15_20.2: Core.Form = init_form %.loc15_20.1, call_param1 [concrete = constants.%.fff] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc15_11.1: type = splice_block %.loc15_11.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc15_11: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_11.2: type = value_of_initializer %Bool.call.loc15_11 [concrete = bool] -// CHECK:STDOUT: %.loc15_11.3: type = converted %Bool.call.loc15_11, %.loc15_11.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_11: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref bool = out_param call_param1 // CHECK:STDOUT: %return: ref bool = return_slot %return.param @@ -102,20 +96,12 @@ fn Constant() { // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %not_true.patt: %pattern_type.831 = value_binding_pattern not_true [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc19_15.1: type = splice_block %.loc19_15.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc19: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc19_15.2: type = value_of_initializer %Bool.call.loc19 [concrete = bool] -// CHECK:STDOUT: %.loc19_15.3: type = converted %Bool.call.loc19, %.loc19_15.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc19: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %not_true: bool = value_binding not_true, @__global_init.%.loc19 // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %not_false.patt: %pattern_type.831 = value_binding_pattern not_false [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc20_16.1: type = splice_block %.loc20_16.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call.loc20: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc20_16.2: type = value_of_initializer %Bool.call.loc20 [concrete = bool] -// CHECK:STDOUT: %.loc20_16.3: type = converted %Bool.call.loc20, %.loc20_16.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc20: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %not_false: bool = value_binding not_false, @__global_init.%.loc20 // CHECK:STDOUT: %Constant.decl: %Constant.type = fn_decl @Constant [concrete = constants.%Constant] {} {} // CHECK:STDOUT: } @@ -149,10 +135,8 @@ fn Constant() { // CHECK:STDOUT: if %.loc23_20 br !if.expr.then.loc23 else br !if.expr.else.loc23 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc23: -// CHECK:STDOUT: %Bool.call.loc23: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc23_34.1: type = value_of_initializer %Bool.call.loc23 [concrete = bool] -// CHECK:STDOUT: %.loc23_34.2: type = converted %Bool.call.loc23, %.loc23_34.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc23(%.loc23_34.2) +// CHECK:STDOUT: %.loc23_34: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc23(%.loc23_34) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc23: // CHECK:STDOUT: %.loc23_45: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] @@ -183,10 +167,8 @@ fn Constant() { // CHECK:STDOUT: if %.loc24_20 br !if.expr.then.loc24 else br !if.expr.else.loc24 // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then.loc24: -// CHECK:STDOUT: %Bool.call.loc24: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc24_35.1: type = value_of_initializer %Bool.call.loc24 [concrete = bool] -// CHECK:STDOUT: %.loc24_35.2: type = converted %Bool.call.loc24, %.loc24_35.1 [concrete = bool] -// CHECK:STDOUT: br !if.expr.result.loc24(%.loc24_35.2) +// CHECK:STDOUT: %.loc24_35: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: br !if.expr.result.loc24(%.loc24_35) // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.else.loc24: // CHECK:STDOUT: %.loc24_46: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] diff --git a/toolchain/check/testdata/operators/overloaded/eq.carbon b/toolchain/check/testdata/operators/overloaded/eq.carbon index 936ce29fb6d3..3bb38f76ee73 100644 --- a/toolchain/check/testdata/operators/overloaded/eq.carbon +++ b/toolchain/check/testdata/operators/overloaded/eq.carbon @@ -146,10 +146,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc11_29.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc11_29.2: type = converted %Bool.call, %.loc11_29.1 [concrete = bool] -// CHECK:STDOUT: %.loc11_29.3: Core.Form = init_form %.loc11_29.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc11_29.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc11_29.2: Core.Form = init_form %.loc11_29.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc11_17: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -167,10 +165,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_32.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc15_32.2: type = converted %Bool.call, %.loc15_32.1 [concrete = bool] -// CHECK:STDOUT: %.loc15_32.3: Core.Form = init_form %.loc15_32.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc15_32.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc15_32.2: Core.Form = init_form %.loc15_32.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc15_20: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -191,10 +187,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc7_34.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc7_34.2: type = converted %Bool.call, %.loc7_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc7_34.3: Core.Form = init_form %.loc7_34.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc7_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc7_34.2: Core.Form = init_form %.loc7_34.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc7_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -212,10 +206,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_37.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc8_37.2: type = converted %Bool.call, %.loc8_37.1 [concrete = bool] -// CHECK:STDOUT: %.loc8_37.3: Core.Form = init_form %.loc8_37.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc8_37.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc8_37.2: Core.Form = init_form %.loc8_37.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc8_21: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -314,10 +306,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc6_29.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc6_29.2: type = converted %Bool.call, %.loc6_29.1 [concrete = bool] -// CHECK:STDOUT: %.loc6_29.3: Core.Form = init_form %.loc6_29.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc6_29.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc6_29.2: Core.Form = init_form %.loc6_29.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref.loc6_17: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param @@ -335,10 +325,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc14_32.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc14_32.2: type = converted %Bool.call, %.loc14_32.1 [concrete = bool] -// CHECK:STDOUT: %.loc14_32.3: Core.Form = init_form %.loc14_32.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc14_32.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc14_32.2: Core.Form = init_form %.loc14_32.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref.loc14_20: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param @@ -436,10 +424,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc12_30.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc12_30.2: type = converted %Bool.call, %.loc12_30.1 [concrete = bool] -// CHECK:STDOUT: %.loc12_30.3: Core.Form = init_form %.loc12_30.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc12_30.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc12_30.2: Core.Form = init_form %.loc12_30.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -457,10 +443,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc20_30.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc20_30.2: type = converted %Bool.call, %.loc20_30.1 [concrete = bool] -// CHECK:STDOUT: %.loc20_30.3: Core.Form = init_form %.loc20_30.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc20_30.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc20_30.2: Core.Form = init_form %.loc20_30.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param @@ -481,10 +465,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_34.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc8_34.2: type = converted %Bool.call, %.loc8_34.1 [concrete = bool] -// CHECK:STDOUT: %.loc8_34.3: Core.Form = init_form %.loc8_34.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc8_34.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc8_34.2: Core.Form = init_form %.loc8_34.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc8_18: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -502,10 +484,8 @@ fn TestLhsBad(a: D, b: C) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc9_37.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc9_37.2: type = converted %Bool.call, %.loc9_37.1 [concrete = bool] -// CHECK:STDOUT: %.loc9_37.3: Core.Form = init_form %.loc9_37.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc9_37.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc9_37.2: Core.Form = init_form %.loc9_37.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc9_21: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param diff --git a/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon b/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon index 53436268ab4e..4188fbbdd22d 100644 --- a/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon +++ b/toolchain/check/testdata/operators/overloaded/fail_error_recovery.carbon @@ -73,10 +73,7 @@ fn G(n: i32) { // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc26: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon index 0b6bec82c9df..5c00ce1c7ccc 100644 --- a/toolchain/check/testdata/operators/overloaded/implicit_as.carbon +++ b/toolchain/check/testdata/operators/overloaded/implicit_as.carbon @@ -134,8 +134,7 @@ fn Test() { // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: impl_decl @i32.as.ImplicitAs.impl [concrete] {} { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] @@ -145,8 +144,7 @@ fn Test() { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] // CHECK:STDOUT: %ImplicitAs.ref: %ImplicitAs.type.cc7 = name_ref ImplicitAs, imports.%Core.ImplicitAs [concrete = constants.%ImplicitAs.generic] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(constants.%i32)> [concrete = constants.%ImplicitAs.type.e8c] // CHECK:STDOUT: } // CHECK:STDOUT: %Sink_i32.decl: %Sink_i32.type = fn_decl @Sink_i32 [concrete = constants.%Sink_i32] { @@ -154,10 +152,7 @@ fn Test() { // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc29: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: %Sink_X.decl: %Sink_X.type = fn_decl @Sink_X [concrete = constants.%Sink_X] { @@ -175,7 +170,10 @@ fn Test() { // CHECK:STDOUT: } { // CHECK:STDOUT: %T.ref.loc31_24: type = name_ref T, %T.loc31_11.2 [symbolic = %T.loc31_11.1 (constants.%T.67d)] // CHECK:STDOUT: %.loc31_24.3: Core.Form = init_form %T.ref.loc31_24, call_param0 [symbolic = %.loc31_24.2 (constants.%.41b)] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc31_15.1: type = splice_block %.loc31_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc31_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc31_11.2: type = symbolic_binding T, 0 [symbolic = %T.loc31_11.1 (constants.%T.67d)] // CHECK:STDOUT: %return.param: ref @Source.%T.loc31_11.1 (%T.67d) = out_param call_param0 // CHECK:STDOUT: %return: ref @Source.%T.loc31_11.1 (%T.67d) = return_slot %return.param @@ -193,10 +191,7 @@ fn Test() { // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] // CHECK:STDOUT: %.loc20_30: Core.Form = init_form %X.ref, call_param1 [concrete = constants.%.728] // CHECK:STDOUT: %self.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc20_20: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %self: %i32 = value_binding self, %self.param // CHECK:STDOUT: %return.param: ref %X = out_param call_param1 // CHECK:STDOUT: %return: ref %X = return_slot %return.param @@ -217,8 +212,7 @@ fn Test() { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc24_28: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %self.param: %X = value_param call_param0 // CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] @@ -236,8 +230,7 @@ fn Test() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @X { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %X.elem = field_decl n, element0 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n [concrete = constants.%complete_type.54b] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -319,8 +312,7 @@ fn Test() { // CHECK:STDOUT: %Sink_i32.call: init %empty_tuple.type = call %Sink_i32.ref(%.loc34_20.5) // CHECK:STDOUT: %Sink_X.ref: %Sink_X.type = name_ref Sink_X, file.%Sink_X.decl [concrete = constants.%Sink_X] // CHECK:STDOUT: %Source.ref.loc35: %Source.type = name_ref Source, file.%Source.decl [concrete = constants.%Source] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Source.specific_fn.loc35: = specific_function %Source.ref.loc35, @Source(constants.%i32) [concrete = constants.%Source.specific_fn.217] // CHECK:STDOUT: %Source.call.loc35: init %i32 = call %Source.specific_fn.loc35() // CHECK:STDOUT: %impl.elem0.loc35: %.eba = impl_witness_access constants.%ImplicitAs.impl_witness.f5e, element0 [concrete = constants.%i32.as.ImplicitAs.impl.Convert] diff --git a/toolchain/check/testdata/operators/overloaded/index.carbon b/toolchain/check/testdata/operators/overloaded/index.carbon index aa7233a4882f..fd15c957719a 100644 --- a/toolchain/check/testdata/operators/overloaded/index.carbon +++ b/toolchain/check/testdata/operators/overloaded/index.carbon @@ -209,9 +209,15 @@ fn F() { // CHECK:STDOUT: %SubscriptType.patt: %pattern_type.98f = symbolic_binding_pattern SubscriptType, 0 [concrete] // CHECK:STDOUT: %ElementType.patt: %pattern_type.98f = symbolic_binding_pattern ElementType, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_37.1: type = splice_block %.loc4_37.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_37.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %SubscriptType.loc4_21.2: type = symbolic_binding SubscriptType, 0 [symbolic = %SubscriptType.loc4_21.1 (constants.%SubscriptType)] -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_57.1: type = splice_block %.loc4_57.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_57.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %ElementType.loc4_43.2: type = symbolic_binding ElementType, 1 [symbolic = %ElementType.loc4_43.1 (constants.%ElementType)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon index fa7e494a9f8d..df894da49920 100644 --- a/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon +++ b/toolchain/check/testdata/operators/overloaded/index_with_prelude.carbon @@ -684,10 +684,7 @@ let x: i32 = c[0]; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.7ce = value_binding_pattern x [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc11: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: %i32 = value_binding x, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/operators/overloaded/ordered.carbon b/toolchain/check/testdata/operators/overloaded/ordered.carbon index d3fea81003ca..15e6fa2b0432 100644 --- a/toolchain/check/testdata/operators/overloaded/ordered.carbon +++ b/toolchain/check/testdata/operators/overloaded/ordered.carbon @@ -158,10 +158,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc13_28.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc13_28.2: type = converted %Bool.call, %.loc13_28.1 [concrete = bool] -// CHECK:STDOUT: %.loc13_28.3: Core.Form = init_form %.loc13_28.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc13_28.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc13_28.2: Core.Form = init_form %.loc13_28.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc13_16: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -179,10 +177,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc17_33.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc17_33.2: type = converted %Bool.call, %.loc17_33.1 [concrete = bool] -// CHECK:STDOUT: %.loc17_33.3: Core.Form = init_form %.loc17_33.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc17_33.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc17_33.2: Core.Form = init_form %.loc17_33.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc17_21: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -200,10 +196,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc21_31.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc21_31.2: type = converted %Bool.call, %.loc21_31.1 [concrete = bool] -// CHECK:STDOUT: %.loc21_31.3: Core.Form = init_form %.loc21_31.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc21_31.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc21_31.2: Core.Form = init_form %.loc21_31.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc21_19: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -221,10 +215,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc25_36.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc25_36.2: type = converted %Bool.call, %.loc25_36.1 [concrete = bool] -// CHECK:STDOUT: %.loc25_36.3: Core.Form = init_form %.loc25_36.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc25_36.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc25_36.2: Core.Form = init_form %.loc25_36.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc25_24: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %a: %C = value_binding a, %a.param @@ -245,10 +237,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc7_33.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc7_33.2: type = converted %Bool.call, %.loc7_33.1 [concrete = bool] -// CHECK:STDOUT: %.loc7_33.3: Core.Form = init_form %.loc7_33.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc7_33.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc7_33.2: Core.Form = init_form %.loc7_33.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc7_17: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -266,10 +256,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc8_45.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc8_45.2: type = converted %Bool.call, %.loc8_45.1 [concrete = bool] -// CHECK:STDOUT: %.loc8_45.3: Core.Form = init_form %.loc8_45.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc8_45.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc8_45.2: Core.Form = init_form %.loc8_45.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc8_29: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -287,10 +275,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc9_36.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc9_36.2: type = converted %Bool.call, %.loc9_36.1 [concrete = bool] -// CHECK:STDOUT: %.loc9_36.3: Core.Form = init_form %.loc9_36.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc9_36.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc9_36.2: Core.Form = init_form %.loc9_36.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc9_20: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -308,10 +294,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_48.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc10_48.2: type = converted %Bool.call, %.loc10_48.1 [concrete = bool] -// CHECK:STDOUT: %.loc10_48.3: Core.Form = init_form %.loc10_48.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc10_48.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc10_48.2: Core.Form = init_form %.loc10_48.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %self.param: %C = value_param call_param0 // CHECK:STDOUT: %C.ref.loc10_32: type = name_ref C, file.%C.decl [concrete = constants.%C] // CHECK:STDOUT: %self: %C = value_binding self, %self.param @@ -442,10 +426,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc6_28.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc6_28.2: type = converted %Bool.call, %.loc6_28.1 [concrete = bool] -// CHECK:STDOUT: %.loc6_28.3: Core.Form = init_form %.loc6_28.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc6_28.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc6_28.2: Core.Form = init_form %.loc6_28.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref.loc6_16: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param @@ -463,10 +445,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc14_33.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc14_33.2: type = converted %Bool.call, %.loc14_33.1 [concrete = bool] -// CHECK:STDOUT: %.loc14_33.3: Core.Form = init_form %.loc14_33.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc14_33.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc14_33.2: Core.Form = init_form %.loc14_33.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref.loc14_21: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param @@ -484,10 +464,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc22_31.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc22_31.2: type = converted %Bool.call, %.loc22_31.1 [concrete = bool] -// CHECK:STDOUT: %.loc22_31.3: Core.Form = init_form %.loc22_31.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc22_31.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc22_31.2: Core.Form = init_form %.loc22_31.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref.loc22_19: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param @@ -505,10 +483,8 @@ fn TestGreaterEqual(a: D, b: D) -> bool { // CHECK:STDOUT: %return.patt: %pattern_type.831 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.831 = out_param_pattern %return.patt, call_param2 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc30_36.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc30_36.2: type = converted %Bool.call, %.loc30_36.1 [concrete = bool] -// CHECK:STDOUT: %.loc30_36.3: Core.Form = init_form %.loc30_36.2, call_param2 [concrete = constants.%.d29] +// CHECK:STDOUT: %.loc30_36.1: type = type_literal bool [concrete = bool] +// CHECK:STDOUT: %.loc30_36.2: Core.Form = init_form %.loc30_36.1, call_param2 [concrete = constants.%.d29] // CHECK:STDOUT: %a.param: %D = value_param call_param0 // CHECK:STDOUT: %D.ref.loc30_24: type = name_ref D, file.%D.decl [concrete = constants.%D] // CHECK:STDOUT: %a: %D = value_binding a, %a.param diff --git a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon index 8706bb92b315..ade9b6ed1b8a 100644 --- a/toolchain/check/testdata/operators/overloaded/string_indexing.carbon +++ b/toolchain/check/testdata/operators/overloaded/string_indexing.carbon @@ -162,6 +162,7 @@ fn TestStringIndexing() { // CHECK:STDOUT: %specific_fn.loc5: = specific_function %impl.elem1.loc5, @str.as.IndexWith.impl.At(constants.%ImplicitAs.facet) [concrete = constants.%str.as.IndexWith.impl.At.specific_fn] // CHECK:STDOUT: %bound_method.loc5_32.2: = bound_method %String.val.loc5, %specific_fn.loc5 [concrete = constants.%bound_method] // CHECK:STDOUT: %str.as.IndexWith.impl.At.call.loc5: init %char = call %bound_method.loc5_32.2(%String.val.loc5, %int_0) [concrete = constants.%int_84] +// CHECK:STDOUT: %char.loc5: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %.loc5_32.3: %char = value_of_initializer %str.as.IndexWith.impl.At.call.loc5 [concrete = constants.%int_84] // CHECK:STDOUT: %.loc5_32.4: %char = converted %str.as.IndexWith.impl.At.call.loc5, %.loc5_32.3 [concrete = constants.%int_84] // CHECK:STDOUT: %c: %char = value_binding c, %.loc5_32.4 @@ -181,6 +182,7 @@ fn TestStringIndexing() { // CHECK:STDOUT: %specific_fn.loc6: = specific_function %impl.elem1.loc6, @str.as.IndexWith.impl.At(constants.%ImplicitAs.facet) [concrete = constants.%str.as.IndexWith.impl.At.specific_fn] // CHECK:STDOUT: %bound_method.loc6_32.2: = bound_method %String.val.loc6, %specific_fn.loc6 [concrete = constants.%bound_method] // CHECK:STDOUT: %str.as.IndexWith.impl.At.call.loc6: init %char = call %bound_method.loc6_32.2(%String.val.loc6, %int_3) [concrete = constants.%int_116] +// CHECK:STDOUT: %char.loc6: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %.loc6_32.3: %char = value_of_initializer %str.as.IndexWith.impl.At.call.loc6 [concrete = constants.%int_116] // CHECK:STDOUT: %.loc6_32.4: %char = converted %str.as.IndexWith.impl.At.call.loc6, %.loc6_32.3 [concrete = constants.%int_116] // CHECK:STDOUT: %d: %char = value_binding d, %.loc6_32.4 diff --git a/toolchain/check/testdata/package_expr/fail_not_found.carbon b/toolchain/check/testdata/package_expr/fail_not_found.carbon index 53af16df1f40..e47b8d23bf3f 100644 --- a/toolchain/check/testdata/package_expr/fail_not_found.carbon +++ b/toolchain/check/testdata/package_expr/fail_not_found.carbon @@ -67,10 +67,7 @@ fn Main() { // CHECK:STDOUT: %package.ref: = name_ref package, package [concrete = package] // CHECK:STDOUT: %x.ref: = name_ref x, [concrete = ] // CHECK:STDOUT: assign %y.var, -// CHECK:STDOUT: %.loc20: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var // CHECK:STDOUT: %DestroyOp.bound: = bound_method %y.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call: init %empty_tuple.type = call %DestroyOp.bound(%y.var) diff --git a/toolchain/check/testdata/package_expr/syntax.carbon b/toolchain/check/testdata/package_expr/syntax.carbon index 0019095dea5c..af74373a1d13 100644 --- a/toolchain/check/testdata/package_expr/syntax.carbon +++ b/toolchain/check/testdata/package_expr/syntax.carbon @@ -112,20 +112,14 @@ fn Main() { // CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i32.loc4 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %x.var [concrete = %x.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = ref_binding_pattern y [concrete] // CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] -// CHECK:STDOUT: %.loc5: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var [concrete = %y.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -230,10 +224,7 @@ fn Main() { // CHECK:STDOUT: %x.var_patt: %pattern_type.7ce = var_pattern %x.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %i32 = var %x.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %x.var [concrete = %x.var] // CHECK:STDOUT: %Main.decl: %Main.type = fn_decl @Main [concrete = constants.%Main] {} {} // CHECK:STDOUT: } @@ -251,12 +242,9 @@ fn Main() { // CHECK:STDOUT: %specific_fn.loc7: = specific_function %impl.elem0.loc7, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc7_3.2: = bound_method %int_1, %specific_fn.loc7 [concrete = constants.%bound_method.38b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc7_3.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc7_3: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %x.var, %.loc7_3 -// CHECK:STDOUT: %.loc7_17: type = splice_block %i32.loc7 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc7: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %x.var, %.loc7 +// CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %x: ref %i32 = ref_binding x, %x.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.7ce = ref_binding_pattern y [concrete] @@ -265,17 +253,14 @@ fn Main() { // CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt // CHECK:STDOUT: %package.ref: = name_ref package, package [concrete = package] // CHECK:STDOUT: %x.ref: ref %i32 = name_ref x, file.%x [concrete = file.%x.var] -// CHECK:STDOUT: %.loc9_30: %i32 = acquire_value %x.ref +// CHECK:STDOUT: %.loc9: %i32 = acquire_value %x.ref // CHECK:STDOUT: %impl.elem0.loc9: %.8e2 = impl_witness_access constants.%Copy.impl_witness.f17, element0 [concrete = constants.%Int.as.Copy.impl.Op.664] -// CHECK:STDOUT: %bound_method.loc9_30.1: = bound_method %.loc9_30, %impl.elem0.loc9 +// CHECK:STDOUT: %bound_method.loc9_30.1: = bound_method %.loc9, %impl.elem0.loc9 // CHECK:STDOUT: %specific_fn.loc9: = specific_function %impl.elem0.loc9, @Int.as.Copy.impl.Op(constants.%int_32) [concrete = constants.%Int.as.Copy.impl.Op.specific_fn] -// CHECK:STDOUT: %bound_method.loc9_30.2: = bound_method %.loc9_30, %specific_fn.loc9 -// CHECK:STDOUT: %Int.as.Copy.impl.Op.call: init %i32 = call %bound_method.loc9_30.2(%.loc9_30) +// CHECK:STDOUT: %bound_method.loc9_30.2: = bound_method %.loc9, %specific_fn.loc9 +// CHECK:STDOUT: %Int.as.Copy.impl.Op.call: init %i32 = call %bound_method.loc9_30.2(%.loc9) // CHECK:STDOUT: assign %y.var, %Int.as.Copy.impl.Op.call -// CHECK:STDOUT: %.loc9_17: type = splice_block %i32.loc9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var // CHECK:STDOUT: %DestroyOp.bound.loc9: = bound_method %y.var, constants.%DestroyOp // CHECK:STDOUT: %DestroyOp.call.loc9: init %empty_tuple.type = call %DestroyOp.bound.loc9(%y.var) diff --git a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon index e780b779a2c4..4101bc388ac1 100644 --- a/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon +++ b/toolchain/check/testdata/packages/fail_conflict_no_namespaces.carbon @@ -95,10 +95,7 @@ import library "var"; // CHECK:STDOUT: %Foo.var_patt: %pattern_type.7ce = var_pattern %Foo.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %Foo.var: ref %i32 = var %Foo.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %Foo: ref %i32 = ref_binding Foo, %Foo.var [concrete = %Foo.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/fail_export_name_params.carbon b/toolchain/check/testdata/packages/fail_export_name_params.carbon index 9d93b6eb13b0..910827bf222e 100644 --- a/toolchain/check/testdata/packages/fail_export_name_params.carbon +++ b/toolchain/check/testdata/packages/fail_export_name_params.carbon @@ -54,13 +54,19 @@ export C2(T:! type); // CHECK:STDOUT: %C1.decl: %C1.type = class_decl @C1 [concrete = constants.%C1.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_14.1: type = splice_block %.loc4_14.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_14.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc4_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: %C2.decl: %C2.type = class_decl @C2 [concrete = constants.%C2.generic] { // CHECK:STDOUT: %T.patt: %pattern_type = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_14.1: type = splice_block %.loc5_14.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc5_14.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc5_10.2: type = symbolic_binding T, 0 [symbolic = %T.loc5_10.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -111,7 +117,10 @@ export C2(T:! type); // CHECK:STDOUT: } // CHECK:STDOUT: %default.import = import // CHECK:STDOUT: %C1: %C1.type = export C1, imports.%Foo.C1 [concrete = constants.%C1.generic] -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_15.1: type = splice_block %.loc12_15.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc12_15.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = constants.%T] // CHECK:STDOUT: %C2: %C2.type = export C2, imports.%Foo.C2 [concrete = constants.%C2.generic] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/packages/fail_import_type_error.carbon b/toolchain/check/testdata/packages/fail_import_type_error.carbon index f9a30e5b0bf9..78196e7622f7 100644 --- a/toolchain/check/testdata/packages/fail_import_type_error.carbon +++ b/toolchain/check/testdata/packages/fail_import_type_error.carbon @@ -149,40 +149,28 @@ var d: i32 = d_ref; // CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] -// CHECK:STDOUT: %.loc6: type = splice_block %i32.loc6 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var [concrete = %a.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %b.patt: %pattern_type.7ce = ref_binding_pattern b [concrete] // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.7ce = ref_binding_pattern c [concrete] // CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] -// CHECK:STDOUT: %.loc8: type = splice_block %i32.loc8 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc8: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc8: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc8: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: ref %i32 = ref_binding c, %c.var [concrete = %c.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %d.patt: %pattern_type.7ce = ref_binding_pattern d [concrete] // CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] -// CHECK:STDOUT: %.loc9: type = splice_block %i32.loc9 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc9: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc9: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc9: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: ref %i32 = ref_binding d, %d.var [concrete = %d.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon index 59cbca844cc3..5743abfb980e 100644 --- a/toolchain/check/testdata/packages/implicit_imports_prelude.carbon +++ b/toolchain/check/testdata/packages/implicit_imports_prelude.carbon @@ -77,10 +77,7 @@ var b: i32 = a; // CHECK:STDOUT: %a.var_patt: %pattern_type.7ce = var_pattern %a.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %i32 = var %a.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a: ref %i32 = ref_binding a, %a.var [concrete = %a.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -149,10 +146,7 @@ var b: i32 = a; // CHECK:STDOUT: %b.var_patt: %pattern_type.501 = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/packages/missing_prelude.carbon b/toolchain/check/testdata/packages/missing_prelude.carbon index 04e6ec678935..c3656b3bd963 100644 --- a/toolchain/check/testdata/packages/missing_prelude.carbon +++ b/toolchain/check/testdata/packages/missing_prelude.carbon @@ -42,15 +42,36 @@ var n: i32; package Core library "[[@TEST_NAME]]"; -fn Int[T:! type](unused N:! T) -> {} { return {}; } +class X {} -// --- use_fake_int.carbon +fn Int[T:! type](unused N:! T) -> X { return {}; } + +interface ImplicitAs(T:! type) { + fn Convert[self: Self]() -> T; +} + +// --- fail_use_fake_int.carbon library "[[@TEST_NAME]]"; import Core library "prelude_fake_int"; -var n: {} = i32; +// We don't really care whether this works, but it shouldn't crash or otherwise misbehave. +// CHECK:STDERR: fail_use_fake_int.carbon:[[@LINE+14]]:17: error: cannot implicitly convert non-type value of type `Core.X` to `type` [ConversionFailureNonTypeToFacet] +// CHECK:STDERR: let n: Core.X = i32; +// CHECK:STDERR: ^~~ +// CHECK:STDERR: fail_use_fake_int.carbon:[[@LINE+11]]:17: note: type `Core.X` does not implement interface `Core.ImplicitAs(type)` [MissingImplInMemberAccessInContext] +// CHECK:STDERR: let n: Core.X = i32; +// CHECK:STDERR: ^~~ +// CHECK:STDERR: +// CHECK:STDERR: fail_use_fake_int.carbon:[[@LINE+7]]:17: error: cannot implicitly convert expression of type `type` to `Core.X` [ConversionFailure] +// CHECK:STDERR: let n: Core.X = i32; +// CHECK:STDERR: ^~~ +// CHECK:STDERR: fail_use_fake_int.carbon:[[@LINE+4]]:17: note: type `type` does not implement interface `Core.ImplicitAs(Core.X)` [MissingImplInMemberAccessInContext] +// CHECK:STDERR: let n: Core.X = i32; +// CHECK:STDERR: ^~~ +// CHECK:STDERR: +let n: Core.X = i32; // --- prelude_use_in_prelude.carbon @@ -58,11 +79,9 @@ package Core library "[[@TEST_NAME]]"; // Core is not an imported package here. -// Note that we are intentionally using a different type here from other cases -// to test that this function is called, not the one from prelude_fake_int. -fn Int[T:! type](unused N:! T) -> () { return (); } +class Int[T:! type](unused N:! T) {} -var n: () = i32; +let n: i32 = {}; // --- fail_prelude_as_namespace.carbon @@ -84,7 +103,8 @@ namespace Core; // CHECK:STDERR: fn Core.Int[T:! type](N:! T) -> {} { return {}; } -var n: {} = i32; +// Make sure use of `i32` doesn't crash after above errors. +let n: type = i32; // --- fail_prelude_as_class.carbon @@ -102,14 +122,10 @@ class Core { fn Int[T:! type](N:! T) -> {} { return {}; } } -var n: {} = i32; +let n: type = i32; // CHECK:STDOUT: --- fail_missing_prelude.carbon // CHECK:STDOUT: -// CHECK:STDOUT: constants { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] -// CHECK:STDOUT: } -// CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .n = %n @@ -119,7 +135,7 @@ var n: {} = i32; // CHECK:STDOUT: %n.var_patt: = var_pattern %n.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %n.var: ref = var %n.var_patt [concrete = ] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] +// CHECK:STDOUT: %.loc8: type = type_literal [concrete = ] // CHECK:STDOUT: %n: ref = ref_binding n, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -131,10 +147,6 @@ var n: {} = i32; // CHECK:STDOUT: // CHECK:STDOUT: --- fail_missing_prelude_member.carbon // CHECK:STDOUT: -// CHECK:STDOUT: constants { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] -// CHECK:STDOUT: } -// CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { // CHECK:STDOUT: .Int = @@ -153,80 +165,189 @@ var n: {} = i32; // CHECK:STDOUT: %n.var_patt: = var_pattern %n.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %n.var: ref = var %n.var_patt [concrete = ] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] +// CHECK:STDOUT: %.loc10: type = type_literal [concrete = ] // CHECK:STDOUT: %n: ref = ref_binding n, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- prelude_fake_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: %X: type = class_type @X [concrete] +// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %type: type = facet_type [concrete] // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self] // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %N: %T = symbolic_binding N, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] -// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %.dde: Core.Form = init_form %empty_struct_type, call_param0 [concrete] -// CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] +// CHECK:STDOUT: %.bfc: Core.Form = init_form %X, call_param0 [concrete] +// CHECK:STDOUT: %pattern_type.1f7: type = pattern_type %X [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] +// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] +// CHECK:STDOUT: %X.val: %X = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.type.595: type = generic_interface_type @ImplicitAs [concrete] +// CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.595 = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.type.9fe: type = facet_type <@ImplicitAs, @ImplicitAs(%T)> [symbolic] +// CHECK:STDOUT: %Self: %ImplicitAs.type.9fe = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic] +// CHECK:STDOUT: %pattern_type.8de: type = pattern_type %Self.binding.as_type [symbolic] +// CHECK:STDOUT: %.3cf: Core.Form = init_form %T, call_param1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs(%T, %Self) [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert: %ImplicitAs.WithSelf.Convert.type = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.assoc_type: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%T) [symbolic] +// CHECK:STDOUT: %assoc0: %ImplicitAs.assoc_type = assoc_entity element0, @ImplicitAs.%ImplicitAs.WithSelf.Convert.decl [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { +// CHECK:STDOUT: .X = %X.decl // CHECK:STDOUT: .Int = %Int.decl +// CHECK:STDOUT: .ImplicitAs = %ImplicitAs.decl // CHECK:STDOUT: } +// CHECK:STDOUT: %X.decl: type = class_decl @X [concrete = constants.%X] {} {} // CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [concrete] -// CHECK:STDOUT: %return.patt: %pattern_type.a96 = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: %pattern_type.a96 = out_param_pattern %return.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: %pattern_type.1f7 = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: %pattern_type.1f7 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc4_36.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc4_36.2: type = converted %.loc4_36.1, constants.%empty_struct_type [concrete = constants.%empty_struct_type] -// CHECK:STDOUT: %.loc4_36.3: Core.Form = init_form %.loc4_36.2, call_param0 [concrete = constants.%.dde] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc4_8.2: type = symbolic_binding T, 0 [symbolic = %T.loc4_8.1 (constants.%T)] -// CHECK:STDOUT: %.loc4_29: type = splice_block %T.ref [symbolic = %T.loc4_8.1 (constants.%T)] { +// CHECK:STDOUT: %X.ref: type = name_ref X, file.%X.decl [concrete = constants.%X] +// CHECK:STDOUT: %.loc6_35: Core.Form = init_form %X.ref, call_param0 [concrete = constants.%.bfc] +// CHECK:STDOUT: %.loc6_12.1: type = splice_block %.loc6_12.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc4_8.2 [symbolic = %T.loc4_8.1 (constants.%T)] +// CHECK:STDOUT: %.loc6_12.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } -// CHECK:STDOUT: %N.loc4_25.2: @Int.%T.loc4_8.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc4_25.1 (constants.%N)] -// CHECK:STDOUT: %return.param: ref %empty_struct_type = out_param call_param0 -// CHECK:STDOUT: %return: ref %empty_struct_type = return_slot %return.param +// CHECK:STDOUT: %T.loc6_8.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_8.1 (constants.%T)] +// CHECK:STDOUT: %.loc6_29: type = splice_block %T.ref [symbolic = %T.loc6_8.1 (constants.%T)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_8.2 [symbolic = %T.loc6_8.1 (constants.%T)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %N.loc6_25.2: @Int.%T.loc6_8.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc6_25.1 (constants.%N)] +// CHECK:STDOUT: %return.param: ref %X = out_param call_param0 +// CHECK:STDOUT: %return: ref %X = return_slot %return.param +// CHECK:STDOUT: } +// CHECK:STDOUT: %ImplicitAs.decl: %ImplicitAs.type.595 = interface_decl @ImplicitAs [concrete = constants.%ImplicitAs.generic] { +// CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %.loc8_26.1: type = splice_block %.loc8_26.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc8_26.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %T.loc8_22.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_22.1 (constants.%T)] // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Int(%T.loc4_8.2: type, %N.loc4_25.2: @Int.%T.loc4_8.1 (%T)) { -// CHECK:STDOUT: %T.loc4_8.1: type = symbolic_binding T, 0 [symbolic = %T.loc4_8.1 (constants.%T)] -// CHECK:STDOUT: %N.loc4_25.1: @Int.%T.loc4_8.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc4_25.1 (constants.%N)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc4_8.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] +// CHECK:STDOUT: generic interface @ImplicitAs(%T.loc8_22.2: type) { +// CHECK:STDOUT: %T.loc8_22.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_22.1 (constants.%T)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %ImplicitAs.type.loc8: type = facet_type <@ImplicitAs, @ImplicitAs(%T.loc8_22.1)> [symbolic = %ImplicitAs.type.loc8 (constants.%ImplicitAs.type.9fe)] +// CHECK:STDOUT: %Self.loc8_32.2: @ImplicitAs.%ImplicitAs.type.loc8 (%ImplicitAs.type.9fe) = symbolic_binding Self, 1 [symbolic = %Self.loc8_32.2 (constants.%Self)] +// CHECK:STDOUT: +// CHECK:STDOUT: interface { +// CHECK:STDOUT: %Self.loc8_32.1: @ImplicitAs.%ImplicitAs.type.loc8 (%ImplicitAs.type.9fe) = symbolic_binding Self, 1 [symbolic = %Self.loc8_32.2 (constants.%Self)] +// CHECK:STDOUT: interface_with_self_decl @ImplicitAs [concrete] +// CHECK:STDOUT: +// CHECK:STDOUT: !with Self: +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.decl: @ImplicitAs.%ImplicitAs.WithSelf.Convert.type (%ImplicitAs.WithSelf.Convert.type) = fn_decl @ImplicitAs.WithSelf.Convert [symbolic = @ImplicitAs.%ImplicitAs.WithSelf.Convert (constants.%ImplicitAs.WithSelf.Convert)] { +// CHECK:STDOUT: %self.patt: @ImplicitAs.WithSelf.Convert.%pattern_type.loc9_14 (%pattern_type.8de) = value_binding_pattern self [concrete] +// CHECK:STDOUT: %self.param_patt: @ImplicitAs.WithSelf.Convert.%pattern_type.loc9_14 (%pattern_type.8de) = value_param_pattern %self.patt, call_param0 [concrete] +// CHECK:STDOUT: %return.patt: @ImplicitAs.WithSelf.Convert.%pattern_type.loc9_28 (%pattern_type.51d) = return_slot_pattern [concrete] +// CHECK:STDOUT: %return.param_patt: @ImplicitAs.WithSelf.Convert.%pattern_type.loc9_28 (%pattern_type.51d) = out_param_pattern %return.patt, call_param1 [concrete] +// CHECK:STDOUT: } { +// CHECK:STDOUT: %T.ref: type = name_ref T, @ImplicitAs.%T.loc8_22.2 [symbolic = %T (constants.%T)] +// CHECK:STDOUT: %.loc9_31.2: Core.Form = init_form %T.ref, call_param1 [symbolic = %.loc9_31.1 (constants.%.3cf)] +// CHECK:STDOUT: %self.param: @ImplicitAs.WithSelf.Convert.%Self.binding.as_type (%Self.binding.as_type) = value_param call_param0 +// CHECK:STDOUT: %.loc9_20.1: type = splice_block %.loc9_20.3 [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)] { +// CHECK:STDOUT: %.loc9_20.2: @ImplicitAs.WithSelf.Convert.%ImplicitAs.type (%ImplicitAs.type.9fe) = specific_constant @ImplicitAs.%Self.loc8_32.1, @ImplicitAs(constants.%T) [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.ref: @ImplicitAs.WithSelf.Convert.%ImplicitAs.type (%ImplicitAs.type.9fe) = name_ref Self, %.loc9_20.2 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.as_type: type = facet_access_type %Self.ref [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)] +// CHECK:STDOUT: %.loc9_20.3: type = converted %Self.ref, %Self.as_type [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %self: @ImplicitAs.WithSelf.Convert.%Self.binding.as_type (%Self.binding.as_type) = value_binding self, %self.param +// CHECK:STDOUT: %return.param: ref @ImplicitAs.WithSelf.Convert.%T (%T) = out_param call_param1 +// CHECK:STDOUT: %return: ref @ImplicitAs.WithSelf.Convert.%T (%T) = return_slot %return.param +// CHECK:STDOUT: } +// CHECK:STDOUT: %assoc0.loc9_32.1: @ImplicitAs.%ImplicitAs.assoc_type (%ImplicitAs.assoc_type) = assoc_entity element0, %ImplicitAs.WithSelf.Convert.decl [symbolic = %assoc0.loc9_32.2 (constants.%assoc0)] +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = %Self.loc8_32.1 +// CHECK:STDOUT: .T = +// CHECK:STDOUT: .T = +// CHECK:STDOUT: .Convert = %assoc0.loc9_32.1 +// CHECK:STDOUT: witness = (%ImplicitAs.WithSelf.Convert.decl) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: class @X { +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%X +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @Int(%T.loc6_8.2: type, %N.loc6_25.2: @Int.%T.loc6_8.1 (%T)) { +// CHECK:STDOUT: %T.loc6_8.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_8.1 (constants.%T)] +// CHECK:STDOUT: %N.loc6_25.1: @Int.%T.loc6_8.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc6_25.1 (constants.%N)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc6_8.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> out %return.param: %empty_struct_type { +// CHECK:STDOUT: fn() -> out %return.param: %X { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc4_48.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc4_48.2: init %empty_struct_type = struct_init () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc4_49: init %empty_struct_type = converted %.loc4_48.1, %.loc4_48.2 [concrete = constants.%empty_struct] -// CHECK:STDOUT: return %.loc4_49 +// CHECK:STDOUT: %.loc6_47.1: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] +// CHECK:STDOUT: %.loc6_47.2: init %X to %return.param = class_init () [concrete = constants.%X.val] +// CHECK:STDOUT: %.loc6_48: init %X = converted %.loc6_47.1, %.loc6_47.2 [concrete = constants.%X.val] +// CHECK:STDOUT: return %.loc6_48 to %return.param // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: generic fn @ImplicitAs.WithSelf.Convert(@ImplicitAs.%T.loc8_22.2: type, @ImplicitAs.%Self.loc8_32.1: @ImplicitAs.%ImplicitAs.type.loc8 (%ImplicitAs.type.9fe)) { +// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] +// CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(%T)> [symbolic = %ImplicitAs.type (constants.%ImplicitAs.type.9fe)] +// CHECK:STDOUT: %Self: @ImplicitAs.WithSelf.Convert.%ImplicitAs.type (%ImplicitAs.type.9fe) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self)] +// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)] +// CHECK:STDOUT: %pattern_type.loc9_14: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type.loc9_14 (constants.%pattern_type.8de)] +// CHECK:STDOUT: %.loc9_31.1: Core.Form = init_form %T, call_param1 [symbolic = %.loc9_31.1 (constants.%.3cf)] +// CHECK:STDOUT: %pattern_type.loc9_28: type = pattern_type %T [symbolic = %pattern_type.loc9_28 (constants.%pattern_type.51d)] +// CHECK:STDOUT: +// CHECK:STDOUT: fn(%self.param: @ImplicitAs.WithSelf.Convert.%Self.binding.as_type (%Self.binding.as_type)) -> out %return.param: @ImplicitAs.WithSelf.Convert.%T (%T); +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: specific @Int(constants.%T, constants.%N) { -// CHECK:STDOUT: %T.loc4_8.1 => constants.%T -// CHECK:STDOUT: %N.loc4_25.1 => constants.%N +// CHECK:STDOUT: %T.loc6_8.1 => constants.%T +// CHECK:STDOUT: %N.loc6_25.1 => constants.%N // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: --- use_fake_int.carbon +// CHECK:STDOUT: specific @ImplicitAs(constants.%T) { +// CHECK:STDOUT: %T.loc8_22.1 => constants.%T +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(constants.%T, constants.%Self) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs.WithSelf.Convert(constants.%T, constants.%Self) { +// CHECK:STDOUT: %T => constants.%T +// CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.9fe +// CHECK:STDOUT: %Self => constants.%Self +// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type +// CHECK:STDOUT: %pattern_type.loc9_14 => constants.%pattern_type.8de +// CHECK:STDOUT: %.loc9_31.1 => constants.%.3cf +// CHECK:STDOUT: %pattern_type.loc9_28 => constants.%pattern_type.51d +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- fail_use_fake_int.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: %X: type = class_type @X [concrete] // CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] -// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] -// CHECK:STDOUT: %pattern_type.a96: type = pattern_type %empty_struct_type [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] +// CHECK:STDOUT: %pattern_type.14f: type = pattern_type %X [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] // CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] @@ -235,16 +356,53 @@ var n: {} = i32; // CHECK:STDOUT: %N: %T = symbolic_binding N, 1 [symbolic] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] // CHECK:STDOUT: %Int.specific_fn: = specific_function %Int, @Int(Core.IntLiteral, %int_32) [concrete] +// CHECK:STDOUT: %ImplicitAs.type.cc7: type = generic_interface_type @ImplicitAs [concrete] +// CHECK:STDOUT: %ImplicitAs.generic: %ImplicitAs.type.cc7 = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.type.031: type = facet_type <@ImplicitAs, @ImplicitAs(%T)> [symbolic] +// CHECK:STDOUT: %Self.738: %ImplicitAs.type.031 = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.assoc_type.ff3: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%T) [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.b3a: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs(%T, %Self.738) [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.1de: %ImplicitAs.WithSelf.Convert.type.b3a = struct_value () [symbolic] +// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self.738 [symbolic] +// CHECK:STDOUT: %pattern_type.e9a: type = pattern_type %Self.binding.as_type [symbolic] +// CHECK:STDOUT: %.3cf: Core.Form = init_form %T, call_param1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.type.151: type = facet_type <@ImplicitAs, @ImplicitAs(type)> [concrete] +// CHECK:STDOUT: %Self.a80: %ImplicitAs.type.151 = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.5f1: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs(type, %Self.738) [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.0fb: %ImplicitAs.WithSelf.Convert.type.5f1 = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.assoc_type.ce4: type = assoc_entity_type @ImplicitAs, @ImplicitAs(type) [concrete] +// CHECK:STDOUT: %assoc0.2d2: %ImplicitAs.assoc_type.ce4 = assoc_entity element0, imports.%Core.import_ref.201 [concrete] +// CHECK:STDOUT: %assoc0.843: %ImplicitAs.assoc_type.ff3 = assoc_entity element0, imports.%Core.import_ref.cc1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.type.c56: type = facet_type <@ImplicitAs, @ImplicitAs(%X)> [concrete] +// CHECK:STDOUT: %Self.672: %ImplicitAs.type.c56 = symbolic_binding Self, 1 [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type.582: type = fn_type @ImplicitAs.WithSelf.Convert, @ImplicitAs(%X, %Self.738) [symbolic] +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.af8: %ImplicitAs.WithSelf.Convert.type.582 = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.assoc_type.87b: type = assoc_entity_type @ImplicitAs, @ImplicitAs(%X) [concrete] +// CHECK:STDOUT: %assoc0.594: %ImplicitAs.assoc_type.87b = assoc_entity element0, imports.%Core.import_ref.201 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { // CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: .X = %Core.X // CHECK:STDOUT: .Int = %Core.Int +// CHECK:STDOUT: .ImplicitAs = %Core.ImplicitAs // CHECK:STDOUT: import Core//prelude_fake_int // CHECK:STDOUT: } +// CHECK:STDOUT: %Core.X: type = import_ref Core//prelude_fake_int, X, loaded [concrete = constants.%X] +// CHECK:STDOUT: %Core.import_ref.8f2: = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [concrete = constants.%complete_type] +// CHECK:STDOUT: %Core.import_ref.689 = import_ref Core//prelude_fake_int, inst{{[0-9A-F]+}} [no loc], unloaded // CHECK:STDOUT: %Core.Int: %Int.type = import_ref Core//prelude_fake_int, Int, loaded [concrete = constants.%Int] -// CHECK:STDOUT: %Core.import_ref.b3b: type = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @Int.%T (constants.%T)] +// CHECK:STDOUT: %Core.import_ref.b3bc94.1: type = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @Int.%T (constants.%T)] // CHECK:STDOUT: %Core.import_ref.b42: @Int.%T (%T) = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @Int.%N (constants.%N)] +// CHECK:STDOUT: %Core.ImplicitAs: %ImplicitAs.type.cc7 = import_ref Core//prelude_fake_int, ImplicitAs, loaded [concrete = constants.%ImplicitAs.generic] +// CHECK:STDOUT: %Core.import_ref.178: @ImplicitAs.%ImplicitAs.assoc_type (%ImplicitAs.assoc_type.ff3) = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @ImplicitAs.%assoc0 (constants.%assoc0.843)] +// CHECK:STDOUT: %Core.Convert = import_ref Core//prelude_fake_int, Convert, unloaded +// CHECK:STDOUT: %Core.import_ref.201: @ImplicitAs.%ImplicitAs.WithSelf.Convert.type (%ImplicitAs.WithSelf.Convert.type.b3a) = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @ImplicitAs.%ImplicitAs.WithSelf.Convert (constants.%ImplicitAs.WithSelf.Convert.1de)] +// CHECK:STDOUT: %Core.import_ref.b3bc94.3: type = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @ImplicitAs.%T.1 (constants.%T)] +// CHECK:STDOUT: %Core.import_ref.ac4dc5.2: @ImplicitAs.%ImplicitAs.type.1 (%ImplicitAs.type.031) = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @ImplicitAs.%Self.1 (constants.%Self.738)] +// CHECK:STDOUT: %Core.import_ref.9ec = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.b3bc94.4: type = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, loaded [symbolic = @ImplicitAs.%T.1 (constants.%T)] +// CHECK:STDOUT: %Core.import_ref.cc1 = import_ref Core//prelude_fake_int, loc{{\d+_\d+}}, unloaded // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -254,18 +412,41 @@ var n: {} = i32; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %n.patt: %pattern_type.a96 = ref_binding_pattern n [concrete] -// CHECK:STDOUT: %n.var_patt: %pattern_type.a96 = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.patt: %pattern_type.14f = value_binding_pattern n [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %empty_struct_type = var %n.var_patt [concrete] -// CHECK:STDOUT: %.loc6_9.1: type = splice_block %.loc6_9.3 [concrete = constants.%empty_struct_type] { -// CHECK:STDOUT: %.loc6_9.2: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] -// CHECK:STDOUT: %.loc6_9.3: type = converted %.loc6_9.2, constants.%empty_struct_type [concrete = constants.%empty_struct_type] +// CHECK:STDOUT: %.loc21_12: type = splice_block %X.ref [concrete = constants.%X] { +// CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] +// CHECK:STDOUT: %X.ref: type = name_ref X, imports.%Core.X [concrete = constants.%X] // CHECK:STDOUT: } -// CHECK:STDOUT: %n: ref %empty_struct_type = ref_binding n, %n.var [concrete = %n.var] +// CHECK:STDOUT: %.loc21_17: %X = converted @__global_init.%.loc21_17.3, [concrete = ] +// CHECK:STDOUT: %n: %X = value_binding n, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Int(imports.%Core.import_ref.b3b: type, imports.%Core.import_ref.b42: @Int.%T (%T)) [from "prelude_fake_int.carbon"] { +// CHECK:STDOUT: generic interface @ImplicitAs(imports.%Core.import_ref.b3bc94.4: type) [from "prelude_fake_int.carbon"] { +// CHECK:STDOUT: %T.1: type = symbolic_binding T, 0 [symbolic = %T.1 (constants.%T)] +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %ImplicitAs.type.1: type = facet_type <@ImplicitAs, @ImplicitAs(%T.1)> [symbolic = %ImplicitAs.type.1 (constants.%ImplicitAs.type.031)] +// CHECK:STDOUT: %Self.1: @ImplicitAs.%ImplicitAs.type.1 (%ImplicitAs.type.031) = symbolic_binding Self, 1 [symbolic = %Self.1 (constants.%Self.738)] +// CHECK:STDOUT: +// CHECK:STDOUT: interface { +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = imports.%Core.import_ref.9ec +// CHECK:STDOUT: .Convert = imports.%Core.import_ref.178 +// CHECK:STDOUT: witness = (imports.%Core.Convert) +// CHECK:STDOUT: +// CHECK:STDOUT: !requires: +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: class @X [from "prelude_fake_int.carbon"] { +// CHECK:STDOUT: complete_type_witness = imports.%Core.import_ref.8f2 +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = imports.%Core.import_ref.689 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: generic fn @Int(imports.%Core.import_ref.b3bc94.1: type, imports.%Core.import_ref.b42: @Int.%T (%T)) [from "prelude_fake_int.carbon"] { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: %N: @Int.%T (%T) = symbolic_binding N, 1 [symbolic = %N (constants.%N)] // CHECK:STDOUT: %pattern_type: type = pattern_type %T [symbolic = %pattern_type (constants.%pattern_type.51d)] @@ -275,12 +456,25 @@ var n: {} = i32; // CHECK:STDOUT: fn; // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: generic fn @ImplicitAs.WithSelf.Convert(imports.%Core.import_ref.b3bc94.3: type, imports.%Core.import_ref.ac4dc5.2: @ImplicitAs.%ImplicitAs.type.1 (%ImplicitAs.type.031)) [from "prelude_fake_int.carbon"] { +// CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] +// CHECK:STDOUT: %ImplicitAs.type: type = facet_type <@ImplicitAs, @ImplicitAs(%T)> [symbolic = %ImplicitAs.type (constants.%ImplicitAs.type.031)] +// CHECK:STDOUT: %Self: @ImplicitAs.WithSelf.Convert.%ImplicitAs.type (%ImplicitAs.type.031) = symbolic_binding Self, 1 [symbolic = %Self (constants.%Self.738)] +// CHECK:STDOUT: %Self.binding.as_type: type = symbolic_binding_type Self, 1, %Self [symbolic = %Self.binding.as_type (constants.%Self.binding.as_type)] +// CHECK:STDOUT: %pattern_type.1: type = pattern_type %Self.binding.as_type [symbolic = %pattern_type.1 (constants.%pattern_type.e9a)] +// CHECK:STDOUT: %.1: Core.Form = init_form %T, call_param1 [symbolic = %.1 (constants.%.3cf)] +// CHECK:STDOUT: %pattern_type.2: type = pattern_type %T [symbolic = %pattern_type.2 (constants.%pattern_type.51d)] +// CHECK:STDOUT: +// CHECK:STDOUT: fn; +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] // CHECK:STDOUT: %Int.specific_fn: = specific_function constants.%Int, @Int(Core.IntLiteral, constants.%int_32) [concrete = constants.%Int.specific_fn] -// CHECK:STDOUT: %Int.call: init %empty_struct_type = call %Int.specific_fn() -// CHECK:STDOUT: assign file.%n.var, %Int.call +// CHECK:STDOUT: %.loc21_17.1: ref %X = temporary_storage +// CHECK:STDOUT: %Int.call: init %X to %.loc21_17.1 = call %Int.specific_fn() +// CHECK:STDOUT: %.loc21_17.2: type = converted %Int.call, [concrete = ] +// CHECK:STDOUT: %.loc21_17.3: type = type_literal [concrete = ] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: @@ -298,6 +492,60 @@ var n: {} = i32; // CHECK:STDOUT: !definition: // CHECK:STDOUT: } // CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(constants.%T) { +// CHECK:STDOUT: %T.1 => constants.%T +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(constants.%T, constants.%Self.738) {} +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs.WithSelf.Convert(constants.%T, constants.%Self.738) { +// CHECK:STDOUT: %T => constants.%T +// CHECK:STDOUT: %ImplicitAs.type => constants.%ImplicitAs.type.031 +// CHECK:STDOUT: %Self => constants.%Self.738 +// CHECK:STDOUT: %Self.binding.as_type => constants.%Self.binding.as_type +// CHECK:STDOUT: %pattern_type.1 => constants.%pattern_type.e9a +// CHECK:STDOUT: %.1 => constants.%.3cf +// CHECK:STDOUT: %pattern_type.2 => constants.%pattern_type.51d +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(type) { +// CHECK:STDOUT: %T.1 => type +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %ImplicitAs.type.1 => constants.%ImplicitAs.type.151 +// CHECK:STDOUT: %Self.1 => constants.%Self.a80 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(type, constants.%Self.738) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.2 => type +// CHECK:STDOUT: %ImplicitAs.type.2 => constants.%ImplicitAs.type.151 +// CHECK:STDOUT: %Self.2 => constants.%Self.738 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.5f1 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.0fb +// CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.ce4 +// CHECK:STDOUT: %assoc0 => constants.%assoc0.2d2 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(constants.%X) { +// CHECK:STDOUT: %T.1 => constants.%X +// CHECK:STDOUT: +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %ImplicitAs.type.1 => constants.%ImplicitAs.type.c56 +// CHECK:STDOUT: %Self.1 => constants.%Self.672 +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: specific @ImplicitAs(constants.%X, constants.%Self.738) { +// CHECK:STDOUT: !definition: +// CHECK:STDOUT: %T.2 => constants.%X +// CHECK:STDOUT: %ImplicitAs.type.2 => constants.%ImplicitAs.type.c56 +// CHECK:STDOUT: %Self.2 => constants.%Self.738 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert.type => constants.%ImplicitAs.WithSelf.Convert.type.582 +// CHECK:STDOUT: %ImplicitAs.WithSelf.Convert => constants.%ImplicitAs.WithSelf.Convert.af8 +// CHECK:STDOUT: %ImplicitAs.assoc_type => constants.%ImplicitAs.assoc_type.87b +// CHECK:STDOUT: %assoc0 => constants.%assoc0.594 +// CHECK:STDOUT: } +// CHECK:STDOUT: // CHECK:STDOUT: --- prelude_use_in_prelude.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { @@ -307,15 +555,17 @@ var n: {} = i32; // CHECK:STDOUT: %pattern_type.98f: type = pattern_type type [concrete] // CHECK:STDOUT: %N: %T = symbolic_binding N, 1 [symbolic] // CHECK:STDOUT: %pattern_type.51d: type = pattern_type %T [symbolic] -// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] -// CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] -// CHECK:STDOUT: %.842: Core.Form = init_form %empty_tuple.type, call_param0 [concrete] -// CHECK:STDOUT: %pattern_type.cb1: type = pattern_type %empty_tuple.type [concrete] -// CHECK:STDOUT: %Int.type: type = fn_type @Int [concrete] -// CHECK:STDOUT: %Int: %Int.type = struct_value () [concrete] +// CHECK:STDOUT: %Int.type: type = generic_class_type @Int [concrete] +// CHECK:STDOUT: %Int.generic: %Int.type = struct_value () [concrete] +// CHECK:STDOUT: %Int.246: type = class_type @Int, @Int(%T, %N) [symbolic] +// CHECK:STDOUT: %empty_struct_type: type = struct_type {} [concrete] +// CHECK:STDOUT: %complete_type: = complete_type_witness %empty_struct_type [concrete] // CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete] // CHECK:STDOUT: %pattern_type.dc0: type = pattern_type Core.IntLiteral [concrete] -// CHECK:STDOUT: %Int.specific_fn: = specific_function %Int, @Int(Core.IntLiteral, %int_32) [concrete] +// CHECK:STDOUT: %Int.553: type = class_type @Int, @Int(Core.IntLiteral, %int_32) [concrete] +// CHECK:STDOUT: %pattern_type.efe: type = pattern_type %Int.553 [concrete] +// CHECK:STDOUT: %empty_struct: %empty_struct_type = struct_value () [concrete] +// CHECK:STDOUT: %Int.val: %Int.553 = struct_value () [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: file { @@ -323,71 +573,64 @@ var n: {} = i32; // CHECK:STDOUT: .Int = %Int.decl // CHECK:STDOUT: .n = %n // CHECK:STDOUT: } -// CHECK:STDOUT: %Int.decl: %Int.type = fn_decl @Int [concrete = constants.%Int] { +// CHECK:STDOUT: %Int.decl: %Int.type = class_decl @Int [concrete = constants.%Int.generic] { // CHECK:STDOUT: %T.patt: %pattern_type.98f = symbolic_binding_pattern T, 0 [concrete] // CHECK:STDOUT: %N.patt: @Int.%pattern_type (%pattern_type.51d) = symbolic_binding_pattern N, 1 [concrete] -// CHECK:STDOUT: %return.patt: %pattern_type.cb1 = return_slot_pattern [concrete] -// CHECK:STDOUT: %return.param_patt: %pattern_type.cb1 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc8_36.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc8_36.2: type = converted %.loc8_36.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: %.loc8_36.3: Core.Form = init_form %.loc8_36.2, call_param0 [concrete = constants.%.842] -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.loc8_8.2: type = symbolic_binding T, 0 [symbolic = %T.loc8_8.1 (constants.%T)] -// CHECK:STDOUT: %.loc8_29: type = splice_block %T.ref [symbolic = %T.loc8_8.1 (constants.%T)] { +// CHECK:STDOUT: %.loc6_15.1: type = splice_block %.loc6_15.2 [concrete = type] { // CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc8_8.2 [symbolic = %T.loc8_8.1 (constants.%T)] +// CHECK:STDOUT: %.loc6_15.2: type = type_literal type [concrete = type] // CHECK:STDOUT: } -// CHECK:STDOUT: %N.loc8_25.2: @Int.%T.loc8_8.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc8_25.1 (constants.%N)] -// CHECK:STDOUT: %return.param: ref %empty_tuple.type = out_param call_param0 -// CHECK:STDOUT: %return: ref %empty_tuple.type = return_slot %return.param +// CHECK:STDOUT: %T.loc6_11.2: type = symbolic_binding T, 0 [symbolic = %T.loc6_11.1 (constants.%T)] +// CHECK:STDOUT: %.loc6_32: type = splice_block %T.ref [symbolic = %T.loc6_11.1 (constants.%T)] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %T.ref: type = name_ref T, %T.loc6_11.2 [symbolic = %T.loc6_11.1 (constants.%T)] +// CHECK:STDOUT: } +// CHECK:STDOUT: %N.loc6_28.2: @Int.%T.loc6_11.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc6_28.1 (constants.%N)] // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %n.patt: %pattern_type.cb1 = ref_binding_pattern n [concrete] -// CHECK:STDOUT: %n.var_patt: %pattern_type.cb1 = var_pattern %n.patt [concrete] +// CHECK:STDOUT: %n.patt: %pattern_type.efe = value_binding_pattern n [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %n.var: ref %empty_tuple.type = var %n.var_patt [concrete] -// CHECK:STDOUT: %.loc10_9.1: type = splice_block %.loc10_9.3 [concrete = constants.%empty_tuple.type] { -// CHECK:STDOUT: %.loc10_9.2: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc10_9.3: type = converted %.loc10_9.2, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] -// CHECK:STDOUT: } -// CHECK:STDOUT: %n: ref %empty_tuple.type = ref_binding n, %n.var [concrete = %n.var] +// CHECK:STDOUT: %.loc8_8: type = type_literal constants.%Int.553 [concrete = constants.%Int.553] +// CHECK:STDOUT: %.loc8_15.1: ref %Int.553 = temporary_storage +// CHECK:STDOUT: %.loc8_15.2: init %Int.553 to %.loc8_15.1 = class_init () [concrete = constants.%Int.val] +// CHECK:STDOUT: %.loc8_15.3: ref %Int.553 = temporary %.loc8_15.1, %.loc8_15.2 +// CHECK:STDOUT: %.loc8_15.4: ref %Int.553 = converted @__global_init.%.loc8, %.loc8_15.3 +// CHECK:STDOUT: %.loc8_15.5: %Int.553 = acquire_value %.loc8_15.4 +// CHECK:STDOUT: %n: %Int.553 = value_binding n, %.loc8_15.5 // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic fn @Int(%T.loc8_8.2: type, %N.loc8_25.2: @Int.%T.loc8_8.1 (%T)) { -// CHECK:STDOUT: %T.loc8_8.1: type = symbolic_binding T, 0 [symbolic = %T.loc8_8.1 (constants.%T)] -// CHECK:STDOUT: %N.loc8_25.1: @Int.%T.loc8_8.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc8_25.1 (constants.%N)] -// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc8_8.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] +// CHECK:STDOUT: generic class @Int(%T.loc6_11.2: type, %N.loc6_28.2: @Int.%T.loc6_11.1 (%T)) { +// CHECK:STDOUT: %T.loc6_11.1: type = symbolic_binding T, 0 [symbolic = %T.loc6_11.1 (constants.%T)] +// CHECK:STDOUT: %N.loc6_28.1: @Int.%T.loc6_11.1 (%T) = symbolic_binding N, 1 [symbolic = %N.loc6_28.1 (constants.%N)] +// CHECK:STDOUT: %pattern_type: type = pattern_type %T.loc6_11.1 [symbolic = %pattern_type (constants.%pattern_type.51d)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: // CHECK:STDOUT: -// CHECK:STDOUT: fn() -> out %return.param: %empty_tuple.type { -// CHECK:STDOUT: !entry: -// CHECK:STDOUT: %.loc8_48.1: %empty_tuple.type = tuple_literal () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc8_48.2: init %empty_tuple.type = tuple_init () [concrete = constants.%empty_tuple] -// CHECK:STDOUT: %.loc8_49: init %empty_tuple.type = converted %.loc8_48.1, %.loc8_48.2 [concrete = constants.%empty_tuple] -// CHECK:STDOUT: return %.loc8_49 +// CHECK:STDOUT: class { +// CHECK:STDOUT: %complete_type: = complete_type_witness constants.%empty_struct_type [concrete = constants.%complete_type] +// CHECK:STDOUT: complete_type_witness = %complete_type +// CHECK:STDOUT: +// CHECK:STDOUT: !members: +// CHECK:STDOUT: .Self = constants.%Int.246 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %Int.specific_fn: = specific_function constants.%Int, @Int(Core.IntLiteral, constants.%int_32) [concrete = constants.%Int.specific_fn] -// CHECK:STDOUT: %Int.call: init %empty_tuple.type = call %Int.specific_fn() -// CHECK:STDOUT: assign file.%n.var, %Int.call +// CHECK:STDOUT: %.loc8: %empty_struct_type = struct_literal () [concrete = constants.%empty_struct] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Int(constants.%T, constants.%N) { -// CHECK:STDOUT: %T.loc8_8.1 => constants.%T -// CHECK:STDOUT: %N.loc8_25.1 => constants.%N +// CHECK:STDOUT: %T.loc6_11.1 => constants.%T +// CHECK:STDOUT: %N.loc6_28.1 => constants.%N // CHECK:STDOUT: %pattern_type => constants.%pattern_type.51d // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: specific @Int(Core.IntLiteral, constants.%int_32) { -// CHECK:STDOUT: %T.loc8_8.1 => Core.IntLiteral -// CHECK:STDOUT: %N.loc8_25.1 => constants.%int_32 +// CHECK:STDOUT: %T.loc6_11.1 => Core.IntLiteral +// CHECK:STDOUT: %N.loc6_28.1 => constants.%int_32 // CHECK:STDOUT: %pattern_type => constants.%pattern_type.dc0 // CHECK:STDOUT: // CHECK:STDOUT: !definition: diff --git a/toolchain/check/testdata/patterns/underscore.carbon b/toolchain/check/testdata/patterns/underscore.carbon index f0d8911e1b84..607b60edc47c 100644 --- a/toolchain/check/testdata/patterns/underscore.carbon +++ b/toolchain/check/testdata/patterns/underscore.carbon @@ -311,7 +311,10 @@ fn F() -> {} { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %_.loc4_6.2: type = symbolic_binding _, 0 [symbolic = %_.loc4_6.1 (constants.%_)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} @@ -382,7 +385,10 @@ fn F() -> {} { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %_.loc4_6.2: type = symbolic_binding _, 0 [symbolic = %_.loc4_6.1 (constants.%_)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] {} {} @@ -442,13 +448,19 @@ fn F() -> {} { // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] { // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.1: type = splice_block %.loc4_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc4_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %_.loc4_6.2: type = symbolic_binding _, 0 [symbolic = %_.loc4_6.1 (constants.%_)] // CHECK:STDOUT: } // CHECK:STDOUT: %G.decl: %G.type = fn_decl @G [concrete = constants.%G] { // CHECK:STDOUT: %_.patt: %pattern_type = symbolic_binding_pattern _, 0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.1: type = splice_block %.loc6_10.2 [concrete = type] { +// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc6_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %_.loc6_6.2: type = symbolic_binding _, 0 [symbolic = %_.loc6_6.1 (constants.%_)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/address_of_deref.carbon b/toolchain/check/testdata/pointer/address_of_deref.carbon index efaa7dc71146..9cef6da79215 100644 --- a/toolchain/check/testdata/pointer/address_of_deref.carbon +++ b/toolchain/check/testdata/pointer/address_of_deref.carbon @@ -92,8 +92,7 @@ fn F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -113,12 +112,9 @@ fn F() -> i32 { // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_0, %specific_fn.loc16 [concrete = constants.%bound_method] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc16_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc16_3: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc16_3 -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc16 +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: ref %i32 = ref_binding n, %n.var // CHECK:STDOUT: %n.ref: ref %i32 = name_ref n, %n // CHECK:STDOUT: %addr.loc17_13: %ptr.235 = addr_of %n.ref diff --git a/toolchain/check/testdata/pointer/address_of_lvalue.carbon b/toolchain/check/testdata/pointer/address_of_lvalue.carbon index 0bebee579db4..6d2d92f6eac3 100644 --- a/toolchain/check/testdata/pointer/address_of_lvalue.carbon +++ b/toolchain/check/testdata/pointer/address_of_lvalue.carbon @@ -159,10 +159,8 @@ fn F() { // CHECK:STDOUT: %.loc16_3: init %struct_type.a.b.501 = converted %.loc16_46.1, %.loc16_46.8 [concrete = constants.%struct.ed5] // CHECK:STDOUT: assign %s.var, %.loc16_3 // CHECK:STDOUT: %.loc16_27: type = splice_block %struct_type.a.b.loc16 [concrete = constants.%struct_type.a.b.501] { -// 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: %int_32.loc16_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_15: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc16: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %s: ref %struct_type.a.b.501 = ref_binding s, %s.var @@ -180,10 +178,8 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc18: init %ptr.3ee = call %bound_method.loc18_39.2(%addr.loc18) // CHECK:STDOUT: assign %p.var, %ptr.as.Copy.impl.Op.call.loc18 // CHECK:STDOUT: %.loc18: type = splice_block %ptr.loc18 [concrete = constants.%ptr.3ee] { -// CHECK:STDOUT: %int_32.loc18_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc18_31: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_31: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_22: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_31: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc18: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: %ptr.loc18: type = ptr_type %struct_type.a.b.loc18 [concrete = constants.%ptr.3ee] // CHECK:STDOUT: } @@ -203,8 +199,7 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc19: init %ptr.235 = call %bound_method.loc19_24.2(%addr.loc19) // CHECK:STDOUT: assign %q.var, %ptr.as.Copy.impl.Op.call.loc19 // CHECK:STDOUT: %.loc19_20: 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: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc19: type = ptr_type %i32.loc19 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %q: ref %ptr.235 = ref_binding q, %q.var @@ -223,8 +218,7 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc20: init %ptr.235 = call %bound_method.loc20_24.2(%addr.loc20) // CHECK:STDOUT: assign %r.var, %ptr.as.Copy.impl.Op.call.loc20 // CHECK:STDOUT: %.loc20_20: 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: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc20: type = ptr_type %i32.loc20 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %r: ref %ptr.235 = ref_binding r, %r.var @@ -256,10 +250,8 @@ fn F() { // CHECK:STDOUT: %.loc22_3: init %tuple.type.d07 = converted %.loc22_28.1, %.loc22_28.6 [concrete = constants.%tuple.21c] // CHECK:STDOUT: assign %t.var, %.loc22_3 // CHECK:STDOUT: %.loc22_19.1: type = splice_block %.loc22_19.3 [concrete = constants.%tuple.type.d07] { -// CHECK:STDOUT: %int_32.loc22_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc22_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_11: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22_19.2: %tuple.type.24b = tuple_literal (%i32.loc22_11, %i32.loc22_16) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc22_19.3: type = converted %.loc22_19.2, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } @@ -280,8 +272,7 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc23: init %ptr.235 = call %bound_method.loc23_25.2(%addr.loc23) // CHECK:STDOUT: assign %t0.var, %ptr.as.Copy.impl.Op.call.loc23 // CHECK:STDOUT: %.loc23: type = splice_block %ptr.loc23 [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: %i32.loc23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc23: type = ptr_type %i32.loc23 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %t0: ref %ptr.235 = ref_binding t0, %t0.var @@ -301,8 +292,7 @@ fn F() { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call.loc24: init %ptr.235 = call %bound_method.loc24_25.2(%addr.loc24) // CHECK:STDOUT: assign %t1.var, %ptr.as.Copy.impl.Op.call.loc24 // CHECK:STDOUT: %.loc24: type = splice_block %ptr.loc24 [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc24: type = ptr_type %i32.loc24 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %t1: ref %ptr.235 = ref_binding t1, %t1.var diff --git a/toolchain/check/testdata/pointer/basic.carbon b/toolchain/check/testdata/pointer/basic.carbon index 45a4ea2644b3..5c743f2abc5a 100644 --- a/toolchain/check/testdata/pointer/basic.carbon +++ b/toolchain/check/testdata/pointer/basic.carbon @@ -109,8 +109,7 @@ fn F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -130,12 +129,9 @@ fn F() -> i32 { // CHECK:STDOUT: %specific_fn.loc16: = specific_function %impl.elem0.loc16, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_3.2: = bound_method %int_0, %specific_fn.loc16 [concrete = constants.%bound_method] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc16_3.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc16_3: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %n.var, %.loc16_3 -// CHECK:STDOUT: %.loc16_10: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %n.var, %.loc16 +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: ref %i32 = ref_binding n, %n.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %p.patt: %pattern_type.fe8 = ref_binding_pattern p [concrete] @@ -151,8 +147,7 @@ fn F() -> i32 { // CHECK:STDOUT: %ptr.as.Copy.impl.Op.call: init %ptr.235 = call %bound_method.loc17_17.2(%addr) // CHECK:STDOUT: assign %p.var, %ptr.as.Copy.impl.Op.call // CHECK:STDOUT: %.loc17: type = splice_block %ptr [concrete = constants.%ptr.235] { -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc17 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref %ptr.235 = ref_binding p, %p.var diff --git a/toolchain/check/testdata/pointer/fail_deref_error.carbon b/toolchain/check/testdata/pointer/fail_deref_error.carbon index ac1a4a1e5316..faacb4e943d2 100644 --- a/toolchain/check/testdata/pointer/fail_deref_error.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_error.carbon @@ -53,18 +53,12 @@ let n2: i32 = undeclared->foo; // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n.patt: %pattern_type.7ce = value_binding_pattern n [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc19: type = splice_block %i32.loc19 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %n2.patt: %pattern_type.7ce = value_binding_pattern n2 [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc24: type = splice_block %i32.loc24 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc24: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n2: %i32 = value_binding n2, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon b/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon index 2bd6cff0350f..27320db6a8fe 100644 --- a/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_not_pointer.carbon @@ -81,10 +81,7 @@ fn Deref(n: i32) { // CHECK:STDOUT: %n.param_patt: %pattern_type.7ce = value_param_pattern %n.patt, call_param0 [concrete] // CHECK:STDOUT: } { // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/fail_deref_type.carbon b/toolchain/check/testdata/pointer/fail_deref_type.carbon index 03ac2f6cc5d2..ce066fa06de8 100644 --- a/toolchain/check/testdata/pointer/fail_deref_type.carbon +++ b/toolchain/check/testdata/pointer/fail_deref_type.carbon @@ -57,8 +57,7 @@ var p2: i32->foo; // CHECK:STDOUT: } // CHECK:STDOUT: %p.var: ref = var %p.var_patt [concrete = ] // CHECK:STDOUT: %.1: = splice_block [concrete = ] { -// 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: %i32.loc22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc22: ref = deref %i32.loc22 [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: %p: ref = ref_binding p, [concrete = ] @@ -68,8 +67,7 @@ var p2: i32->foo; // CHECK:STDOUT: } // CHECK:STDOUT: %p2.var: ref = var %p2.var_patt [concrete = ] // CHECK:STDOUT: %.2: = splice_block [concrete = ] { -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc27: ref = deref %i32.loc27 [concrete = ] // CHECK:STDOUT: %foo.ref: = name_ref foo, [concrete = ] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/pointer/import.carbon b/toolchain/check/testdata/pointer/import.carbon index 7576ef92678b..4df0bad468f3 100644 --- a/toolchain/check/testdata/pointer/import.carbon +++ b/toolchain/check/testdata/pointer/import.carbon @@ -97,10 +97,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: %a_orig.var_patt: %pattern_type.7ce = var_pattern %a_orig.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %a_orig.var: ref %i32 = var %a_orig.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i32.loc4 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc4: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc4: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc4: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %a_orig: ref %i32 = ref_binding a_orig, %a_orig.var [concrete = %a_orig.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %a_ref.patt: %pattern_type.fe8 = ref_binding_pattern a_ref [concrete] @@ -108,8 +105,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: } // CHECK:STDOUT: %a_ref.var: ref %ptr.235 = var %a_ref.var_patt [concrete] // CHECK:STDOUT: %.loc5: type = splice_block %ptr [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32.loc5 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %a_ref: ref %ptr.235 = ref_binding a_ref, %a_ref.var [concrete = %a_ref.var] @@ -192,8 +188,7 @@ var a: i32* = a_ref; // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %ptr.9e1 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc4: type = splice_block %ptr [concrete = constants.%ptr.9e1] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr: type = ptr_type %i32 [concrete = constants.%ptr.9e1] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %ptr.9e1 = ref_binding a, %a.var [concrete = %a.var] diff --git a/toolchain/check/testdata/pointer/nested_const.carbon b/toolchain/check/testdata/pointer/nested_const.carbon index d30dfe050df4..22706cef4cbd 100644 --- a/toolchain/check/testdata/pointer/nested_const.carbon +++ b/toolchain/check/testdata/pointer/nested_const.carbon @@ -79,14 +79,12 @@ fn F(p: const (const (const i32*)*)) -> const i32 { // CHECK:STDOUT: %return.patt: %pattern_type.a65 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.a65 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc16_47: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_47: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_47: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %const.loc16_41: type = const_type %i32.loc16_47 [concrete = constants.%const.20a] // CHECK:STDOUT: %.loc16_41: Core.Form = init_form %const.loc16_41, call_param1 [concrete = constants.%.f4c] // CHECK:STDOUT: %p.param: %const.fa2 = value_param call_param0 // CHECK:STDOUT: %.loc16_9: type = splice_block %const.loc16_9 [concrete = constants.%const.fa2] { -// CHECK:STDOUT: %int_32.loc16_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_29: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %const.loc16_23: type = const_type %i32.loc16_29 [concrete = constants.%const.20a] // CHECK:STDOUT: %ptr.loc16_32: type = ptr_type %const.loc16_23 [concrete = constants.%ptr.36b] // CHECK:STDOUT: %const.loc16_16: type = const_type %ptr.loc16_32 [concrete = constants.%const.58f] diff --git a/toolchain/check/testdata/pointer/types.carbon b/toolchain/check/testdata/pointer/types.carbon index 08f7b1dc7d04..edea94181782 100644 --- a/toolchain/check/testdata/pointer/types.carbon +++ b/toolchain/check/testdata/pointer/types.carbon @@ -84,14 +84,12 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %return.patt: %pattern_type.fe8 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.fe8 = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc15_23: type = ptr_type %i32.loc15_20 [concrete = constants.%ptr.235] // CHECK:STDOUT: %.loc15_23: Core.Form = init_form %ptr.loc15_23, call_param1 [concrete = constants.%.85d] // CHECK:STDOUT: %p.param: %ptr.235 = value_param call_param0 // CHECK:STDOUT: %.loc15_14: type = splice_block %ptr.loc15_14 [concrete = constants.%ptr.235] { -// CHECK:STDOUT: %int_32.loc15_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %ptr.loc15_14: type = ptr_type %i32.loc15_11 [concrete = constants.%ptr.235] // CHECK:STDOUT: } // CHECK:STDOUT: %p: %ptr.235 = value_binding p, %p.param @@ -104,15 +102,13 @@ fn ConstPtr(p: const i32*) -> (const i32)* { // CHECK:STDOUT: %return.patt: %pattern_type.bff = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.bff = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc19_38: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_38: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_38: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %const.loc19_32: type = const_type %i32.loc19_38 [concrete = constants.%const.20a] // CHECK:STDOUT: %ptr.loc19_42: type = ptr_type %const.loc19_32 [concrete = constants.%ptr.36b] // CHECK:STDOUT: %.loc19_42: Core.Form = init_form %ptr.loc19_42, call_param1 [concrete = constants.%.78f] // CHECK:STDOUT: %p.param: %ptr.36b = value_param call_param0 // CHECK:STDOUT: %.loc19_25: type = splice_block %ptr.loc19_25 [concrete = constants.%ptr.36b] { -// CHECK:STDOUT: %int_32.loc19_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %const.loc19_16: type = const_type %i32.loc19_22 [concrete = constants.%const.20a] // CHECK:STDOUT: %ptr.loc19_25: type = ptr_type %const.loc19_16 [concrete = constants.%ptr.36b] // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/primitives/string_literals.carbon b/toolchain/check/testdata/primitives/string_literals.carbon index a335be7035cc..84d07c08c12b 100644 --- a/toolchain/check/testdata/primitives/string_literals.carbon +++ b/toolchain/check/testdata/primitives/string_literals.carbon @@ -130,6 +130,7 @@ This string contains 256 characters. Among them are: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.461 = value_binding_pattern x [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %str: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %x: %str.ee0 = value_binding x, @__global_init.%String.val // CHECK:STDOUT: } // CHECK:STDOUT: @@ -156,6 +157,7 @@ This string contains 256 characters. Among them are: // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.461 = value_binding_pattern x [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %str: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %x: %str.ee0 = value_binding x, [concrete = ] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/primitives/type_literals.carbon b/toolchain/check/testdata/primitives/type_literals.carbon index 3bc42fa7234d..1bb7d79b0668 100644 --- a/toolchain/check/testdata/primitives/type_literals.carbon +++ b/toolchain/check/testdata/primitives/type_literals.carbon @@ -292,40 +292,28 @@ var test_str: str = (); // CHECK:STDOUT: %test_i8.var_patt: %pattern_type.e3f = var_pattern %test_i8.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i8.var: ref %i8 = var %test_i8.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %i8 [concrete = constants.%i8] { -// CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %i8: type = class_type @Int, @Int(constants.%int_8) [concrete = constants.%i8] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i8: type = type_literal constants.%i8 [concrete = constants.%i8] // CHECK:STDOUT: %test_i8: ref %i8 = ref_binding test_i8, %test_i8.var [concrete = %test_i8.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i16.patt: %pattern_type.2f8 = ref_binding_pattern test_i16 [concrete] // CHECK:STDOUT: %test_i16.var_patt: %pattern_type.2f8 = var_pattern %test_i16.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i16.var: ref %i16 = var %test_i16.var_patt [concrete] -// CHECK:STDOUT: %.loc5: type = splice_block %i16 [concrete = constants.%i16] { -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %i16: type = class_type @Int, @Int(constants.%int_16) [concrete = constants.%i16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i16: type = type_literal constants.%i16 [concrete = constants.%i16] // CHECK:STDOUT: %test_i16: ref %i16 = ref_binding test_i16, %test_i16.var [concrete = %test_i16.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i32.patt: %pattern_type.7ce = ref_binding_pattern test_i32 [concrete] // CHECK:STDOUT: %test_i32.var_patt: %pattern_type.7ce = var_pattern %test_i32.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i32.var: ref %i32 = var %test_i32.var_patt [concrete] -// CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %test_i32: ref %i32 = ref_binding test_i32, %test_i32.var [concrete = %test_i32.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_i64.patt: %pattern_type.95b = ref_binding_pattern test_i64 [concrete] // CHECK:STDOUT: %test_i64.var_patt: %pattern_type.95b = var_pattern %test_i64.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_i64.var: ref %i64 = var %test_i64.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %i64 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i64: type = type_literal constants.%i64 [concrete = constants.%i64] // CHECK:STDOUT: %test_i64: ref %i64 = ref_binding test_i64, %test_i64.var [concrete = %test_i64.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -352,40 +340,28 @@ var test_str: str = (); // CHECK:STDOUT: %test_u8.var_patt: %pattern_type.8f3 = var_pattern %test_u8.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_u8.var: ref %u8 = var %test_u8.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %u8 [concrete = constants.%u8] { -// CHECK:STDOUT: %int_8: Core.IntLiteral = int_value 8 [concrete = constants.%int_8] -// CHECK:STDOUT: %u8: type = class_type @UInt, @UInt(constants.%int_8) [concrete = constants.%u8] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u8: type = type_literal constants.%u8 [concrete = constants.%u8] // CHECK:STDOUT: %test_u8: ref %u8 = ref_binding test_u8, %test_u8.var [concrete = %test_u8.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_u16.patt: %pattern_type.9db = ref_binding_pattern test_u16 [concrete] // CHECK:STDOUT: %test_u16.var_patt: %pattern_type.9db = var_pattern %test_u16.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_u16.var: ref %u16 = var %test_u16.var_patt [concrete] -// CHECK:STDOUT: %.loc5: type = splice_block %u16 [concrete = constants.%u16] { -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %u16: type = class_type @UInt, @UInt(constants.%int_16) [concrete = constants.%u16] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u16: type = type_literal constants.%u16 [concrete = constants.%u16] // CHECK:STDOUT: %test_u16: ref %u16 = ref_binding test_u16, %test_u16.var [concrete = %test_u16.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_u32.patt: %pattern_type.4a9 = ref_binding_pattern test_u32 [concrete] // CHECK:STDOUT: %test_u32.var_patt: %pattern_type.4a9 = var_pattern %test_u32.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_u32.var: ref %u32 = var %test_u32.var_patt [concrete] -// CHECK:STDOUT: %.loc6: type = splice_block %u32 [concrete = constants.%u32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %u32: type = class_type @UInt, @UInt(constants.%int_32) [concrete = constants.%u32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u32: type = type_literal constants.%u32 [concrete = constants.%u32] // CHECK:STDOUT: %test_u32: ref %u32 = ref_binding test_u32, %test_u32.var [concrete = %test_u32.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_u64.patt: %pattern_type.157 = ref_binding_pattern test_u64 [concrete] // CHECK:STDOUT: %test_u64.var_patt: %pattern_type.157 = var_pattern %test_u64.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_u64.var: ref %u64 = var %test_u64.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %u64 [concrete = constants.%u64] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %u64: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] -// CHECK:STDOUT: } +// CHECK:STDOUT: %u64: type = type_literal constants.%u64 [concrete = constants.%u64] // CHECK:STDOUT: %test_u64: ref %u64 = ref_binding test_u64, %test_u64.var [concrete = %test_u64.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -412,40 +388,28 @@ var test_str: str = (); // CHECK:STDOUT: %test_f16.var_patt: %pattern_type.cd1 = var_pattern %test_f16.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_f16.var: ref %f16.a6a = var %test_f16.var_patt [concrete] -// CHECK:STDOUT: %.loc4: type = splice_block %f16 [concrete = constants.%f16.a6a] { -// CHECK:STDOUT: %int_16: Core.IntLiteral = int_value 16 [concrete = constants.%int_16] -// CHECK:STDOUT: %f16: type = class_type @Float, @Float(constants.%int_16) [concrete = constants.%f16.a6a] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f16: type = type_literal constants.%f16.a6a [concrete = constants.%f16.a6a] // CHECK:STDOUT: %test_f16: ref %f16.a6a = ref_binding test_f16, %test_f16.var [concrete = %test_f16.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_f32.patt: %pattern_type.201 = ref_binding_pattern test_f32 [concrete] // CHECK:STDOUT: %test_f32.var_patt: %pattern_type.201 = var_pattern %test_f32.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_f32.var: ref %f32.97e = var %test_f32.var_patt [concrete] -// CHECK:STDOUT: %.loc5: type = splice_block %f32 [concrete = constants.%f32.97e] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %f32: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f32: type = type_literal constants.%f32.97e [concrete = constants.%f32.97e] // CHECK:STDOUT: %test_f32: ref %f32.97e = ref_binding test_f32, %test_f32.var [concrete = %test_f32.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_f64.patt: %pattern_type.0ae = ref_binding_pattern test_f64 [concrete] // CHECK:STDOUT: %test_f64.var_patt: %pattern_type.0ae = var_pattern %test_f64.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_f64.var: ref %f64.d77 = var %test_f64.var_patt [concrete] -// CHECK:STDOUT: %.loc6: type = splice_block %f64 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %test_f64: ref %f64.d77 = ref_binding test_f64, %test_f64.var [concrete = %test_f64.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_f128.patt: %pattern_type.22c = ref_binding_pattern test_f128 [concrete] // CHECK:STDOUT: %test_f128.var_patt: %pattern_type.22c = var_pattern %test_f128.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_f128.var: ref %f128.b8c = var %test_f128.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %f128 [concrete = constants.%f128.b8c] { -// CHECK:STDOUT: %int_128: Core.IntLiteral = int_value 128 [concrete = constants.%int_128] -// CHECK:STDOUT: %f128: type = class_type @Float, @Float(constants.%int_128) [concrete = constants.%f128.b8c] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f128: type = type_literal constants.%f128.b8c [concrete = constants.%f128.b8c] // CHECK:STDOUT: %test_f128: ref %f128.b8c = ref_binding test_f128, %test_f128.var [concrete = %test_f128.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -475,6 +439,7 @@ var test_str: str = (); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_char.patt: %pattern_type.b09 = value_binding_pattern test_char [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %char: type = type_literal constants.%char [concrete = constants.%char] // CHECK:STDOUT: %impl.elem0: %.734 = impl_witness_access constants.%ImplicitAs.impl_witness, element0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert] // CHECK:STDOUT: %bound_method: = bound_method @__global_init.%.loc5, %impl.elem0 [concrete = constants.%Core.CharLiteral.as.ImplicitAs.impl.Convert.bound] // CHECK:STDOUT: %Core.CharLiteral.as.ImplicitAs.impl.Convert.call: init %char = call %bound_method(@__global_init.%.loc5) [concrete = constants.%int_99] @@ -508,6 +473,7 @@ var test_str: str = (); // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %test_str.patt: %pattern_type.461 = value_binding_pattern test_str [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %str: type = type_literal constants.%str.ee0 [concrete = constants.%str.ee0] // CHECK:STDOUT: %test_str: %str.ee0 = value_binding test_str, @__global_init.%String.val // CHECK:STDOUT: } // CHECK:STDOUT: @@ -546,13 +512,13 @@ var test_str: str = (); // CHECK:STDOUT: %test_type.var_patt: %pattern_type.98f = var_pattern %test_type.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %test_type.var: ref type = var %test_type.var_patt [concrete] +// CHECK:STDOUT: %.loc5: type = type_literal type [concrete = type] // CHECK:STDOUT: %test_type: ref type = ref_binding test_type, %test_type.var [concrete = %test_type.var] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.070 = impl_witness_access constants.%Copy.impl_witness.b47, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/return/code_after_return_value.carbon b/toolchain/check/testdata/return/code_after_return_value.carbon index 768e9b3419b1..d8977a4b6fcb 100644 --- a/toolchain/check/testdata/return/code_after_return_value.carbon +++ b/toolchain/check/testdata/return/code_after_return_value.carbon @@ -87,15 +87,10 @@ fn F(unused b: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_25: Core.Form = init_form %i32, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc15_16.1: type = splice_block %.loc15_16.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc15_16.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc15_16.3: type = converted %Bool.call, %.loc15_16.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_16: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/return/fail_call_in_type.carbon b/toolchain/check/testdata/return/fail_call_in_type.carbon index 20b0665516d6..c249e7ac1ed8 100644 --- a/toolchain/check/testdata/return/fail_call_in_type.carbon +++ b/toolchain/check/testdata/return/fail_call_in_type.carbon @@ -69,7 +69,8 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: %return.patt: %pattern_type.98f = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.98f = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %.loc17: Core.Form = init_form type, call_param0 [concrete = constants.%.824] +// CHECK:STDOUT: %.loc17_20.1: type = type_literal type [concrete = type] +// CHECK:STDOUT: %.loc17_20.2: Core.Form = init_form %.loc17_20.1, call_param0 [concrete = constants.%.824] // CHECK:STDOUT: %return.param: ref type = out_param call_param0 // CHECK:STDOUT: %return: ref type = return_slot %return.param // CHECK:STDOUT: } @@ -83,8 +84,7 @@ fn Six() -> ReturnType() { return 6; } // CHECK:STDOUT: // CHECK:STDOUT: fn @ReturnType() -> out %return.param: type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.070 = impl_witness_access constants.%Copy.impl_witness.b47, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/return/fail_let_in_type.carbon b/toolchain/check/testdata/return/fail_let_in_type.carbon index bcb261d5de00..13e3b906ca01 100644 --- a/toolchain/check/testdata/return/fail_let_in_type.carbon +++ b/toolchain/check/testdata/return/fail_let_in_type.carbon @@ -85,6 +85,7 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.98f = value_binding_pattern x [concrete] // CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15: type = type_literal type [concrete = type] // CHECK:STDOUT: %x: type = value_binding x, @__global_init.%i32.loc15 // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [concrete = constants.%Six] {} { // CHECK:STDOUT: %x.ref: type = name_ref x, file.%x @@ -92,7 +93,10 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %y.patt: %pattern_type.98f = value_binding_pattern y [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc27_9.1: type = splice_block %.loc27_9.2 [concrete = type] { +// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc27_9.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %y: type = value_binding y, @__global_init.%i32.loc27 // CHECK:STDOUT: %HalfDozen.decl: %HalfDozen.type = fn_decl @HalfDozen [concrete = constants.%HalfDozen] {} { // CHECK:STDOUT: %y.ref: type = name_ref y, file.%y @@ -100,7 +104,10 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %z.patt: %pattern_type.98f = value_binding_pattern z [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.Self.2: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc39_18.1: type = splice_block %.loc39_18.2 [concrete = type] { +// CHECK:STDOUT: %.Self.1: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] +// CHECK:STDOUT: %.loc39_18.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %z: type = value_binding z, @__global_init.%i32.loc39 // CHECK:STDOUT: %FirstPerfectNumber.decl: %FirstPerfectNumber.type = fn_decl @FirstPerfectNumber [concrete = constants.%FirstPerfectNumber] {} { // CHECK:STDOUT: %z.ref: type = name_ref z, file.%z @@ -127,12 +134,9 @@ fn FirstPerfectNumber() -> z { return 6; } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// 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_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc39: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc39: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc39: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: return // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/return/fail_missing_return.carbon b/toolchain/check/testdata/return/fail_missing_return.carbon index 1abb8a1f802a..801a5a3edb19 100644 --- a/toolchain/check/testdata/return/fail_missing_return.carbon +++ b/toolchain/check/testdata/return/fail_missing_return.carbon @@ -51,8 +51,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon index 964d80671378..ac8a294028bf 100644 --- a/toolchain/check/testdata/return/fail_return_with_returned_var.carbon +++ b/toolchain/check/testdata/return/fail_return_with_returned_var.carbon @@ -117,8 +117,7 @@ fn G() -> C { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -136,11 +135,9 @@ fn G() -> C { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// CHECK:STDOUT: %int_32.loc27_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc27_16: %C.elem = field_decl a, element0 [concrete] -// CHECK:STDOUT: %int_32.loc27_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc27_30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc27_28: %C.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.501 [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -164,12 +161,9 @@ fn G() -> C { // CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc16_12.2: = bound_method %int_0, %specific_fn [concrete = constants.%bound_method.d2e] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc16_12.2(%int_0) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc16_12: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc16_12 -// CHECK:STDOUT: %.loc16_19: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc16: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc16 +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: ref %i32 = ref_binding v, %v.var // CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %DestroyOp.bound: = bound_method %v.var, constants.%DestroyOp diff --git a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon index 52391b05222b..ed90ff94320e 100644 --- a/toolchain/check/testdata/return/fail_returned_var_shadow.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_shadow.carbon @@ -111,8 +111,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -121,8 +120,7 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc30: Core.Form = init_form %i32.loc30, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -146,12 +144,9 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_14.2: = bound_method %int_0.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.d2e] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %i32 = call %bound_method.loc17_14.2(%int_0.loc17) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc17_14: init %i32 = converted %int_0.loc17, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc17_14 -// CHECK:STDOUT: %.loc17_21: type = splice_block %i32.loc17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc17: init %i32 = converted %int_0.loc17, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc17 +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: ref %i32 = ref_binding v, %v.var // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = ref_binding_pattern w [concrete] @@ -164,12 +159,9 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc25_14.2: = bound_method %int_1, %specific_fn.loc25 [concrete = constants.%bound_method.38b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc25: init %i32 = call %bound_method.loc25_14.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc25_14: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc25 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc25_14 -// CHECK:STDOUT: %.loc25_28: type = splice_block %i32.loc25 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc25: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc25 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc25 +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %w: ref %i32 = ref_binding w, %w.var // CHECK:STDOUT: br !if.else // CHECK:STDOUT: @@ -207,12 +199,9 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %specific_fn.loc32: = specific_function %impl.elem0.loc32, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc32_14.2: = bound_method %int_0.loc32, %specific_fn.loc32 [concrete = constants.%bound_method.d2e] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc32: init %i32 = call %bound_method.loc32_14.2(%int_0.loc32) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc32_14: init %i32 = converted %int_0.loc32, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc32 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc32_14 -// CHECK:STDOUT: %.loc32_21: type = splice_block %i32.loc32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc32: init %i32 = converted %int_0.loc32, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc32 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc32 +// CHECK:STDOUT: %i32.loc32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: ref %i32 = ref_binding v, %v.var // CHECK:STDOUT: %true.loc33: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: if %true.loc33 br !if.then.loc33 else br !if.else.loc33 @@ -229,12 +218,9 @@ fn DifferentScopes() -> i32 { // CHECK:STDOUT: %specific_fn.loc41: = specific_function %impl.elem0.loc41, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc41_16.2: = bound_method %int_1, %specific_fn.loc41 [concrete = constants.%bound_method.38b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc41: init %i32 = call %bound_method.loc41_16.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc41_16: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc41 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc41_16 -// CHECK:STDOUT: %.loc41_30: type = splice_block %i32.loc41 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %.loc41: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc41 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc41 +// CHECK:STDOUT: %i32.loc41: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %w: ref %i32 = ref_binding w, %w.var // CHECK:STDOUT: br !if.else.loc33 // CHECK:STDOUT: diff --git a/toolchain/check/testdata/return/fail_returned_var_type.carbon b/toolchain/check/testdata/return/fail_returned_var_type.carbon index ccaddaa29f34..1698e72895e7 100644 --- a/toolchain/check/testdata/return/fail_returned_var_type.carbon +++ b/toolchain/check/testdata/return/fail_returned_var_type.carbon @@ -90,8 +90,7 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -113,10 +112,7 @@ fn Mismatch() -> i32 { // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call: init %f64.d77 = call %bound_method.loc23_12.2(%float) [concrete = constants.%float.0a8] // CHECK:STDOUT: %.loc23_12: init %f64.d77 = converted %float, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%float.0a8] // CHECK:STDOUT: assign %v.var, %.loc23_12 -// CHECK:STDOUT: %.loc23_19: type = splice_block %f64 [concrete = constants.%f64.d77] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// CHECK:STDOUT: } +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %v: ref %f64.d77 = ref_binding v, %v.var // CHECK:STDOUT: %.loc23_16: %f64.d77 = acquire_value %v // CHECK:STDOUT: %DestroyOp.bound: = bound_method %v.var, constants.%DestroyOp diff --git a/toolchain/check/testdata/return/fail_type_mismatch.carbon b/toolchain/check/testdata/return/fail_type_mismatch.carbon index dd9af47747df..f03cfcaf1de0 100644 --- a/toolchain/check/testdata/return/fail_type_mismatch.carbon +++ b/toolchain/check/testdata/return/fail_type_mismatch.carbon @@ -60,8 +60,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/return/fail_value_missing.carbon b/toolchain/check/testdata/return/fail_value_missing.carbon index 78615484466e..710aef7b664e 100644 --- a/toolchain/check/testdata/return/fail_value_missing.carbon +++ b/toolchain/check/testdata/return/fail_value_missing.carbon @@ -55,8 +55,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/return/fail_var_in_type.carbon b/toolchain/check/testdata/return/fail_var_in_type.carbon index 5d26e60efcd9..98fd5938e77f 100644 --- a/toolchain/check/testdata/return/fail_var_in_type.carbon +++ b/toolchain/check/testdata/return/fail_var_in_type.carbon @@ -65,6 +65,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: %x.var_patt: %pattern_type.98f = var_pattern %x.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref type = var %x.var_patt [concrete] +// CHECK:STDOUT: %.loc15: type = type_literal type [concrete = type] // CHECK:STDOUT: %x: ref type = ref_binding x, %x.var [concrete = %x.var] // CHECK:STDOUT: %Six.decl: %Six.type = fn_decl @Six [concrete = constants.%Six] {} { // CHECK:STDOUT: %x.ref: ref type = name_ref x, file.%x [concrete = file.%x.var] @@ -80,8 +81,7 @@ fn Six() -> x { return 6; } // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0: %.070 = impl_witness_access constants.%Copy.impl_witness.b47, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %i32, %impl.elem0 [concrete = constants.%type.as.Copy.impl.Op.bound] // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%i32) [concrete = constants.%i32] diff --git a/toolchain/check/testdata/return/import_convert_function.carbon b/toolchain/check/testdata/return/import_convert_function.carbon index 53400e5d827e..f9bfb3e9b71c 100644 --- a/toolchain/check/testdata/return/import_convert_function.carbon +++ b/toolchain/check/testdata/return/import_convert_function.carbon @@ -189,8 +189,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc4: type = splice_block %i32 [concrete = constants.%i32] { // CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self = constants.%.Self] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %N.loc4_9.2: %i32 = symbolic_binding N, 0 [symbolic = %N.loc4_9.1 (constants.%N.5de)] // CHECK:STDOUT: } @@ -549,11 +548,9 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @D { -// CHECK:STDOUT: %int_32.loc5_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_16: %D.elem = field_decl n, element0 [concrete] -// CHECK:STDOUT: %int_32.loc5_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc5_30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_28: %D.elem = field_decl m, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.n.m.de8 [concrete = constants.%complete_type.ea0] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -949,10 +946,7 @@ fn F0(unused n: i32) -> P.D { // CHECK:STDOUT: %D.ref: type = name_ref D, imports.%P.D [concrete = constants.%D] // CHECK:STDOUT: %.loc6_26.10: Core.Form = init_form %D.ref, call_param1 [concrete = constants.%.db5] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc6_17: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %return.param: ref %D = out_param call_param1 // CHECK:STDOUT: %return: ref %D = return_slot %return.param diff --git a/toolchain/check/testdata/return/returned_var.carbon b/toolchain/check/testdata/return/returned_var.carbon index c03eac59b35d..58f0a50b5bb7 100644 --- a/toolchain/check/testdata/return/returned_var.carbon +++ b/toolchain/check/testdata/return/returned_var.carbon @@ -117,8 +117,7 @@ fn G() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25: Core.Form = init_form %i32.loc25, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -126,11 +125,9 @@ fn G() -> i32 { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @C { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16: %C.elem = field_decl a, element0 [concrete] -// 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: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: %C.elem = field_decl b, element1 [concrete] // CHECK:STDOUT: %complete_type: = complete_type_witness constants.%struct_type.a.b.501 [concrete = constants.%complete_type.705] // CHECK:STDOUT: complete_type_witness = %complete_type @@ -189,10 +186,7 @@ fn G() -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call: init %i32 = call %bound_method.loc26_12.2(%int_0) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc26_12: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_0.6a9] // CHECK:STDOUT: assign %result.var, %.loc26_12 -// CHECK:STDOUT: %.loc26_24: type = splice_block %i32.loc26 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc26: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc26: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc26: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %result: ref %i32 = ref_binding result, %result.var // CHECK:STDOUT: %.loc26_16: %i32 = acquire_value %result // CHECK:STDOUT: %DestroyOp.bound: = bound_method %result.var, constants.%DestroyOp diff --git a/toolchain/check/testdata/return/returned_var_scope.carbon b/toolchain/check/testdata/return/returned_var_scope.carbon index 3535f104f3d0..4a304958a239 100644 --- a/toolchain/check/testdata/return/returned_var_scope.carbon +++ b/toolchain/check/testdata/return/returned_var_scope.carbon @@ -104,8 +104,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32.loc15, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -116,15 +115,10 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc25_34: Core.Form = init_form %i32.loc25, call_param1 [concrete = constants.%.e54] // CHECK:STDOUT: %b.param: bool = value_param call_param0 -// CHECK:STDOUT: %.loc25_25.1: type = splice_block %.loc25_25.3 [concrete = bool] { -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc25_25.2: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc25_25.3: type = converted %Bool.call, %.loc25_25.2 [concrete = bool] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc25_25: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %b: bool = value_binding b, %b.param // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param1 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -148,12 +142,9 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %specific_fn.loc17: = specific_function %impl.elem0.loc17, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc17_14.2: = bound_method %int_0.loc17, %specific_fn.loc17 [concrete = constants.%bound_method.d2e] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17: init %i32 = call %bound_method.loc17_14.2(%int_0.loc17) [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: %.loc17_14: init %i32 = converted %int_0.loc17, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_0.6a9] -// CHECK:STDOUT: assign %v.var, %.loc17_14 -// CHECK:STDOUT: %.loc17_21: type = splice_block %i32.loc17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc17: init %i32 = converted %int_0.loc17, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc17 [concrete = constants.%int_0.6a9] +// CHECK:STDOUT: assign %v.var, %.loc17 +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: ref %i32 = ref_binding v, %v.var // CHECK:STDOUT: br !if.else.loc16 // CHECK:STDOUT: @@ -173,12 +164,9 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %specific_fn.loc20: = specific_function %impl.elem0.loc20, @Core.IntLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn] // CHECK:STDOUT: %bound_method.loc20_14.2: = bound_method %int_1, %specific_fn.loc20 [concrete = constants.%bound_method.38b] // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20: init %i32 = call %bound_method.loc20_14.2(%int_1) [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: %.loc20_14: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.5d2] -// CHECK:STDOUT: assign %w.var, %.loc20_14 -// CHECK:STDOUT: %.loc20_21: type = splice_block %i32.loc20 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %.loc20: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc20 [concrete = constants.%int_1.5d2] +// CHECK:STDOUT: assign %w.var, %.loc20 +// CHECK:STDOUT: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %w: ref %i32 = ref_binding w, %w.var // CHECK:STDOUT: br !if.else.loc19 // CHECK:STDOUT: @@ -218,10 +206,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc27: init %i32 = call %bound_method.loc27_14.2(%int_0) [concrete = constants.%int_0.6a9] // CHECK:STDOUT: %.loc27_14: init %i32 = converted %int_0, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc27 [concrete = constants.%int_0.6a9] // CHECK:STDOUT: assign %v.var, %.loc27_14 -// CHECK:STDOUT: %.loc27_21: type = splice_block %i32.loc27 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc27: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %v: ref %i32 = ref_binding v, %v.var // CHECK:STDOUT: %.loc27_18: %i32 = acquire_value %v // CHECK:STDOUT: %DestroyOp.bound.loc27_14.1: = bound_method %v.var, constants.%DestroyOp @@ -242,10 +227,7 @@ fn EnclosingButAfter(b: bool) -> i32 { // CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc30: init %i32 = call %bound_method.loc30_12.2(%int_1) [concrete = constants.%int_1.5d2] // CHECK:STDOUT: %.loc30_12: init %i32 = converted %int_1, %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc30 [concrete = constants.%int_1.5d2] // CHECK:STDOUT: assign %w.var, %.loc30_12 -// CHECK:STDOUT: %.loc30_19: type = splice_block %i32.loc30 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %w: ref %i32 = ref_binding w, %w.var // CHECK:STDOUT: %.loc30_16: %i32 = acquire_value %w // CHECK:STDOUT: %DestroyOp.bound.loc30: = bound_method %w.var, constants.%DestroyOp diff --git a/toolchain/check/testdata/return/struct.carbon b/toolchain/check/testdata/return/struct.carbon index 2ab350fd72bd..fa52fbbe64ad 100644 --- a/toolchain/check/testdata/return/struct.carbon +++ b/toolchain/check/testdata/return/struct.carbon @@ -73,8 +73,7 @@ fn Main() -> {.a: i32} { // CHECK:STDOUT: %return.patt: %pattern_type.268 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.268 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] // CHECK:STDOUT: %.loc15: Core.Form = init_form %struct_type.a, call_param0 [concrete = constants.%.fcf] // CHECK:STDOUT: %return.param: ref %struct_type.a.ba9 = out_param call_param0 diff --git a/toolchain/check/testdata/return/tuple.carbon b/toolchain/check/testdata/return/tuple.carbon index ded5c8072ae6..7c58661c87bc 100644 --- a/toolchain/check/testdata/return/tuple.carbon +++ b/toolchain/check/testdata/return/tuple.carbon @@ -80,10 +80,8 @@ fn Main() -> (i32, i32) { // CHECK:STDOUT: %return.patt: %pattern_type.511 = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.511 = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %int_32.loc16_20: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_20: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_15: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_23.1: %tuple.type.24b = tuple_literal (%i32.loc16_15, %i32.loc16_20) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc16_23.2: type = converted %.loc16_23.1, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: %.loc16_23.3: Core.Form = init_form %.loc16_23.2, call_param0 [concrete = constants.%.d2d] diff --git a/toolchain/check/testdata/return/value.carbon b/toolchain/check/testdata/return/value.carbon index 3344387e682c..ee729e521cbf 100644 --- a/toolchain/check/testdata/return/value.carbon +++ b/toolchain/check/testdata/return/value.carbon @@ -69,8 +69,7 @@ fn Main() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/struct/fail_assign_empty.carbon b/toolchain/check/testdata/struct/fail_assign_empty.carbon index 578548d11fb7..82d9e0629e09 100644 --- a/toolchain/check/testdata/struct/fail_assign_empty.carbon +++ b/toolchain/check/testdata/struct/fail_assign_empty.carbon @@ -52,8 +52,7 @@ var x: {.a: i32} = {}; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc19: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a = ref_binding x, %x.var [concrete = %x.var] diff --git a/toolchain/check/testdata/struct/fail_duplicate_name.carbon b/toolchain/check/testdata/struct/fail_duplicate_name.carbon index d622564b2e19..fad33070cca0 100644 --- a/toolchain/check/testdata/struct/fail_duplicate_name.carbon +++ b/toolchain/check/testdata/struct/fail_duplicate_name.carbon @@ -99,34 +99,24 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core // CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [concrete = constants.%F] {} { -// CHECK:STDOUT: %int_32.loc22_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc22_27: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_27: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc22_36: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_36: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc22_47: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_47: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc22_56: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc22_56: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_16: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_27: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_36: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_47: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc22_56: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %v.patt: = value_binding_pattern v [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.1: = splice_block [concrete = ] { -// CHECK:STDOUT: %int_32.loc31_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc31_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc31_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc31_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc31_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc31_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: } // CHECK:STDOUT: %v: = value_binding v, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %w.patt: %pattern_type.7ce = value_binding_pattern w [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %.loc40: type = splice_block %i32.loc40 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %w: %i32 = value_binding w, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %x.patt: %pattern_type.268 = ref_binding_pattern x [concrete] @@ -134,8 +124,7 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc49: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { -// CHECK:STDOUT: %int_32.loc49: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc49: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc49: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.ba9 = ref_binding x, %x.var [concrete = %x.var] @@ -145,10 +134,8 @@ var y: {.b: i32, .c: i32} = {.b = 3, .b = 4}; // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %struct_type.b.c = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc58: type = splice_block %struct_type.b.c [concrete = constants.%struct_type.b.c] { -// CHECK:STDOUT: %int_32.loc58_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc58_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc58_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc58_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc58_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc58_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.b.c: type = struct_type {.b: %i32, .c: %i32} [concrete = constants.%struct_type.b.c] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %struct_type.b.c = ref_binding y, %y.var [concrete = %y.var] diff --git a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon index 43ec6cdd99a0..bd9282d376a0 100644 --- a/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_name_mismatch.carbon @@ -62,8 +62,7 @@ var y: {.b: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc19: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { -// 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: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a = ref_binding x, %x.var [concrete = %x.var] @@ -73,8 +72,7 @@ var y: {.b: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %struct_type.b.0a3 = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc25: type = splice_block %struct_type.b [concrete = constants.%struct_type.b.0a3] { -// CHECK:STDOUT: %int_32.loc25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc25: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.b: type = struct_type {.b: %i32} [concrete = constants.%struct_type.b.0a3] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %struct_type.b.0a3 = ref_binding y, %y.var [concrete = %y.var] diff --git a/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon b/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon index b4e95ab0f18e..fc569102ea7f 100644 --- a/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon +++ b/toolchain/check/testdata/struct/fail_field_type_mismatch.carbon @@ -53,8 +53,7 @@ var x: {.a: i32} = {.b = 1.0}; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc19: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a = ref_binding x, %x.var [concrete = %x.var] diff --git a/toolchain/check/testdata/struct/fail_member_access_type.carbon b/toolchain/check/testdata/struct/fail_member_access_type.carbon index 0b8ea048ff50..79a4d8ebe278 100644 --- a/toolchain/check/testdata/struct/fail_member_access_type.carbon +++ b/toolchain/check/testdata/struct/fail_member_access_type.carbon @@ -83,8 +83,7 @@ var y: i32 = x.b; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.5e8 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.5e8] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %f64.d77} [concrete = constants.%struct_type.a.5e8] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.5e8 = ref_binding x, %x.var [concrete = %x.var] @@ -93,10 +92,7 @@ var y: i32 = x.b; // CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] -// CHECK:STDOUT: %.loc20: type = splice_block %i32 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var [concrete = %y.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/struct/fail_non_member_access.carbon b/toolchain/check/testdata/struct/fail_non_member_access.carbon index d5f692b140b0..0830480b0552 100644 --- a/toolchain/check/testdata/struct/fail_non_member_access.carbon +++ b/toolchain/check/testdata/struct/fail_non_member_access.carbon @@ -77,8 +77,7 @@ var y: i32 = x.b; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a [concrete = constants.%struct_type.a.ba9] { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.ba9 = ref_binding x, %x.var [concrete = %x.var] @@ -87,10 +86,7 @@ var y: i32 = x.b; // CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] -// CHECK:STDOUT: %.loc20: type = splice_block %i32.loc20 [concrete = constants.%i32] { -// 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: } +// CHECK:STDOUT: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var [concrete = %y.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/struct/fail_too_few_values.carbon b/toolchain/check/testdata/struct/fail_too_few_values.carbon index 9fef042a8cd5..492f07faba21 100644 --- a/toolchain/check/testdata/struct/fail_too_few_values.carbon +++ b/toolchain/check/testdata/struct/fail_too_few_values.carbon @@ -53,10 +53,8 @@ var x: {.a: i32, .b: i32} = {.a = 1}; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.b = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc19: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b] { -// CHECK:STDOUT: %int_32.loc19_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc19_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.b = ref_binding x, %x.var [concrete = %x.var] diff --git a/toolchain/check/testdata/struct/fail_type_assign.carbon b/toolchain/check/testdata/struct/fail_type_assign.carbon index d41c7d23e4dd..6f24630410f4 100644 --- a/toolchain/check/testdata/struct/fail_type_assign.carbon +++ b/toolchain/check/testdata/struct/fail_type_assign.carbon @@ -57,8 +57,7 @@ var x: {.a: i32} = {.a: i32}; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc22: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a = ref_binding x, %x.var [concrete = %x.var] @@ -66,8 +65,7 @@ var x: {.a: i32} = {.a: i32}; // CHECK:STDOUT: // CHECK:STDOUT: fn @__global_init() { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: %.loc22: %struct_type.a = converted %struct_type.a, [concrete = ] // CHECK:STDOUT: assign file.%x.var, diff --git a/toolchain/check/testdata/struct/import.carbon b/toolchain/check/testdata/struct/import.carbon index 7363b7caea05..34d6287ca75f 100644 --- a/toolchain/check/testdata/struct/import.carbon +++ b/toolchain/check/testdata/struct/import.carbon @@ -168,8 +168,7 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %struct_type.a = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc5: type = splice_block %struct_type.a [concrete = constants.%struct_type.a] { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a] // CHECK:STDOUT: } // CHECK:STDOUT: %a: ref %struct_type.a = ref_binding a, %a.var [concrete = %a.var] @@ -179,15 +178,12 @@ fn F() -> {.x: i32} { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %struct_type.a.d.9db = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc6_43: type = splice_block %struct_type.a.d [concrete = constants.%struct_type.a.d.9db] { -// CHECK:STDOUT: %int_32.loc6_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_28: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_28: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_18: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_28: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_32.1: %tuple.type.85c = tuple_literal (%i32.loc6_28) [concrete = constants.%tuple.38e] // CHECK:STDOUT: %.loc6_32.2: type = converted %.loc6_32.1, constants.%tuple.type.dd4 [concrete = constants.%tuple.type.dd4] // CHECK:STDOUT: %struct_type.b.c: type = struct_type {.b: %i32, .c: %tuple.type.dd4} [concrete = constants.%struct_type.b.c] -// 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: %i32.loc6_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.d: type = struct_type {.a: %struct_type.b.c, .d: %i32} [concrete = constants.%struct_type.a.d.9db] // CHECK:STDOUT: } // CHECK:STDOUT: %b: ref %struct_type.a.d.9db = ref_binding b, %b.var [concrete = %b.var] diff --git a/toolchain/check/testdata/struct/literal_member_access.carbon b/toolchain/check/testdata/struct/literal_member_access.carbon index 49baa4472a56..571a2c5c42bd 100644 --- a/toolchain/check/testdata/struct/literal_member_access.carbon +++ b/toolchain/check/testdata/struct/literal_member_access.carbon @@ -80,12 +80,9 @@ fn F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.c6b = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.c6b = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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: %int_32.loc15_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_16: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.x.y.z: type = struct_type {.x: %i32, .y: %i32, .z: %i32} [concrete = constants.%struct_type.x.y.z] // CHECK:STDOUT: %.loc15: Core.Form = init_form %struct_type.x.y.z, call_param0 [concrete = constants.%.a74] // CHECK:STDOUT: %return.param: ref %struct_type.x.y.z = out_param call_param0 @@ -95,8 +92,7 @@ fn F() -> i32 { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param diff --git a/toolchain/check/testdata/struct/member_access.carbon b/toolchain/check/testdata/struct/member_access.carbon index 234e5e194a56..bf6dc13393c9 100644 --- a/toolchain/check/testdata/struct/member_access.carbon +++ b/toolchain/check/testdata/struct/member_access.carbon @@ -114,10 +114,8 @@ var z: i32 = y; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.b.d2f = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.d2f] { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// 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: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] +// CHECK:STDOUT: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %f64.d77, .b: %i32} [concrete = constants.%struct_type.a.b.d2f] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.b.d2f = ref_binding x, %x.var [concrete = %x.var] @@ -126,20 +124,14 @@ var z: i32 = y; // CHECK:STDOUT: %y.var_patt: %pattern_type.7ce = var_pattern %y.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %i32 = var %y.var_patt [concrete] -// CHECK:STDOUT: %.loc16: type = splice_block %i32.loc16 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %y: ref %i32 = ref_binding y, %y.var [concrete = %y.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %z.patt: %pattern_type.7ce = ref_binding_pattern z [concrete] // CHECK:STDOUT: %z.var_patt: %pattern_type.7ce = var_pattern %z.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %z.var: ref %i32 = var %z.var_patt [concrete] -// CHECK:STDOUT: %.loc17: type = splice_block %i32.loc17 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc17: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %z: ref %i32 = ref_binding z, %z.var [concrete = %z.var] // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/struct/nested_struct_in_place.carbon b/toolchain/check/testdata/struct/nested_struct_in_place.carbon index 78afd544fe1d..0e2c64eb829f 100644 --- a/toolchain/check/testdata/struct/nested_struct_in_place.carbon +++ b/toolchain/check/testdata/struct/nested_struct_in_place.carbon @@ -64,12 +64,9 @@ fn G() { // CHECK:STDOUT: %return.patt: %pattern_type.b5a = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.b5a = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_17: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_17: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_12: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_17: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_25.1: %tuple.type.ff9 = tuple_literal (%i32.loc15_12, %i32.loc15_17, %i32.loc15_22) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc15_25.2: type = converted %.loc15_25.1, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: %.loc15_25.3: Core.Form = init_form %.loc15_25.2, call_param0 [concrete = constants.%.594] @@ -99,20 +96,14 @@ fn G() { // CHECK:STDOUT: %.loc18_3: init %struct_type.a.b.2f9 = converted %.loc18_81.3, %.loc18_81.4 // CHECK:STDOUT: assign %v.var, %.loc18_3 // CHECK:STDOUT: %.loc18_58: type = splice_block %struct_type.a.b [concrete = constants.%struct_type.a.b.2f9] { -// CHECK:STDOUT: %int_32.loc18_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// 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: %int_32.loc18_33: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_33: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_23: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_28: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_33: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18_36.1: %tuple.type.ff9 = tuple_literal (%i32.loc18_23, %i32.loc18_28, %i32.loc18_33) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc18_36.2: type = converted %.loc18_36.1, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] -// CHECK:STDOUT: %int_32.loc18_44: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_44: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc18_49: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_49: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc18_54: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_54: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_44: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_49: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_54: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc18_57.1: %tuple.type.ff9 = tuple_literal (%i32.loc18_44, %i32.loc18_49, %i32.loc18_54) [concrete = constants.%tuple] // CHECK:STDOUT: %.loc18_57.2: type = converted %.loc18_57.1, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: %struct_type.a.b: type = struct_type {.a: %tuple.type.189, .b: %tuple.type.189} [concrete = constants.%struct_type.a.b.2f9] diff --git a/toolchain/check/testdata/struct/one_entry.carbon b/toolchain/check/testdata/struct/one_entry.carbon index 2d6fba5e4d7c..c9e057bc0b27 100644 --- a/toolchain/check/testdata/struct/one_entry.carbon +++ b/toolchain/check/testdata/struct/one_entry.carbon @@ -88,8 +88,7 @@ var y: {.a: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.ba9 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15: type = splice_block %struct_type.a.loc15 [concrete = constants.%struct_type.a.ba9] { -// 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: %i32.loc15: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.loc15: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.ba9 = ref_binding x, %x.var [concrete = %x.var] @@ -99,8 +98,7 @@ var y: {.a: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %struct_type.a.ba9 = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc16: type = splice_block %struct_type.a.loc16 [concrete = constants.%struct_type.a.ba9] { -// 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: %i32.loc16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.loc16: type = struct_type {.a: %i32} [concrete = constants.%struct_type.a.ba9] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %struct_type.a.ba9 = ref_binding y, %y.var [concrete = %y.var] diff --git a/toolchain/check/testdata/struct/partially_const.carbon b/toolchain/check/testdata/struct/partially_const.carbon index ed7179ba1416..eff3fe8c4d91 100644 --- a/toolchain/check/testdata/struct/partially_const.carbon +++ b/toolchain/check/testdata/struct/partially_const.carbon @@ -89,19 +89,13 @@ fn Make(n: i32) -> {.a: i32, .b: i32, .c: i32} { // CHECK:STDOUT: %return.patt: %pattern_type.8ae = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.8ae = out_param_pattern %return.patt, call_param1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32.loc15_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_43: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_43: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_34: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_43: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.c: type = struct_type {.a: %i32, .b: %i32, .c: %i32} [concrete = constants.%struct_type.a.b.c.0b6] -// CHECK:STDOUT: %.loc15_46: Core.Form = init_form %struct_type.a.b.c, call_param1 [concrete = constants.%.cb1] +// CHECK:STDOUT: %.loc15: Core.Form = init_form %struct_type.a.b.c, call_param1 [concrete = constants.%.cb1] // CHECK:STDOUT: %n.param: %i32 = value_param call_param0 -// CHECK:STDOUT: %.loc15_12: type = splice_block %i32.loc15_12 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc15_12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_12: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc15_12: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %n: %i32 = value_binding n, %n.param // CHECK:STDOUT: %return.param: ref %struct_type.a.b.c.0b6 = out_param call_param1 // CHECK:STDOUT: %return: ref %struct_type.a.b.c.0b6 = return_slot %return.param diff --git a/toolchain/check/testdata/struct/reorder_fields.carbon b/toolchain/check/testdata/struct/reorder_fields.carbon index 306831052f66..b7098822cbaf 100644 --- a/toolchain/check/testdata/struct/reorder_fields.carbon +++ b/toolchain/check/testdata/struct/reorder_fields.carbon @@ -98,8 +98,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %return.patt: %pattern_type.7ce = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.7ce = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15: Core.Form = init_form %i32, call_param0 [concrete = constants.%.437] // CHECK:STDOUT: %return.param: ref %i32 = out_param call_param0 // CHECK:STDOUT: %return: ref %i32 = return_slot %return.param @@ -108,8 +107,7 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %return.patt: %pattern_type.0ae = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.0ae = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %f64: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %.loc16: Core.Form = init_form %f64, call_param0 [concrete = constants.%.833] // CHECK:STDOUT: %return.param: ref %f64.d77 = out_param call_param0 // CHECK:STDOUT: %return: ref %f64.d77 = return_slot %return.param @@ -118,10 +116,8 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %return.patt: %pattern_type.a5c = return_slot_pattern [concrete] // CHECK:STDOUT: %return.param_patt: %pattern_type.a5c = out_param_pattern %return.patt, call_param0 [concrete] // CHECK:STDOUT: } { -// 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_64.loc18: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc18: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %i32.loc18: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %f64.loc18: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %struct_type.a.b.loc18: type = struct_type {.a: %i32, .b: %f64.d77} [concrete = constants.%struct_type.a.b] // CHECK:STDOUT: %.loc18: Core.Form = init_form %struct_type.a.b.loc18, call_param0 [concrete = constants.%.45a] // CHECK:STDOUT: %return.param: ref %struct_type.a.b = out_param call_param0 @@ -144,10 +140,8 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: %MakeI32.call: init %i32 = call %MakeI32.ref() // CHECK:STDOUT: %.loc19_62.1: %struct_type.b.a = struct_literal (%MakeF64.call, %MakeI32.call) // CHECK:STDOUT: %.loc19_27: type = splice_block %struct_type.a.b.loc19 [concrete = constants.%struct_type.a.b] { -// 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: %int_64.loc19: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc19: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %i32.loc19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %f64.loc19: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] // CHECK:STDOUT: %struct_type.a.b.loc19: type = struct_type {.a: %i32, .b: %f64.d77} [concrete = constants.%struct_type.a.b] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc19_62.2: %i32 = value_of_initializer %MakeI32.call @@ -162,10 +156,8 @@ fn F() -> {.a: i32, .b: f64} { // CHECK:STDOUT: } // CHECK:STDOUT: %x.ref: %struct_type.a.b = name_ref x, %x // CHECK:STDOUT: %.loc20_27: type = splice_block %struct_type.b.a [concrete = constants.%struct_type.b.a] { -// CHECK:STDOUT: %int_64.loc20: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %f64.loc20: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] -// 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: %f64.loc20: type = type_literal constants.%f64.d77 [concrete = constants.%f64.d77] +// CHECK:STDOUT: %i32.loc20: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.b.a: type = struct_type {.b: %f64.d77, .a: %i32} [concrete = constants.%struct_type.b.a] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc20_31.1: %f64.d77 = struct_access %x.ref, element1 diff --git a/toolchain/check/testdata/struct/tuple_as_element.carbon b/toolchain/check/testdata/struct/tuple_as_element.carbon index 48ab89e52c97..c40cfa859eb4 100644 --- a/toolchain/check/testdata/struct/tuple_as_element.carbon +++ b/toolchain/check/testdata/struct/tuple_as_element.carbon @@ -102,10 +102,8 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.b.3d5 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc15_28: type = splice_block %struct_type.a.b.loc15 [concrete = constants.%struct_type.a.b.3d5] { -// CHECK:STDOUT: %int_32.loc15_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc15_27.1: %tuple.type.85c = tuple_literal (%i32.loc15_23) [concrete = constants.%tuple.896] // CHECK:STDOUT: %.loc15_27.2: type = converted %.loc15_27.1, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: %struct_type.a.b.loc15: type = struct_type {.a: %i32, .b: %tuple.type.a1c} [concrete = constants.%struct_type.a.b.3d5] @@ -117,10 +115,8 @@ var y: {.a: i32, .b: (i32,)} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %struct_type.a.b.3d5 = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc16_28: type = splice_block %struct_type.a.b.loc16 [concrete = constants.%struct_type.a.b.3d5] { -// CHECK:STDOUT: %int_32.loc16_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc16_23: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_23: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_23: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc16_27.1: %tuple.type.85c = tuple_literal (%i32.loc16_23) [concrete = constants.%tuple.896] // CHECK:STDOUT: %.loc16_27.2: type = converted %.loc16_27.1, constants.%tuple.type.a1c [concrete = constants.%tuple.type.a1c] // CHECK:STDOUT: %struct_type.a.b.loc16: type = struct_type {.a: %i32, .b: %tuple.type.a1c} [concrete = constants.%struct_type.a.b.3d5] diff --git a/toolchain/check/testdata/struct/two_entries.carbon b/toolchain/check/testdata/struct/two_entries.carbon index 43a359566b02..486781288dca 100644 --- a/toolchain/check/testdata/struct/two_entries.carbon +++ b/toolchain/check/testdata/struct/two_entries.carbon @@ -98,10 +98,8 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %v.patt: %pattern_type.851 = value_binding_pattern v [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc15_25: type = splice_block %struct_type.a.b.loc15 [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc15_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc15_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc15_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc15_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc15: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %impl.elem0.loc15_44.1: %.545 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5] @@ -125,10 +123,8 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: %w.patt: %pattern_type.851 = value_binding_pattern w [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %.loc16: type = splice_block %struct_type.a.b.loc16 [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc16_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc16_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc16_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc16_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc16: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %w: %struct_type.a.b.501 = value_binding w, @__global_init.%v.ref @@ -138,10 +134,8 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %x.var: ref %struct_type.a.b.501 = var %x.var_patt [concrete] // CHECK:STDOUT: %.loc18: type = splice_block %struct_type.a.b.loc18 [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc18_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc18_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc18_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc18_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc18: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %x: ref %struct_type.a.b.501 = ref_binding x, %x.var [concrete = %x.var] @@ -151,10 +145,8 @@ var y: {.a: i32, .b: i32} = x; // CHECK:STDOUT: } // CHECK:STDOUT: %y.var: ref %struct_type.a.b.501 = var %y.var_patt [concrete] // CHECK:STDOUT: %.loc19: type = splice_block %struct_type.a.b.loc19 [concrete = constants.%struct_type.a.b.501] { -// CHECK:STDOUT: %int_32.loc19_13: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_13: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc19_22: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc19_22: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_13: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc19_22: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %struct_type.a.b.loc19: type = struct_type {.a: %i32, .b: %i32} [concrete = constants.%struct_type.a.b.501] // CHECK:STDOUT: } // CHECK:STDOUT: %y: ref %struct_type.a.b.501 = ref_binding y, %y.var [concrete = %y.var] diff --git a/toolchain/check/testdata/tuple/element_access.carbon b/toolchain/check/testdata/tuple/element_access.carbon index 2b9f644a57bd..d9d678fb5e7a 100644 --- a/toolchain/check/testdata/tuple/element_access.carbon +++ b/toolchain/check/testdata/tuple/element_access.carbon @@ -234,10 +234,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %c.var_patt: %pattern_type.7ce = var_pattern %c.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %c.var: ref %i32 = var %c.var_patt [concrete] -// CHECK:STDOUT: %.loc6: type = splice_block %i32.loc6 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc6: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %c: ref %i32 = ref_binding c, %c.var [concrete = %c.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -335,10 +332,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %b.var_patt: %pattern_type.7ce = var_pattern %b.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %i32 = var %b.var_patt [concrete] -// CHECK:STDOUT: %.loc5: type = splice_block %i32.loc5 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc5: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc5: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %b: ref %i32 = ref_binding b, %b.var [concrete = %b.var] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %c.patt: %pattern_type.cb1 = ref_binding_pattern c [concrete] @@ -355,10 +349,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: %d.var_patt: %pattern_type.7ce = var_pattern %d.patt [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %d.var: ref %i32 = var %d.var_patt [concrete] -// CHECK:STDOUT: %.loc7: type = splice_block %i32.loc7 [concrete = constants.%i32] { -// CHECK:STDOUT: %int_32.loc7: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: } +// CHECK:STDOUT: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %d: ref %i32 = ref_binding d, %d.var [concrete = %d.var] // CHECK:STDOUT: } // CHECK:STDOUT: @@ -381,8 +372,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: assign file.%b.var, %Int.as.Copy.impl.Op.call.loc5 // CHECK:STDOUT: %a.ref.loc6: ref %tuple.type.0ce = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0.5c6] -// 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: %i32.loc6: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc6_18.1: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc6_18.1: = bound_method %int_0, %impl.elem0.loc6_18.1 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.5ad] // CHECK:STDOUT: %specific_fn.loc6_18.1: = specific_function %impl.elem0.loc6_18.1, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] @@ -403,8 +393,7 @@ var b: i32 = a.({.index = 2}.index); // CHECK:STDOUT: assign file.%c.var, %.loc6_1 // CHECK:STDOUT: %a.ref.loc7: ref %tuple.type.0ce = name_ref a, file.%a [concrete = file.%a.var] // CHECK:STDOUT: %int_1.loc7: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// 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: %i32.loc7: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %impl.elem0.loc7_29: %.9ed = impl_witness_access constants.%As.impl_witness.ab6, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.29b] // CHECK:STDOUT: %bound_method.loc7_29.1: = bound_method %int_1.loc7, %impl.elem0.loc7_29 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.bd3] // CHECK:STDOUT: %specific_fn.loc7_29: = specific_function %impl.elem0.loc7_29, @Core.IntLiteral.as.As.impl.Convert(constants.%int_32) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] diff --git a/toolchain/check/testdata/tuple/import.carbon b/toolchain/check/testdata/tuple/import.carbon index b1418b43c165..0b6562692358 100644 --- a/toolchain/check/testdata/tuple/import.carbon +++ b/toolchain/check/testdata/tuple/import.carbon @@ -179,8 +179,7 @@ fn F() -> (i32,) { // CHECK:STDOUT: } // CHECK:STDOUT: %a.var: ref %tuple.type.dd4 = var %a.var_patt [concrete] // CHECK:STDOUT: %.loc5_13.1: type = splice_block %.loc5_13.3 [concrete = constants.%tuple.type.dd4] { -// 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: %i32.loc5: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc5_13.2: %tuple.type.85c = tuple_literal (%i32.loc5) [concrete = constants.%tuple.38e] // CHECK:STDOUT: %.loc5_13.3: type = converted %.loc5_13.2, constants.%tuple.type.dd4 [concrete = constants.%tuple.type.dd4] // CHECK:STDOUT: } @@ -191,16 +190,12 @@ fn F() -> (i32,) { // CHECK:STDOUT: } // CHECK:STDOUT: %b.var: ref %tuple.type.cfa = var %b.var_patt [concrete] // CHECK:STDOUT: %.loc6_34.1: type = splice_block %.loc6_34.6 [concrete = constants.%tuple.type.cfa] { -// CHECK:STDOUT: %int_32.loc6_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_11: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_15: %tuple.type.85c = tuple_literal (%i32.loc6_11) [concrete = constants.%tuple.38e] -// CHECK:STDOUT: %int_32.loc6_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_18: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_21: %tuple.type.8c7 = tuple_literal (%.loc6_15, %i32.loc6_18) [concrete = constants.%tuple.896] -// CHECK:STDOUT: %int_32.loc6_25: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_25: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc6_30: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc6_30: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_25: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc6_30: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc6_33: %tuple.type.24b = tuple_literal (%i32.loc6_25, %i32.loc6_30) [concrete = constants.%tuple.a50] // CHECK:STDOUT: %.loc6_34.2: %tuple.type.58c = tuple_literal (%.loc6_21, %.loc6_33) [concrete = constants.%tuple.2de] // CHECK:STDOUT: %.loc6_34.3: type = converted constants.%tuple.38e, constants.%tuple.type.dd4 [concrete = constants.%tuple.type.dd4] diff --git a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon index dddc119effbe..af841c918799 100644 --- a/toolchain/check/testdata/tuple/in_place_tuple_init.carbon +++ b/toolchain/check/testdata/tuple/in_place_tuple_init.carbon @@ -93,10 +93,8 @@ fn H() { // CHECK:STDOUT: %F.call.loc7: init %tuple.type.d07 to %.loc7_3 = call %F.ref.loc7() // CHECK:STDOUT: assign %v.var, %F.call.loc7 // CHECK:STDOUT: %.loc7_19.1: type = splice_block %.loc7_19.3 [concrete = constants.%tuple.type.d07] { -// CHECK:STDOUT: %int_32.loc7_11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc7_16: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_16: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_11: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_16: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_19.2: %tuple.type.24b = tuple_literal (%i32.loc7_11, %i32.loc7_16) [concrete = constants.%tuple.95a] // CHECK:STDOUT: %.loc7_19.3: type = converted %.loc7_19.2, constants.%tuple.type.d07 [concrete = constants.%tuple.type.d07] // CHECK:STDOUT: } @@ -203,19 +201,13 @@ fn H() { // CHECK:STDOUT: %.loc7_3: init %tuple.type.99b = converted %.loc7_63.1, %.loc7_63.2 // CHECK:STDOUT: assign %v.var, %.loc7_3 // CHECK:STDOUT: %.loc7_50.1: type = splice_block %.loc7_50.5 [concrete = constants.%tuple.type.99b] { -// CHECK:STDOUT: %int_32.loc7_19: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_19: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc7_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc7_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_19: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_24: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_29: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_32: %tuple.type.ff9 = tuple_literal (%i32.loc7_19, %i32.loc7_24, %i32.loc7_29) [concrete = constants.%tuple.e64] -// CHECK:STDOUT: %int_32.loc7_36: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_36: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc7_41: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_41: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc7_46: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc7_46: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_36: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_41: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc7_46: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc7_49: %tuple.type.ff9 = tuple_literal (%i32.loc7_36, %i32.loc7_41, %i32.loc7_46) [concrete = constants.%tuple.e64] // CHECK:STDOUT: %.loc7_50.2: %tuple.type.f9f = tuple_literal (%.loc7_32, %.loc7_49) [concrete = constants.%tuple.9e5] // CHECK:STDOUT: %.loc7_50.3: type = converted constants.%tuple.e64, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] @@ -263,17 +255,12 @@ fn H() { // CHECK:STDOUT: %.loc13_3: init %tuple.type.516 = converted %.loc13_57.1, %.loc13_57.6 // CHECK:STDOUT: assign %v.var, %.loc13_3 // CHECK:STDOUT: %.loc13_43.1: type = splice_block %.loc13_43.4 [concrete = constants.%tuple.type.516] { -// CHECK:STDOUT: %int_32.loc13_18: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_18: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc13_24: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_24: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc13_29: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_29: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc13_34: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_34: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_18: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_24: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_29: type = type_literal constants.%i32 [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_34: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13_37: %tuple.type.ff9 = tuple_literal (%i32.loc13_24, %i32.loc13_29, %i32.loc13_34) [concrete = constants.%tuple.e64] -// CHECK:STDOUT: %int_32.loc13_40: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc13_40: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc13_40: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc13_43.2: %tuple.type.3a3 = tuple_literal (%i32.loc13_18, %.loc13_37, %i32.loc13_40) [concrete = constants.%tuple.5fc] // CHECK:STDOUT: %.loc13_43.3: type = converted constants.%tuple.e64, constants.%tuple.type.189 [concrete = constants.%tuple.type.189] // CHECK:STDOUT: %.loc13_43.4: type = converted %.loc13_43.2, constants.%tuple.type.516 [concrete = constants.%tuple.type.516] diff --git a/toolchain/check/testdata/where_expr/constraints.carbon b/toolchain/check/testdata/where_expr/constraints.carbon index c1941b336880..512abe6db29d 100644 --- a/toolchain/check/testdata/where_expr/constraints.carbon +++ b/toolchain/check/testdata/where_expr/constraints.carbon @@ -207,11 +207,12 @@ fn F() { // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: // CHECK:STDOUT: %.Self.ref: %I.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.1dc] +// CHECK:STDOUT: %.loc7_30: type = type_literal type [concrete = type] // CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %.loc7_18: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %.loc7_12.2: type = where_expr %.Self.2 [concrete = constants.%I.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%I.type -// CHECK:STDOUT: requirement_impls %.loc7_18, type +// CHECK:STDOUT: requirement_impls %.loc7_18, %.loc7_30 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %T.loc7_6.2: %I.type = symbolic_binding T, 0 [symbolic = %T.loc7_6.1 (constants.%T)] @@ -486,6 +487,8 @@ fn F() { // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc9_23.1: type = splice_block %.loc9_23.2 [concrete = ] { // CHECK:STDOUT: +// CHECK:STDOUT: %.loc9_18: type = type_literal type [concrete = type] +// CHECK:STDOUT: // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %I.ref: = name_ref I, [concrete = ] // CHECK:STDOUT: %.loc9_23.2: type = where_expr %.Self.2 [concrete = ] { diff --git a/toolchain/check/testdata/where_expr/designator.carbon b/toolchain/check/testdata/where_expr/designator.carbon index dc8fe3b4163a..1427415c75c0 100644 --- a/toolchain/check/testdata/where_expr/designator.carbon +++ b/toolchain/check/testdata/where_expr/designator.carbon @@ -203,6 +203,8 @@ fn G(unused T:! type where C(()) impls I(.Self)) {} // CHECK:STDOUT: } { // CHECK:STDOUT: %.loc13_27.1: type = splice_block %.loc13_27.2 [concrete = constants.%type_where] { // CHECK:STDOUT: +// CHECK:STDOUT: %.loc13_22: type = type_literal type [concrete = type] +// CHECK:STDOUT: // CHECK:STDOUT: %.Self.ref: type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.16f] // CHECK:STDOUT: %I.ref: type = name_ref I, file.%I.decl [concrete = constants.%I.type] // CHECK:STDOUT: %.loc13_27.2: type = where_expr %.Self.2 [concrete = constants.%type_where] { diff --git a/toolchain/check/testdata/where_expr/dot_self_index.carbon b/toolchain/check/testdata/where_expr/dot_self_index.carbon index 4e357cea002c..f195604c4d63 100644 --- a/toolchain/check/testdata/where_expr/dot_self_index.carbon +++ b/toolchain/check/testdata/where_expr/dot_self_index.carbon @@ -70,7 +70,10 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %U.param_patt: @H.%pattern_type (%pattern_type.bb3) = value_param_pattern %U.patt, call_param0 [concrete] // CHECK:STDOUT: %V.patt: %pattern_type.98f = symbolic_binding_pattern V, 1 [concrete] // CHECK:STDOUT: } { -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc21_10.1: type = splice_block %.loc21_10.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc21_10.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %T.loc21_6.2: type = symbolic_binding T, 0 [symbolic = %T.loc21_6.1 (constants.%T)] // CHECK:STDOUT: %U.param: @H.%Empty_where.type (%Empty_where.type.2dc) = value_param call_param0 // CHECK:STDOUT: %.loc21_35.1: type = splice_block %.loc21_35.2 [symbolic = %Empty_where.type (constants.%Empty_where.type.2dc)] { @@ -78,7 +81,7 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %T.ref.loc21_32: type = name_ref T, %T.loc21_6.2 [symbolic = %T.loc21_6.1 (constants.%T)] // CHECK:STDOUT: %Empty.type.loc21_33.2: type = facet_type <@Empty, @Empty(constants.%T)> [symbolic = %Empty.type.loc21_33.1 (constants.%Empty.type.6f76f1.2)] // CHECK:STDOUT: -// CHECK:STDOUT: %.Self.ref: @H.%Empty.type.loc21_33.1 (%Empty.type.6f76f1.2) = name_ref .Self, %.Self.4 [symbolic = %.Self.1 (constants.%.Self.b4b)] +// CHECK:STDOUT: %.Self.ref: @H.%Empty.type.loc21_33.1 (%Empty.type.6f76f1.2) = name_ref .Self, %.Self.3 [symbolic = %.Self.1 (constants.%.Self.b4b)] // CHECK:STDOUT: %.Self.as_type: type = facet_access_type %.Self.ref [symbolic = %.Self.binding.as_type (constants.%.Self.binding.as_type.b61)] // CHECK:STDOUT: %.loc21_41.1: type = converted %.Self.ref, %.Self.as_type [symbolic = %.Self.binding.as_type (constants.%.Self.binding.as_type.b61)] // CHECK:STDOUT: %.loc21_41.2: @H.%Empty.assoc_type (%Empty.assoc_type.ce4b5a.2) = specific_constant @A.%assoc0, @Empty(constants.%T, constants.%.Self.b4b) [symbolic = %assoc0 (constants.%assoc0.beb632.2)] @@ -86,13 +89,16 @@ fn G(U: Empty(i32) where .A = i32*) { // CHECK:STDOUT: %impl.elem0.loc21_41.2: type = impl_witness_access constants.%Empty.lookup_impl_witness.177, element0 [symbolic = %impl.elem0.loc21_41.1 (constants.%impl.elem0.de5)] // CHECK:STDOUT: %T.ref.loc21_46: type = name_ref T, %T.loc21_6.2 [symbolic = %T.loc21_6.1 (constants.%T)] // CHECK:STDOUT: %ptr.loc21_47.2: type = ptr_type %T.ref.loc21_46 [symbolic = %ptr.loc21_47.1 (constants.%ptr.e8f)] -// CHECK:STDOUT: %.loc21_35.2: type = where_expr %.Self.4 [symbolic = %Empty_where.type (constants.%Empty_where.type.2dc)] { +// CHECK:STDOUT: %.loc21_35.2: type = where_expr %.Self.3 [symbolic = %Empty_where.type (constants.%Empty_where.type.2dc)] { // CHECK:STDOUT: requirement_base_facet_type constants.%Empty.type.6f76f1.2 // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc21_41.2, %ptr.loc21_47.2 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %U: @H.%Empty_where.type (%Empty_where.type.2dc) = value_binding U, %U.param -// CHECK:STDOUT: +// CHECK:STDOUT: %.loc21_61.1: type = splice_block %.loc21_61.2 [concrete = type] { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc21_61.2: type = type_literal type [concrete = type] +// CHECK:STDOUT: } // CHECK:STDOUT: %V.loc21_57.2: type = symbolic_binding V, 1 [symbolic = %V.loc21_57.1 (constants.%V)] // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/where_expr/equal_rewrite.carbon b/toolchain/check/testdata/where_expr/equal_rewrite.carbon index e2b489410eee..a64483a87abf 100644 --- a/toolchain/check/testdata/where_expr/equal_rewrite.carbon +++ b/toolchain/check/testdata/where_expr/equal_rewrite.carbon @@ -286,8 +286,6 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.Self.binding.as_type: type = symbolic_binding_type .Self, %.Self.091 [symbolic_self] // CHECK:STDOUT: %A.lookup_impl_witness: = lookup_impl_witness %.Self.091, @A [symbolic_self] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access %A.lookup_impl_witness, element0 [symbolic_self] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %A_where.type.f51: type = facet_type <@A where %impl.elem0 = bool> [concrete] // CHECK:STDOUT: %impl.elem1: type = impl_witness_access %A.lookup_impl_witness, element1 [symbolic_self] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] @@ -311,12 +309,10 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.loc10_31: type = converted %.Self.ref.loc10_31, %.Self.as_type.loc10_31 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %B.ref: %A.assoc_type = name_ref B, @B.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%A.lookup_impl_witness, element0 [symbolic_self = constants.%impl.elem0] -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_36.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc10_36.2: type = converted %Bool.call, %.loc10_36.1 [concrete = bool] +// CHECK:STDOUT: %.loc10_36: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_25: type = where_expr %.Self.2 [concrete = constants.%A_where.type.f51] { // CHECK:STDOUT: requirement_base_facet_type constants.%A.type -// CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc10_36.2 +// CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc10_36 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: %.Self.ref.loc10_48: %A.type = name_ref .Self, %.Self.3 [symbolic_self = constants.%.Self.091] @@ -382,8 +378,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.loc9_34: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %F.ref: %E.assoc_type = name_ref F, @F.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%E.lookup_impl_witness, element0 [symbolic_self = constants.%impl.elem0] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc9_28.2: type = where_expr %.Self.2 [concrete = constants.%E_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%E.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %i32 @@ -403,16 +398,14 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.loc11_32: type = converted %.Self.ref.loc11_32, %.Self.as_type.loc11_32 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %F.ref.loc11_32: %E.assoc_type = name_ref F, @F.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0.loc11_32: type = impl_witness_access constants.%E.lookup_impl_witness, element0 [symbolic_self = constants.%impl.elem0] -// CHECK:STDOUT: %int_32.loc11_37: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11_37: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc11_37: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.Self.ref.loc11_45: %E.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.7f5] // CHECK:STDOUT: %.Self.as_type.loc11_45: type = facet_access_type %.Self.ref.loc11_45 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %.loc11_45: type = converted %.Self.ref.loc11_45, %.Self.as_type.loc11_45 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %F.ref.loc11_45: %E.assoc_type = name_ref F, @F.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0.loc11_45: type = impl_witness_access constants.%E.lookup_impl_witness, element0 [symbolic_self = constants.%impl.elem0] // CHECK:STDOUT: %impl.elem0.subst: type = impl_witness_access_substituted %impl.elem0.loc11_45, %i32.loc11_37 [concrete = constants.%i32] -// CHECK:STDOUT: %int_32.loc11_50: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32.loc11_50: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32.loc11_50: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc11_26.2: type = where_expr %.Self.2 [concrete = constants.%E_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%E.type // CHECK:STDOUT: requirement_rewrite %impl.elem0.loc11_32, %i32.loc11_37 @@ -487,8 +480,6 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %impl.elem0: type = impl_witness_access %J.lookup_impl_witness, element0 [symbolic_self] // CHECK:STDOUT: %empty_tuple: %empty_tuple.type = tuple_value () [concrete] // CHECK:STDOUT: %impl.elem1: type = impl_witness_access %J.lookup_impl_witness, element1 [symbolic_self] -// CHECK:STDOUT: %Bool.type: type = fn_type @Bool [concrete] -// CHECK:STDOUT: %Bool: %Bool.type = struct_value () [concrete] // CHECK:STDOUT: %J_where.type: type = facet_type <@J where %impl.elem0 = %empty_tuple.type and %impl.elem1 = bool> [concrete] // CHECK:STDOUT: %M: %J_where.type = symbolic_binding M, 0 [symbolic] // CHECK:STDOUT: %pattern_type.a2c: type = pattern_type %J_where.type [concrete] @@ -519,13 +510,11 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.loc10_48: type = converted %.Self.ref.loc10_48, %.Self.as_type.loc10_48 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %L.ref: %J.assoc_type = name_ref L, @L.%assoc1 [concrete = constants.%assoc1] // CHECK:STDOUT: %impl.elem1: type = impl_witness_access constants.%J.lookup_impl_witness, element1 [symbolic_self = constants.%impl.elem1] -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc10_53.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc10_53.2: type = converted %Bool.call, %.loc10_53.1 [concrete = bool] +// CHECK:STDOUT: %.loc10_53: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.loc10_30.2: type = where_expr %.Self.2 [concrete = constants.%J_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc10_42.2 -// CHECK:STDOUT: requirement_rewrite %impl.elem1, %.loc10_53.2 +// CHECK:STDOUT: requirement_rewrite %impl.elem1, %.loc10_53 // CHECK:STDOUT: } // CHECK:STDOUT: } // CHECK:STDOUT: %M.loc10_24.2: %J_where.type = symbolic_binding M, 0 [symbolic = %M.loc10_24.1 (constants.%M)] @@ -542,9 +531,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.loc12_25: type = converted %.Self.ref.loc12_25, %.Self.as_type.loc12_25 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %L.ref: %J.assoc_type = name_ref L, @L.%assoc1 [concrete = constants.%assoc1] // CHECK:STDOUT: %impl.elem1: type = impl_witness_access constants.%J.lookup_impl_witness, element1 [symbolic_self = constants.%impl.elem1] -// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool] -// CHECK:STDOUT: %.loc12_30.1: type = value_of_initializer %Bool.call [concrete = bool] -// CHECK:STDOUT: %.loc12_30.2: type = converted %Bool.call, %.loc12_30.1 [concrete = bool] +// CHECK:STDOUT: %.loc12_30: type = type_literal bool [concrete = bool] // CHECK:STDOUT: %.Self.ref.loc12_39: %J.type = name_ref .Self, %.Self.2 [symbolic_self = constants.%.Self.2fa] // CHECK:STDOUT: %.Self.as_type.loc12_39: type = facet_access_type %.Self.ref.loc12_39 [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %.loc12_39: type = converted %.Self.ref.loc12_39, %.Self.as_type.loc12_39 [symbolic_self = constants.%.Self.binding.as_type] @@ -554,7 +541,7 @@ let K: (E where .F = .Self.G) = bool; // CHECK:STDOUT: %.loc12_45.2: type = converted %.loc12_45.1, constants.%empty_tuple.type [concrete = constants.%empty_tuple.type] // CHECK:STDOUT: %.loc12_19.2: type = where_expr %.Self.2 [concrete = constants.%J_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%J.type -// CHECK:STDOUT: requirement_rewrite %impl.elem1, %.loc12_30.2 +// CHECK:STDOUT: requirement_rewrite %impl.elem1, %.loc12_30 // CHECK:STDOUT: requirement_rewrite %impl.elem0, %.loc12_45.2 // CHECK:STDOUT: } // CHECK:STDOUT: } diff --git a/toolchain/check/testdata/where_expr/non_generic.carbon b/toolchain/check/testdata/where_expr/non_generic.carbon index 089a68b5395f..639c7a9652db 100644 --- a/toolchain/check/testdata/where_expr/non_generic.carbon +++ b/toolchain/check/testdata/where_expr/non_generic.carbon @@ -49,8 +49,7 @@ fn NotGenericF(unused U: I where .T == i32) {} // CHECK:STDOUT: %.loc17_34: type = converted %.Self.ref, %.Self.as_type [symbolic_self = constants.%.Self.binding.as_type] // CHECK:STDOUT: %T.ref: %I.assoc_type = name_ref T, @T.%assoc0 [concrete = constants.%assoc0] // CHECK:STDOUT: %impl.elem0: type = impl_witness_access constants.%I.lookup_impl_witness, element0 [symbolic_self = constants.%impl.elem0] -// CHECK:STDOUT: %int_32: Core.IntLiteral = int_value 32 [concrete = constants.%int_32] -// CHECK:STDOUT: %i32: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32] +// CHECK:STDOUT: %i32: type = type_literal constants.%i32 [concrete = constants.%i32] // CHECK:STDOUT: %.loc17_28.2: type = where_expr %.Self [concrete = constants.%I_where.type] { // CHECK:STDOUT: requirement_base_facet_type constants.%I.type // CHECK:STDOUT: requirement_equivalent %impl.elem0, %i32 diff --git a/toolchain/lower/handle.cpp b/toolchain/lower/handle.cpp index 0005088d09db..dffe55e187f2 100644 --- a/toolchain/lower/handle.cpp +++ b/toolchain/lower/handle.cpp @@ -334,6 +334,11 @@ auto HandleInst(FunctionContext& /*context*/, SemIR::InstId /*inst_id*/, CARBON_FATAL("Template lowering not implemented yet"); } +auto HandleInst(FunctionContext& context, SemIR::InstId inst_id, + SemIR::TypeLiteral inst) -> void { + context.SetLocal(inst_id, context.GetValue(inst.value_id)); +} + auto HandleInst(FunctionContext& context, SemIR::InstId inst_id, SemIR::UnaryOperatorNot inst) -> void { context.SetLocal( diff --git a/toolchain/lower/testdata/struct/member_access.carbon b/toolchain/lower/testdata/struct/member_access.carbon index 38346703912d..716b8a92b4d6 100644 --- a/toolchain/lower/testdata/struct/member_access.carbon +++ b/toolchain/lower/testdata/struct/member_access.carbon @@ -37,8 +37,8 @@ fn Run() -> i32 { // CHECK:STDOUT: %.loc15_17.2 = load i32, ptr %.loc15_17.1.b, align 4, !dbg !12 // CHECK:STDOUT: store i32 %.loc15_17.2, ptr %y.var, align 4, !dbg !9 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var), !dbg !10 -// CHECK:STDOUT: %.loc16_16 = load i32, ptr %y.var, align 4, !dbg !13 -// CHECK:STDOUT: store i32 %.loc16_16, ptr %_.var, align 4, !dbg !10 +// CHECK:STDOUT: %.loc16 = load i32, ptr %y.var, align 4, !dbg !13 +// CHECK:STDOUT: store i32 %.loc16, ptr %_.var, align 4, !dbg !10 // CHECK:STDOUT: ret i32 0, !dbg !14 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/tuple/access/element_access.carbon b/toolchain/lower/testdata/tuple/access/element_access.carbon index 66ae2e3008b6..350fd0812d9d 100644 --- a/toolchain/lower/testdata/tuple/access/element_access.carbon +++ b/toolchain/lower/testdata/tuple/access/element_access.carbon @@ -35,12 +35,12 @@ fn Run() -> i32 { // CHECK:STDOUT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %a.var, ptr align 4 @tuple.d9f.loc14_3, i64 12, i1 false), !dbg !8 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc15), !dbg !9 // CHECK:STDOUT: %tuple.elem0.loc15.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 0, !dbg !12 -// CHECK:STDOUT: %.loc15_17 = load i32, ptr %tuple.elem0.loc15.tuple.elem, align 4, !dbg !12 -// CHECK:STDOUT: store i32 %.loc15_17, ptr %_.var.loc15, align 4, !dbg !9 +// CHECK:STDOUT: %.loc15 = load i32, ptr %tuple.elem0.loc15.tuple.elem, align 4, !dbg !12 +// CHECK:STDOUT: store i32 %.loc15, ptr %_.var.loc15, align 4, !dbg !9 // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %_.var.loc16), !dbg !10 // CHECK:STDOUT: %tuple.elem2.loc16.tuple.elem = getelementptr inbounds nuw { i32, i32, i32 }, ptr %a.var, i32 0, i32 2, !dbg !13 -// CHECK:STDOUT: %.loc16_17 = load i32, ptr %tuple.elem2.loc16.tuple.elem, align 4, !dbg !13 -// CHECK:STDOUT: store i32 %.loc16_17, ptr %_.var.loc16, align 4, !dbg !10 +// CHECK:STDOUT: %.loc16 = load i32, ptr %tuple.elem2.loc16.tuple.elem, align 4, !dbg !13 +// CHECK:STDOUT: store i32 %.loc16, ptr %_.var.loc16, align 4, !dbg !10 // CHECK:STDOUT: ret i32 0, !dbg !14 // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/lower/testdata/var/nested.carbon b/toolchain/lower/testdata/var/nested.carbon index 093e6d84c20a..263fc8aecb29 100644 --- a/toolchain/lower/testdata/var/nested.carbon +++ b/toolchain/lower/testdata/var/nested.carbon @@ -36,8 +36,8 @@ fn Run() -> i32 { // CHECK:STDOUT: // CHECK:STDOUT: while.body: ; preds = %while.cond // CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %b.var), !dbg !9 -// CHECK:STDOUT: %.loc16_18 = load i32, ptr %a.var, align 4, !dbg !11 -// CHECK:STDOUT: store i32 %.loc16_18, ptr %b.var, align 4, !dbg !9 +// CHECK:STDOUT: %.loc16 = load i32, ptr %a.var, align 4, !dbg !11 +// CHECK:STDOUT: store i32 %.loc16, ptr %b.var, align 4, !dbg !9 // CHECK:STDOUT: %.loc17 = load i32, ptr %b.var, align 4, !dbg !12 // CHECK:STDOUT: store i32 %.loc17, ptr %a.var, align 4, !dbg !13 // CHECK:STDOUT: br label %while.cond, !dbg !14 diff --git a/toolchain/sem_ir/inst_kind.def b/toolchain/sem_ir/inst_kind.def index 90bea324ad92..41f81f2827f9 100644 --- a/toolchain/sem_ir/inst_kind.def +++ b/toolchain/sem_ir/inst_kind.def @@ -151,6 +151,7 @@ CARBON_SEM_IR_INST_KIND(TupleLiteral) CARBON_SEM_IR_INST_KIND(TuplePattern) CARBON_SEM_IR_INST_KIND(TupleType) CARBON_SEM_IR_INST_KIND(TupleValue) +CARBON_SEM_IR_INST_KIND(TypeLiteral) CARBON_SEM_IR_INST_KIND(TypeOfInst) CARBON_SEM_IR_INST_KIND(TypeType) CARBON_SEM_IR_INST_KIND(UnaryOperatorNot) diff --git a/toolchain/sem_ir/inst_namer.cpp b/toolchain/sem_ir/inst_namer.cpp index cb98494239d0..a780c1750119 100644 --- a/toolchain/sem_ir/inst_namer.cpp +++ b/toolchain/sem_ir/inst_namer.cpp @@ -1394,6 +1394,25 @@ auto InstNamer::NamingContext::NameInst() -> void { } return; } + case CARBON_KIND(TypeLiteral inst): { + if (auto value_id = + sem_ir().constant_values().GetConstantInstId(inst.value_id); + value_id.has_value()) { + if (auto class_type = sem_ir().insts().TryGetAs(value_id)) { + if (auto type_info = + RecognizedTypeInfo::ForType(sem_ir(), *class_type); + type_info.is_valid()) { + RawStringOstream out; + if (type_info.PrintLiteral(sem_ir(), out)) { + AddInstName(out.TakeStr()); + return; + } + } + } + } + AddInstName(""); + return; + } case CARBON_KIND(UnboundElementType inst): { if (auto class_ty = sem_ir().insts().TryGetAs(inst.class_type_inst_id)) { diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 6cd1e6a62dd5..d03c4651440a 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -1955,6 +1955,19 @@ struct TupleValue { InstBlockId elements_id; }; +// A type literal, such as `bool` or `type` or `i32`. The constant value of this +// instruction will be the type value that the type literal evaluates to, which +// is typically either a builtin type or a class defined in the prelude. +struct TypeLiteral { + static constexpr auto Kind = InstKind::TypeLiteral.Define( + {.ir_name = "type_literal", .expr_category = ExprCategory::Value}); + + // Always the builtin type TypeType. + TypeId type_id; + // The type value that the type literal evaluates to. + TypeInstId value_id; +}; + // Returns the type of the instruction produced by an action. For example, given // // %inst: = some_action