diff --git a/toolchain/check/cpp/import.cpp b/toolchain/check/cpp/import.cpp index 5c5b7c5ee99ba..0a6ffadec10b3 100644 --- a/toolchain/check/cpp/import.cpp +++ b/toolchain/check/cpp/import.cpp @@ -1107,6 +1107,18 @@ static auto MapBuiltinIntegerType(Context& context, SemIR::LocId loc_id, return ExprAsType(context, Parse::NodeId::None, MakeCharTypeLiteral(context, Parse::NodeId::None)); } + + // Special handling for long long: map to a distinct Carbon type convertible + // to i64. + if (ast_context.hasSameType(qual_type, ast_context.LongLongTy)) { + // Create a distinct type for long long, convertible to i64. + // We'll use a custom type id for C++ long long. + GetOrAddInst(context, + SemIR::LocIdAndInst::NoLoc(SemIR::CustomCppLongLongType{ + .type_id = SemIR::TypeType::TypeId})); + return ExprAsType(context, Parse::NodeId::None, + SemIR::CustomCppLongLongType::TypeInstId); + } return TypeExpr::None; } diff --git a/toolchain/check/cpp/type_mapping.cpp b/toolchain/check/cpp/type_mapping.cpp index e1a7f173610a6..50d36f91c399e 100644 --- a/toolchain/check/cpp/type_mapping.cpp +++ b/toolchain/check/cpp/type_mapping.cpp @@ -174,6 +174,9 @@ static auto MapNonWrapperType(Context& context, SemIR::InstId inst_id, case SemIR::FloatLiteralType::Kind: { return context.ast_context().DoubleTy; } + case SemIR::CustomCppLongLongType::Kind: { + return context.ast_context().LongLongTy; + } default: { return clang::QualType(); } diff --git a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon index e24a018bfb1a5..da844006aca51 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon @@ -20,7 +20,7 @@ // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: {} @@ -42,6 +42,7 @@ // CHECK:STDOUT: 'inst(BoolType)': {kind: BoolType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoundMethodType)': {kind: BoundMethodType, type: type(TypeType)} // CHECK:STDOUT: 'inst(CharLiteralType)': {kind: CharLiteralType, type: type(TypeType)} +// CHECK:STDOUT: 'inst(CustomCppLongLongType)': {kind: CustomCppLongLongType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ErrorInst)': {kind: ErrorInst, type: type(Error)} // CHECK:STDOUT: 'inst(FloatLiteralType)': {kind: FloatLiteralType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': {kind: ImplWitnessTablePlaceholder, type: type(TypeType)} @@ -51,7 +52,7 @@ // CHECK:STDOUT: 'inst(SpecificFunctionType)': {kind: SpecificFunctionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) @@ -59,6 +60,7 @@ // CHECK:STDOUT: 'inst(BoolType)': concrete_constant(inst(BoolType)) // CHECK:STDOUT: 'inst(BoundMethodType)': concrete_constant(inst(BoundMethodType)) // CHECK:STDOUT: 'inst(CharLiteralType)': concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: 'inst(CustomCppLongLongType)': concrete_constant(inst(CustomCppLongLongType)) // CHECK:STDOUT: 'inst(ErrorInst)': concrete_constant(inst(ErrorInst)) // CHECK:STDOUT: 'inst(FloatLiteralType)': concrete_constant(inst(FloatLiteralType)) // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': concrete_constant(inst(ImplWitnessTablePlaceholder)) @@ -68,7 +70,7 @@ // CHECK:STDOUT: 'inst(SpecificFunctionType)': concrete_constant(inst(SpecificFunctionType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -76,5 +78,5 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: -// CHECK:STDOUT: 0: inst0000000E +// CHECK:STDOUT: 0: inst0000000F // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon index 451ca699ba8e1..12aef55f706a9 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon @@ -43,18 +43,18 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc00000001} // CHECK:STDOUT: import_ir_inst00000002: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc00000002} // CHECK:STDOUT: clang_decls: -// CHECK:STDOUT: clang_decl_id00000000: {key: "", inst_id: inst60000010} -// CHECK:STDOUT: clang_decl_id00000001: {key: "struct X {}", inst_id: inst60000012} -// CHECK:STDOUT: clang_decl_id00000002: {key: "X * _Nonnull p", inst_id: inst60000021} -// CHECK:STDOUT: clang_decl_id00000003: {key: {decl: "void f(X x = {})", num_params: 0}, inst_id: inst6000002C} -// CHECK:STDOUT: clang_decl_id00000004: {key: {decl: "extern void f__carbon_thunk()", num_params: 0}, inst_id: inst6000002F} -// CHECK:STDOUT: clang_decl_id00000005: {key: {decl: "void f(X x = {})", num_params: 1}, inst_id: inst6000003A} -// CHECK:STDOUT: clang_decl_id00000006: {key: {decl: "extern void f__carbon_thunk(X * _Nonnull x)", num_params: 1}, inst_id: inst60000042} -// CHECK:STDOUT: clang_decl_id00000007: {key: "X * _Nonnull global", inst_id: inst6000004B} +// CHECK:STDOUT: clang_decl_id00000000: {key: "", inst_id: inst60000011} +// CHECK:STDOUT: clang_decl_id00000001: {key: "struct X {}", inst_id: inst60000013} +// CHECK:STDOUT: clang_decl_id00000002: {key: "X * _Nonnull p", inst_id: inst60000022} +// CHECK:STDOUT: clang_decl_id00000003: {key: {decl: "void f(X x = {})", num_params: 0}, inst_id: inst6000002D} +// CHECK:STDOUT: clang_decl_id00000004: {key: {decl: "extern void f__carbon_thunk()", num_params: 0}, inst_id: inst60000030} +// CHECK:STDOUT: clang_decl_id00000005: {key: {decl: "void f(X x = {})", num_params: 1}, inst_id: inst6000003B} +// CHECK:STDOUT: clang_decl_id00000006: {key: {decl: "extern void f__carbon_thunk(X * _Nonnull x)", num_params: 1}, inst_id: inst60000043} +// CHECK:STDOUT: clang_decl_id00000007: {key: "X * _Nonnull global", inst_id: inst6000004C} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000010, name00000001: inst6000001B}} -// CHECK:STDOUT: name_scope00000001: {inst: inst60000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000012, name00000004: inst60000029, name00000005: inst6000004B}} -// CHECK:STDOUT: name_scope00000002: {inst: inst60000012, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000011, name00000001: inst6000001C}} +// CHECK:STDOUT: name_scope00000001: {inst: inst60000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000013, name00000004: inst6000002A, name00000005: inst6000004C}} +// CHECK:STDOUT: name_scope00000002: {inst: inst60000013, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name00000000: {name: name00000002, parent_scope: name_scope, index: -1, is_template: 0} // CHECK:STDOUT: entity_name00000001: {name: name00000002, parent_scope: name_scope, index: -1, is_template: 0} @@ -69,15 +69,15 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope00000001, call_params_id: inst_block0000000D} // CHECK:STDOUT: function60000004: {name: name00000007, parent_scope: name_scope00000001, call_params_id: inst_block00000012} // CHECK:STDOUT: classes: -// CHECK:STDOUT: class60000000: {name: name00000003, parent_scope: name_scope00000001, self_type_id: type(inst60000013), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope00000002, body_block_id: inst_block0000000A, adapt_id: inst, base_id: inst, complete_type_witness_id: inst60000024, vtable_decl_id: inst}} +// CHECK:STDOUT: class60000000: {name: name00000003, parent_scope: name_scope00000001, self_type_id: type(inst60000014), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope00000002, body_block_id: inst_block0000000A, adapt_id: inst, base_id: inst, complete_type_witness_id: inst60000025, vtable_decl_id: inst}} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields00000000: {} // CHECK:STDOUT: struct_type_fields00000001: -// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst6000001F} +// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst60000020} // CHECK:STDOUT: struct_type_fields00000002: -// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst6000001F} +// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst60000020} // CHECK:STDOUT: types: // CHECK:STDOUT: 'type(TypeType)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(TypeType)} @@ -85,36 +85,37 @@ fn G(x: Cpp.X) { // 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(inst6000001C)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} // CHECK:STDOUT: 'type(inst6000001D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst6000001E)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} // CHECK:STDOUT: 'type(inst(WitnessType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(WitnessType))} -// CHECK:STDOUT: 'type(inst6000001F)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000001F)} -// CHECK:STDOUT: 'type(inst60000023)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000026)} -// CHECK:STDOUT: 'type(inst60000026)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000026)} -// CHECK:STDOUT: 'type(inst60000013)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000026)} -// CHECK:STDOUT: 'type(inst60000028)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst6000002D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst60000030)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst6000003B)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst60000043)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} +// CHECK:STDOUT: 'type(inst60000020)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000020)} +// CHECK:STDOUT: 'type(inst60000024)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000027)} +// CHECK:STDOUT: 'type(inst60000027)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000027)} +// CHECK:STDOUT: 'type(inst60000014)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000027)} +// CHECK:STDOUT: 'type(inst60000029)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst6000002E)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst60000031)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst6000003C)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst60000044)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: TypeType, type: type(TypeType)} // CHECK:STDOUT: 'inst(AutoType)': {kind: AutoType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoolType)': {kind: BoolType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoundMethodType)': {kind: BoundMethodType, type: type(TypeType)} // CHECK:STDOUT: 'inst(CharLiteralType)': {kind: CharLiteralType, type: type(TypeType)} +// CHECK:STDOUT: 'inst(CustomCppLongLongType)': {kind: CustomCppLongLongType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ErrorInst)': {kind: ErrorInst, type: type(Error)} // CHECK:STDOUT: 'inst(FloatLiteralType)': {kind: FloatLiteralType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': {kind: ImplWitnessTablePlaceholder, type: type(TypeType)} @@ -124,79 +125,79 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(SpecificFunctionType)': {kind: SpecificFunctionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: ImportCppDecl} -// CHECK:STDOUT: inst60000010: {kind: Namespace, arg0: name_scope00000001, arg1: inst6000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000011: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000012: {kind: ClassDecl, arg0: class60000000, arg1: inst_block, type: type(TypeType)} -// CHECK:STDOUT: inst60000013: {kind: ClassType, arg0: class60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000014: {kind: NameRef, arg0: name00000003, arg1: inst60000012, type: type(TypeType)} -// CHECK:STDOUT: inst60000015: {kind: BindName, arg0: entity_name00000000, arg1: inst60000019, type: type(inst60000013)} -// CHECK:STDOUT: inst60000016: {kind: PatternType, arg0: inst60000013, type: type(TypeType)} -// CHECK:STDOUT: inst60000017: {kind: BindingPattern, arg0: entity_name00000000, type: type(inst60000016)} -// CHECK:STDOUT: inst60000018: {kind: ValueParamPattern, arg0: inst60000017, arg1: call_param0, type: type(inst60000016)} -// CHECK:STDOUT: inst60000019: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000013)} -// CHECK:STDOUT: inst6000001A: {kind: SpliceBlock, arg0: inst_block00000004, arg1: inst60000014, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block00000008, type: type(inst6000001C)} -// CHECK:STDOUT: inst6000001C: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000001D: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst6000001E: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000001C)} -// CHECK:STDOUT: inst6000001F: {kind: PointerType, arg0: inst60000013, type: type(TypeType)} -// CHECK:STDOUT: inst60000020: {kind: UnboundElementType, arg0: inst60000013, arg1: inst6000001F, type: type(TypeType)} -// CHECK:STDOUT: inst60000021: {kind: FieldDecl, arg0: name00000006, arg1: element0, type: type(inst60000020)} -// CHECK:STDOUT: inst60000022: {kind: CustomLayoutType, arg0: struct_type_fields00000001, arg1: custom_layout00000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000023: {kind: CustomLayoutType, arg0: struct_type_fields00000002, arg1: custom_layout00000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000024: {kind: CompleteTypeWitness, arg0: inst60000022, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: ImportCppDecl} +// CHECK:STDOUT: inst60000011: {kind: Namespace, arg0: name_scope00000001, arg1: inst60000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000012: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000013: {kind: ClassDecl, arg0: class60000000, arg1: inst_block, type: type(TypeType)} +// CHECK:STDOUT: inst60000014: {kind: ClassType, arg0: class60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000015: {kind: NameRef, arg0: name00000003, arg1: inst60000013, type: type(TypeType)} +// CHECK:STDOUT: inst60000016: {kind: BindName, arg0: entity_name00000000, arg1: inst6000001A, type: type(inst60000014)} +// CHECK:STDOUT: inst60000017: {kind: PatternType, arg0: inst60000014, type: type(TypeType)} +// CHECK:STDOUT: inst60000018: {kind: BindingPattern, arg0: entity_name00000000, type: type(inst60000017)} +// CHECK:STDOUT: inst60000019: {kind: ValueParamPattern, arg0: inst60000018, arg1: call_param0, type: type(inst60000017)} +// CHECK:STDOUT: inst6000001A: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000014)} +// CHECK:STDOUT: inst6000001B: {kind: SpliceBlock, arg0: inst_block00000004, arg1: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst6000001C: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block00000008, type: type(inst6000001D)} +// CHECK:STDOUT: inst6000001D: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000001E: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst6000001F: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000001D)} +// CHECK:STDOUT: inst60000020: {kind: PointerType, arg0: inst60000014, type: type(TypeType)} +// CHECK:STDOUT: inst60000021: {kind: UnboundElementType, arg0: inst60000014, arg1: inst60000020, type: type(TypeType)} +// CHECK:STDOUT: inst60000022: {kind: FieldDecl, arg0: name00000006, arg1: element0, type: type(inst60000021)} +// CHECK:STDOUT: inst60000023: {kind: CustomLayoutType, arg0: struct_type_fields00000001, arg1: custom_layout00000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000024: {kind: CustomLayoutType, arg0: struct_type_fields00000002, arg1: custom_layout00000001, type: type(TypeType)} // CHECK:STDOUT: inst60000025: {kind: CompleteTypeWitness, arg0: inst60000023, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000026: {kind: PointerType, arg0: inst60000023, type: type(TypeType)} -// CHECK:STDOUT: inst60000027: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000028: {kind: CppOverloadSetType, arg0: cpp_overload_set60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000029: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002A: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002B: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002C: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst6000002D)} -// CHECK:STDOUT: inst6000002D: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000002E: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000002D)} -// CHECK:STDOUT: inst6000002F: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(inst60000030)} -// CHECK:STDOUT: inst60000030: {kind: FunctionType, arg0: function60000002, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000031: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000030)} -// CHECK:STDOUT: inst60000032: {kind: Call, arg0: inst6000002F, arg1: inst_block_empty, type: type(inst6000001D)} -// CHECK:STDOUT: inst60000033: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000034: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)} -// CHECK:STDOUT: inst60000035: {kind: NameRef, arg0: name00000002, arg1: inst60000015, type: type(inst60000013)} -// CHECK:STDOUT: inst60000036: {kind: BindName, arg0: entity_name00000001, arg1: inst60000039, type: type(inst60000013)} -// CHECK:STDOUT: inst60000037: {kind: BindingPattern, arg0: entity_name00000001, type: type(inst60000016)} -// CHECK:STDOUT: inst60000038: {kind: ValueParamPattern, arg0: inst60000037, arg1: call_param0, type: type(inst60000016)} -// CHECK:STDOUT: inst60000039: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000013)} -// CHECK:STDOUT: inst6000003A: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block0000000F, type: type(inst6000003B)} -// CHECK:STDOUT: inst6000003B: {kind: FunctionType, arg0: function60000003, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000003C: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003B)} -// CHECK:STDOUT: inst6000003D: {kind: BindName, arg0: entity_name00000002, arg1: inst60000041, type: type(inst6000001F)} -// CHECK:STDOUT: inst6000003E: {kind: PatternType, arg0: inst6000001F, type: type(TypeType)} -// CHECK:STDOUT: inst6000003F: {kind: BindingPattern, arg0: entity_name00000002, type: type(inst6000003E)} -// CHECK:STDOUT: inst60000040: {kind: ValueParamPattern, arg0: inst6000003F, arg1: call_param0, type: type(inst6000003E)} -// CHECK:STDOUT: inst60000041: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000042: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block00000014, type: type(inst60000043)} -// CHECK:STDOUT: inst60000043: {kind: FunctionType, arg0: function60000004, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000044: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000043)} -// CHECK:STDOUT: inst60000045: {kind: ValueAsRef, arg0: inst60000035, type: type(inst60000013)} -// CHECK:STDOUT: inst60000046: {kind: AddrOf, arg0: inst60000045, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000047: {kind: Call, arg0: inst60000042, arg1: inst_block00000016, type: type(inst6000001D)} -// CHECK:STDOUT: inst60000048: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000049: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)} -// CHECK:STDOUT: inst6000004A: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000004B: {kind: VarStorage, arg0: inst6000004D, type: type(inst6000001F)} -// CHECK:STDOUT: inst6000004C: {kind: BindingPattern, arg0: entity_name00000003, type: type(inst6000003E)} -// CHECK:STDOUT: inst6000004D: {kind: VarPattern, arg0: inst6000004C, type: type(inst6000003E)} -// CHECK:STDOUT: inst6000004E: {kind: NameBindingDecl, arg0: inst_block00000017} -// CHECK:STDOUT: inst6000004F: {kind: NameRef, arg0: name00000005, arg1: inst6000004B, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000050: {kind: BindValue, arg0: inst6000004F, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000051: {kind: Deref, arg0: inst60000050, type: type(inst60000013)} -// CHECK:STDOUT: inst60000052: {kind: BindValue, arg0: inst60000051, type: type(inst60000013)} -// CHECK:STDOUT: inst60000053: {kind: ValueAsRef, arg0: inst60000052, type: type(inst60000013)} -// CHECK:STDOUT: inst60000054: {kind: AddrOf, arg0: inst60000053, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000055: {kind: Call, arg0: inst60000042, arg1: inst_block00000019, type: type(inst6000001D)} -// CHECK:STDOUT: inst60000056: {kind: Return} +// CHECK:STDOUT: inst60000026: {kind: CompleteTypeWitness, arg0: inst60000024, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000027: {kind: PointerType, arg0: inst60000024, type: type(TypeType)} +// CHECK:STDOUT: inst60000028: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000029: {kind: CppOverloadSetType, arg0: cpp_overload_set60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000002A: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002B: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002C: {kind: NameRef, arg0: name00000004, arg1: inst6000002A, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002D: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst6000002E)} +// CHECK:STDOUT: inst6000002E: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000002F: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000002E)} +// CHECK:STDOUT: inst60000030: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(inst60000031)} +// CHECK:STDOUT: inst60000031: {kind: FunctionType, arg0: function60000002, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000032: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000031)} +// CHECK:STDOUT: inst60000033: {kind: Call, arg0: inst60000030, arg1: inst_block_empty, type: type(inst6000001E)} +// CHECK:STDOUT: inst60000034: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000035: {kind: NameRef, arg0: name00000004, arg1: inst6000002A, type: type(inst60000029)} +// CHECK:STDOUT: inst60000036: {kind: NameRef, arg0: name00000002, arg1: inst60000016, type: type(inst60000014)} +// CHECK:STDOUT: inst60000037: {kind: BindName, arg0: entity_name00000001, arg1: inst6000003A, type: type(inst60000014)} +// CHECK:STDOUT: inst60000038: {kind: BindingPattern, arg0: entity_name00000001, type: type(inst60000017)} +// CHECK:STDOUT: inst60000039: {kind: ValueParamPattern, arg0: inst60000038, arg1: call_param0, type: type(inst60000017)} +// CHECK:STDOUT: inst6000003A: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000014)} +// CHECK:STDOUT: inst6000003B: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block0000000F, type: type(inst6000003C)} +// CHECK:STDOUT: inst6000003C: {kind: FunctionType, arg0: function60000003, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000003D: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003C)} +// CHECK:STDOUT: inst6000003E: {kind: BindName, arg0: entity_name00000002, arg1: inst60000042, type: type(inst60000020)} +// CHECK:STDOUT: inst6000003F: {kind: PatternType, arg0: inst60000020, type: type(TypeType)} +// CHECK:STDOUT: inst60000040: {kind: BindingPattern, arg0: entity_name00000002, type: type(inst6000003F)} +// CHECK:STDOUT: inst60000041: {kind: ValueParamPattern, arg0: inst60000040, arg1: call_param0, type: type(inst6000003F)} +// CHECK:STDOUT: inst60000042: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000020)} +// CHECK:STDOUT: inst60000043: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block00000014, type: type(inst60000044)} +// CHECK:STDOUT: inst60000044: {kind: FunctionType, arg0: function60000004, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000045: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000044)} +// CHECK:STDOUT: inst60000046: {kind: ValueAsRef, arg0: inst60000036, type: type(inst60000014)} +// CHECK:STDOUT: inst60000047: {kind: AddrOf, arg0: inst60000046, type: type(inst60000020)} +// CHECK:STDOUT: inst60000048: {kind: Call, arg0: inst60000043, arg1: inst_block00000016, type: type(inst6000001E)} +// CHECK:STDOUT: inst60000049: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst6000004A: {kind: NameRef, arg0: name00000004, arg1: inst6000002A, type: type(inst60000029)} +// CHECK:STDOUT: inst6000004B: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst6000004C: {kind: VarStorage, arg0: inst6000004E, type: type(inst60000020)} +// CHECK:STDOUT: inst6000004D: {kind: BindingPattern, arg0: entity_name00000003, type: type(inst6000003F)} +// CHECK:STDOUT: inst6000004E: {kind: VarPattern, arg0: inst6000004D, type: type(inst6000003F)} +// CHECK:STDOUT: inst6000004F: {kind: NameBindingDecl, arg0: inst_block00000017} +// CHECK:STDOUT: inst60000050: {kind: NameRef, arg0: name00000005, arg1: inst6000004C, type: type(inst60000020)} +// CHECK:STDOUT: inst60000051: {kind: BindValue, arg0: inst60000050, type: type(inst60000020)} +// CHECK:STDOUT: inst60000052: {kind: Deref, arg0: inst60000051, type: type(inst60000014)} +// CHECK:STDOUT: inst60000053: {kind: BindValue, arg0: inst60000052, type: type(inst60000014)} +// CHECK:STDOUT: inst60000054: {kind: ValueAsRef, arg0: inst60000053, type: type(inst60000014)} +// CHECK:STDOUT: inst60000055: {kind: AddrOf, arg0: inst60000054, type: type(inst60000020)} +// CHECK:STDOUT: inst60000056: {kind: Call, arg0: inst60000043, arg1: inst_block00000019, type: type(inst6000001E)} +// CHECK:STDOUT: inst60000057: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) @@ -204,6 +205,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(BoolType)': concrete_constant(inst(BoolType)) // CHECK:STDOUT: 'inst(BoundMethodType)': concrete_constant(inst(BoundMethodType)) // CHECK:STDOUT: 'inst(CharLiteralType)': concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: 'inst(CustomCppLongLongType)': concrete_constant(inst(CustomCppLongLongType)) // CHECK:STDOUT: 'inst(ErrorInst)': concrete_constant(inst(ErrorInst)) // CHECK:STDOUT: 'inst(FloatLiteralType)': concrete_constant(inst(FloatLiteralType)) // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': concrete_constant(inst(ImplWitnessTablePlaceholder)) @@ -213,149 +215,149 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(SpecificFunctionType)': concrete_constant(inst(SpecificFunctionType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000011: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000012: concrete_constant(inst60000013) -// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) -// CHECK:STDOUT: inst60000014: concrete_constant(inst60000013) -// CHECK:STDOUT: inst60000016: concrete_constant(inst60000016) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000012: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000013: concrete_constant(inst60000014) +// CHECK:STDOUT: inst60000014: concrete_constant(inst60000014) +// CHECK:STDOUT: inst60000015: concrete_constant(inst60000014) // CHECK:STDOUT: inst60000017: concrete_constant(inst60000017) // CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst6000001A: concrete_constant(inst60000013) -// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000001E) -// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000001C) +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001B: concrete_constant(inst60000014) +// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000001F) // CHECK:STDOUT: inst6000001D: concrete_constant(inst6000001D) // CHECK:STDOUT: inst6000001E: concrete_constant(inst6000001E) // CHECK:STDOUT: inst6000001F: concrete_constant(inst6000001F) // CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) // CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) -// CHECK:STDOUT: inst60000022: concrete_constant(inst60000023) -// CHECK:STDOUT: inst60000023: concrete_constant(inst60000023) -// CHECK:STDOUT: inst60000024: concrete_constant(inst60000025) -// CHECK:STDOUT: inst60000025: concrete_constant(inst60000025) +// CHECK:STDOUT: inst60000022: concrete_constant(inst60000022) +// CHECK:STDOUT: inst60000023: concrete_constant(inst60000024) +// CHECK:STDOUT: inst60000024: concrete_constant(inst60000024) +// CHECK:STDOUT: inst60000025: concrete_constant(inst60000026) // CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) -// CHECK:STDOUT: inst60000027: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) -// CHECK:STDOUT: inst60000029: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000002A: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000002B: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002E) -// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002D) +// CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) +// CHECK:STDOUT: inst60000028: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000029: concrete_constant(inst60000029) +// CHECK:STDOUT: inst6000002A: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000002B: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002F) // CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002E) -// CHECK:STDOUT: inst6000002F: concrete_constant(inst60000031) -// CHECK:STDOUT: inst60000030: concrete_constant(inst60000030) +// CHECK:STDOUT: inst6000002F: concrete_constant(inst6000002F) +// CHECK:STDOUT: inst60000030: concrete_constant(inst60000032) // CHECK:STDOUT: inst60000031: concrete_constant(inst60000031) -// CHECK:STDOUT: inst60000033: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000034: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst60000037: concrete_constant(inst60000037) +// CHECK:STDOUT: inst60000032: concrete_constant(inst60000032) +// CHECK:STDOUT: inst60000034: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000035: concrete_constant(inst6000002B) // CHECK:STDOUT: inst60000038: concrete_constant(inst60000038) -// CHECK:STDOUT: inst6000003A: concrete_constant(inst6000003C) -// CHECK:STDOUT: inst6000003B: concrete_constant(inst6000003B) +// CHECK:STDOUT: inst60000039: concrete_constant(inst60000039) +// CHECK:STDOUT: inst6000003B: concrete_constant(inst6000003D) // CHECK:STDOUT: inst6000003C: concrete_constant(inst6000003C) -// CHECK:STDOUT: inst6000003E: concrete_constant(inst6000003E) +// CHECK:STDOUT: inst6000003D: concrete_constant(inst6000003D) // CHECK:STDOUT: inst6000003F: concrete_constant(inst6000003F) // CHECK:STDOUT: inst60000040: concrete_constant(inst60000040) -// CHECK:STDOUT: inst60000042: concrete_constant(inst60000044) -// CHECK:STDOUT: inst60000043: concrete_constant(inst60000043) +// CHECK:STDOUT: inst60000041: concrete_constant(inst60000041) +// CHECK:STDOUT: inst60000043: concrete_constant(inst60000045) // CHECK:STDOUT: inst60000044: concrete_constant(inst60000044) -// CHECK:STDOUT: inst60000048: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000049: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000004A: concrete_constant(inst60000010) -// CHECK:STDOUT: inst6000004B: concrete_constant(inst6000004B) +// CHECK:STDOUT: inst60000045: concrete_constant(inst60000045) +// CHECK:STDOUT: inst60000049: concrete_constant(inst60000011) +// CHECK:STDOUT: inst6000004A: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000004B: concrete_constant(inst60000011) // CHECK:STDOUT: inst6000004C: concrete_constant(inst6000004C) // CHECK:STDOUT: inst6000004D: concrete_constant(inst6000004D) -// CHECK:STDOUT: inst6000004F: concrete_constant(inst6000004B) +// CHECK:STDOUT: inst6000004E: concrete_constant(inst6000004E) +// CHECK:STDOUT: inst60000050: concrete_constant(inst6000004C) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000001B +// CHECK:STDOUT: 0: inst6000001C // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst60000010 -// CHECK:STDOUT: 1: inst60000012 -// CHECK:STDOUT: 2: inst60000029 -// CHECK:STDOUT: 3: inst6000002C -// CHECK:STDOUT: 4: inst6000002F -// CHECK:STDOUT: 5: inst6000003A -// CHECK:STDOUT: 6: inst60000042 -// CHECK:STDOUT: 7: inst6000004E -// CHECK:STDOUT: 8: inst6000004B +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000013 +// CHECK:STDOUT: 2: inst6000002A +// CHECK:STDOUT: 3: inst6000002D +// CHECK:STDOUT: 4: inst60000030 +// CHECK:STDOUT: 5: inst6000003B +// CHECK:STDOUT: 6: inst60000043 +// CHECK:STDOUT: 7: inst6000004F +// CHECK:STDOUT: 8: inst6000004C // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: -// CHECK:STDOUT: 0: inst60000011 -// CHECK:STDOUT: 1: inst60000014 +// CHECK:STDOUT: 0: inst60000012 +// CHECK:STDOUT: 1: inst60000015 // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst60000018 -// CHECK:STDOUT: inst_block00000006: // CHECK:STDOUT: 0: inst60000019 +// CHECK:STDOUT: inst_block00000006: +// CHECK:STDOUT: 0: inst6000001A // CHECK:STDOUT: inst_block00000007: -// CHECK:STDOUT: 0: inst60000017 -// CHECK:STDOUT: 1: inst60000018 +// CHECK:STDOUT: 0: inst60000018 +// CHECK:STDOUT: 1: inst60000019 // CHECK:STDOUT: inst_block00000008: -// CHECK:STDOUT: 0: inst60000019 -// CHECK:STDOUT: 1: inst6000001A -// CHECK:STDOUT: 2: inst60000015 +// CHECK:STDOUT: 0: inst6000001A +// CHECK:STDOUT: 1: inst6000001B +// CHECK:STDOUT: 2: inst60000016 // CHECK:STDOUT: inst_block00000009: -// CHECK:STDOUT: 0: inst60000027 -// CHECK:STDOUT: 1: inst6000002B -// CHECK:STDOUT: 2: inst60000032 -// CHECK:STDOUT: 3: inst60000033 -// CHECK:STDOUT: 4: inst60000034 -// CHECK:STDOUT: 5: inst60000035 -// CHECK:STDOUT: 6: inst60000045 -// CHECK:STDOUT: 7: inst60000046 -// CHECK:STDOUT: 8: inst60000047 -// CHECK:STDOUT: 9: inst60000048 -// CHECK:STDOUT: 10: inst60000049 -// CHECK:STDOUT: 11: inst6000004A -// CHECK:STDOUT: 12: inst6000004F -// CHECK:STDOUT: 13: inst60000050 -// CHECK:STDOUT: 14: inst60000051 -// CHECK:STDOUT: 15: inst60000052 -// CHECK:STDOUT: 16: inst60000053 -// CHECK:STDOUT: 17: inst60000054 -// CHECK:STDOUT: 18: inst60000055 -// CHECK:STDOUT: 19: inst60000056 +// CHECK:STDOUT: 0: inst60000028 +// CHECK:STDOUT: 1: inst6000002C +// CHECK:STDOUT: 2: inst60000033 +// CHECK:STDOUT: 3: inst60000034 +// CHECK:STDOUT: 4: inst60000035 +// CHECK:STDOUT: 5: inst60000036 +// CHECK:STDOUT: 6: inst60000046 +// CHECK:STDOUT: 7: inst60000047 +// CHECK:STDOUT: 8: inst60000048 +// CHECK:STDOUT: 9: inst60000049 +// CHECK:STDOUT: 10: inst6000004A +// CHECK:STDOUT: 11: inst6000004B +// CHECK:STDOUT: 12: inst60000050 +// CHECK:STDOUT: 13: inst60000051 +// CHECK:STDOUT: 14: inst60000052 +// CHECK:STDOUT: 15: inst60000053 +// CHECK:STDOUT: 16: inst60000054 +// CHECK:STDOUT: 17: inst60000055 +// CHECK:STDOUT: 18: inst60000056 +// CHECK:STDOUT: 19: inst60000057 // CHECK:STDOUT: inst_block0000000A: -// CHECK:STDOUT: 0: inst60000021 -// CHECK:STDOUT: 1: inst60000022 -// CHECK:STDOUT: 2: inst60000024 +// CHECK:STDOUT: 0: inst60000022 +// CHECK:STDOUT: 1: inst60000023 +// CHECK:STDOUT: 2: inst60000025 // CHECK:STDOUT: inst_block0000000B: {} // CHECK:STDOUT: inst_block0000000C: -// CHECK:STDOUT: 0: inst60000038 -// CHECK:STDOUT: inst_block0000000D: // CHECK:STDOUT: 0: inst60000039 +// CHECK:STDOUT: inst_block0000000D: +// CHECK:STDOUT: 0: inst6000003A // CHECK:STDOUT: inst_block0000000E: -// CHECK:STDOUT: 0: inst60000037 -// CHECK:STDOUT: 1: inst60000038 +// CHECK:STDOUT: 0: inst60000038 +// CHECK:STDOUT: 1: inst60000039 // CHECK:STDOUT: inst_block0000000F: -// CHECK:STDOUT: 0: inst60000039 -// CHECK:STDOUT: 1: inst60000036 +// CHECK:STDOUT: 0: inst6000003A +// CHECK:STDOUT: 1: inst60000037 // CHECK:STDOUT: inst_block00000010: {} // CHECK:STDOUT: inst_block00000011: -// CHECK:STDOUT: 0: inst60000040 -// CHECK:STDOUT: inst_block00000012: // CHECK:STDOUT: 0: inst60000041 +// CHECK:STDOUT: inst_block00000012: +// CHECK:STDOUT: 0: inst60000042 // CHECK:STDOUT: inst_block00000013: -// CHECK:STDOUT: 0: inst6000003F -// CHECK:STDOUT: 1: inst60000040 +// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 1: inst60000041 // CHECK:STDOUT: inst_block00000014: -// CHECK:STDOUT: 0: inst60000041 -// CHECK:STDOUT: 1: inst6000003D +// CHECK:STDOUT: 0: inst60000042 +// CHECK:STDOUT: 1: inst6000003E // CHECK:STDOUT: inst_block00000015: -// CHECK:STDOUT: 0: inst60000035 +// CHECK:STDOUT: 0: inst60000036 // CHECK:STDOUT: inst_block00000016: -// CHECK:STDOUT: 0: inst60000046 +// CHECK:STDOUT: 0: inst60000047 // CHECK:STDOUT: inst_block00000017: -// CHECK:STDOUT: 0: inst6000004C -// CHECK:STDOUT: 1: inst6000004D +// CHECK:STDOUT: 0: inst6000004D +// CHECK:STDOUT: 1: inst6000004E // CHECK:STDOUT: inst_block00000018: -// CHECK:STDOUT: 0: inst60000052 +// CHECK:STDOUT: 0: inst60000053 // CHECK:STDOUT: inst_block00000019: -// CHECK:STDOUT: 0: inst60000054 +// CHECK:STDOUT: 0: inst60000055 // CHECK:STDOUT: inst_block0000001A: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F -// CHECK:STDOUT: 2: inst6000001B +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: 2: inst6000001C // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon index c3a0e94e4aa9d..907b258a5ab86 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon @@ -36,7 +36,7 @@ fn B() { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst6000000F}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000010}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: @@ -53,37 +53,37 @@ fn B() { // 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(inst60000010)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} // CHECK:STDOUT: 'type(inst60000011)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} +// CHECK:STDOUT: 'type(inst60000012)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000010: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000013: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000011: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000012: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000014: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst6000000F: concrete_constant(inst60000012) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000013) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) // CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) +// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000000F +// CHECK:STDOUT: 0: inst60000010 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: {} // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst60000013 +// CHECK:STDOUT: 0: inst60000014 // CHECK:STDOUT: inst_block00000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: ... // CHECK:STDOUT: --- // CHECK:STDOUT: filename: b.carbon @@ -91,14 +91,14 @@ fn B() { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir00000002: {decl_id: inst5000000F, is_export: false} +// CHECK:STDOUT: import_ir00000002: {decl_id: inst50000010, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir00000002, inst_id: inst6000000F} -// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir00000002, inst_id: inst6000000F} +// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir00000002, inst_id: inst60000010} +// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir00000002, inst_id: inst60000010} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}} -// CHECK:STDOUT: name_scope00000001: {inst: inst50000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000016}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000011, name00000000: inst50000012}} +// CHECK:STDOUT: name_scope00000001: {inst: inst50000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000017}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name00000000: {name: name00000001, parent_scope: name_scope00000001, index: -1, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} @@ -117,58 +117,58 @@ fn B() { // 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(inst50000012)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} // CHECK:STDOUT: 'type(inst50000013)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} +// CHECK:STDOUT: 'type(inst50000014)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst5000000F: {kind: ImportDecl, arg0: name00000001} -// CHECK:STDOUT: inst50000010: {kind: Namespace, arg0: name_scope00000001, arg1: inst5000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000011: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000012: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000015: {kind: NameRef, arg0: name00000001, arg1: inst50000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000016: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name00000000, type: type(inst50000018)} -// CHECK:STDOUT: inst50000017: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst50000018: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000019: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001A: {kind: NameRef, arg0: name00000001, arg1: inst50000016, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001B: {kind: Call, arg0: inst5000001A, arg1: inst_block_empty, type: type(inst50000013)} -// CHECK:STDOUT: inst5000001C: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name00000001} +// CHECK:STDOUT: inst50000011: {kind: Namespace, arg0: name_scope00000001, arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000012: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000013: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000015: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000016: {kind: NameRef, arg0: name00000001, arg1: inst50000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000017: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name00000000, type: type(inst50000019)} +// CHECK:STDOUT: inst50000018: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst50000019: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000001A: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001B: {kind: NameRef, arg0: name00000001, arg1: inst50000017, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001C: {kind: Call, arg0: inst5000001B, arg1: inst_block_empty, type: type(inst50000014)} +// CHECK:STDOUT: inst5000001D: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000012: concrete_constant(inst50000015) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) // CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000015: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000016: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) +// CHECK:STDOUT: inst50000015: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000017: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst50000018: concrete_constant(inst5000001A) // CHECK:STDOUT: inst50000019: concrete_constant(inst50000019) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst50000019) +// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001A) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 0: inst50000012 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst50000010 -// CHECK:STDOUT: 1: inst50000016 -// CHECK:STDOUT: 2: inst50000017 +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000017 +// CHECK:STDOUT: 2: inst50000018 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: {} // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: 1: inst5000001A -// CHECK:STDOUT: 2: inst5000001B -// CHECK:STDOUT: 3: inst5000001C +// CHECK:STDOUT: 0: inst50000016 +// CHECK:STDOUT: 1: inst5000001B +// CHECK:STDOUT: 2: inst5000001C +// CHECK:STDOUT: 3: inst5000001D // CHECK:STDOUT: inst_block00000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst5000000F -// CHECK:STDOUT: 2: inst50000011 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst50000010 +// CHECK:STDOUT: 2: inst50000012 // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon index 05091dac62b2e..40ef3045bbb24 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon @@ -36,7 +36,7 @@ fn B() { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst6000000F}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000010}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: @@ -53,37 +53,37 @@ fn B() { // 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(inst60000010)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} // CHECK:STDOUT: 'type(inst60000011)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} +// CHECK:STDOUT: 'type(inst60000012)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000010: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000013: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000011: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000012: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000014: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst6000000F: concrete_constant(inst60000012) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000013) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) // CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) +// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000000F +// CHECK:STDOUT: 0: inst60000010 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: {} // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst60000013 +// CHECK:STDOUT: 0: inst60000014 // CHECK:STDOUT: inst_block00000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: ... // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: @@ -110,14 +110,14 @@ fn B() { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir00000002: {decl_id: inst5000000F, is_export: false} +// CHECK:STDOUT: import_ir00000002: {decl_id: inst50000010, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir00000002, inst_id: inst6000000F} -// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir00000002, inst_id: inst6000000F} +// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir00000002, inst_id: inst60000010} +// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir00000002, inst_id: inst60000010} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}} -// CHECK:STDOUT: name_scope00000001: {inst: inst50000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000016}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000011, name00000000: inst50000012}} +// CHECK:STDOUT: name_scope00000001: {inst: inst50000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000017}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name00000000: {name: name00000001, parent_scope: name_scope00000001, index: -1, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} @@ -136,60 +136,60 @@ fn B() { // 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(inst50000012)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} // CHECK:STDOUT: 'type(inst50000013)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} +// CHECK:STDOUT: 'type(inst50000014)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst5000000F: {kind: ImportDecl, arg0: name00000001} -// CHECK:STDOUT: inst50000010: {kind: Namespace, arg0: name_scope00000001, arg1: inst5000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000011: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000012: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000015: {kind: NameRef, arg0: name00000001, arg1: inst50000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000016: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name00000000, type: type(inst50000018)} -// CHECK:STDOUT: inst50000017: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst50000018: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000019: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001A: {kind: NameRef, arg0: name00000001, arg1: inst50000016, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001B: {kind: Call, arg0: inst5000001A, arg1: inst_block_empty, type: type(inst50000013)} -// CHECK:STDOUT: inst5000001C: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name00000001} +// CHECK:STDOUT: inst50000011: {kind: Namespace, arg0: name_scope00000001, arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000012: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000013: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000015: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000016: {kind: NameRef, arg0: name00000001, arg1: inst50000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000017: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name00000000, type: type(inst50000019)} +// CHECK:STDOUT: inst50000018: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst50000019: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000001A: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001B: {kind: NameRef, arg0: name00000001, arg1: inst50000017, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001C: {kind: Call, arg0: inst5000001B, arg1: inst_block_empty, type: type(inst50000014)} +// CHECK:STDOUT: inst5000001D: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000012: concrete_constant(inst50000015) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) // CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000015: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000016: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) +// CHECK:STDOUT: inst50000015: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000017: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst50000018: concrete_constant(inst5000001A) // CHECK:STDOUT: inst50000019: concrete_constant(inst50000019) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst50000019) +// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001A) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 0: inst50000012 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst50000010 -// CHECK:STDOUT: 1: inst50000016 -// CHECK:STDOUT: 2: inst50000017 +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000017 +// CHECK:STDOUT: 2: inst50000018 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: {} // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: 1: inst5000001A -// CHECK:STDOUT: 2: inst5000001B -// CHECK:STDOUT: 3: inst5000001C +// CHECK:STDOUT: 0: inst50000016 +// CHECK:STDOUT: 1: inst5000001B +// CHECK:STDOUT: 2: inst5000001C +// CHECK:STDOUT: 3: inst5000001D // CHECK:STDOUT: inst_block00000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst5000000F -// CHECK:STDOUT: 2: inst50000011 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst50000010 +// CHECK:STDOUT: 2: inst50000012 // CHECK:STDOUT: ... // CHECK:STDOUT: --- b.carbon // 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 7491ef483eeea..1af85dbabdc19 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon @@ -23,214 +23,214 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir00000002: {decl_id: inst6000000F, is_export: false} -// CHECK:STDOUT: import_ir00000003: {decl_id: inst6000000F, is_export: false} -// CHECK:STDOUT: import_ir00000004: {decl_id: inst6000000F, is_export: false} -// CHECK:STDOUT: import_ir00000005: {decl_id: inst6000000F, is_export: false} +// CHECK:STDOUT: import_ir00000002: {decl_id: inst60000010, is_export: false} +// CHECK:STDOUT: import_ir00000003: {decl_id: inst60000010, is_export: false} +// CHECK:STDOUT: import_ir00000004: {decl_id: inst60000010, is_export: false} +// CHECK:STDOUT: import_ir00000005: {decl_id: inst60000010, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir00000004, inst_id: inst4800000F} -// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir00000004, inst_id: inst4800000F} -// CHECK:STDOUT: import_ir_inst00000002: {ir_id: import_ir00000004, inst_id: inst48000011} -// CHECK:STDOUT: import_ir_inst00000003: {ir_id: import_ir00000004, inst_id: inst4800002D} -// CHECK:STDOUT: import_ir_inst00000004: {ir_id: import_ir00000004, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_inst00000005: {ir_id: import_ir00000004, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_inst00000006: {ir_id: import_ir00000004, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_inst00000007: {ir_id: import_ir00000004, inst_id: inst48000022} -// CHECK:STDOUT: import_ir_inst00000008: {ir_id: import_ir00000004, inst_id: inst48000023} -// CHECK:STDOUT: import_ir_inst00000009: {ir_id: import_ir00000004, inst_id: inst4800001C} -// CHECK:STDOUT: import_ir_inst0000000A: {ir_id: import_ir00000004, inst_id: inst4800001E} -// CHECK:STDOUT: import_ir_inst0000000B: {ir_id: import_ir00000004, inst_id: inst48000011} -// CHECK:STDOUT: import_ir_inst0000000C: {ir_id: import_ir00000004, inst_id: inst48000015} -// CHECK:STDOUT: import_ir_inst0000000D: {ir_id: import_ir00000004, inst_id: inst48000018} -// CHECK:STDOUT: import_ir_inst0000000E: {ir_id: import_ir00000004, inst_id: inst4800001D} -// CHECK:STDOUT: import_ir_inst0000000F: {ir_id: import_ir00000004, inst_id: inst48000061} -// CHECK:STDOUT: import_ir_inst00000010: {ir_id: import_ir00000004, inst_id: inst4800005F} -// CHECK:STDOUT: import_ir_inst00000011: {ir_id: import_ir00000004, inst_id: inst48000054} -// CHECK:STDOUT: import_ir_inst00000012: {ir_id: import_ir00000004, inst_id: inst48000050} -// CHECK:STDOUT: import_ir_inst00000013: {ir_id: import_ir00000004, inst_id: inst4800005A} -// CHECK:STDOUT: import_ir_inst00000014: {ir_id: import_ir00000004, inst_id: inst4800005D} -// CHECK:STDOUT: import_ir_inst00000015: {ir_id: import_ir00000004, inst_id: inst48000075} -// CHECK:STDOUT: import_ir_inst00000016: {ir_id: import_ir00000004, inst_id: inst48000060} -// CHECK:STDOUT: import_ir_inst00000017: {ir_id: import_ir00000004, inst_id: inst48000052} -// CHECK:STDOUT: import_ir_inst00000018: {ir_id: import_ir00000004, inst_id: inst48000058} -// CHECK:STDOUT: import_ir_inst00000019: {ir_id: import_ir00000004, inst_id: inst4800005C} -// CHECK:STDOUT: import_ir_inst0000001A: {ir_id: import_ir00000004, inst_id: inst48000063} -// CHECK:STDOUT: import_ir_inst0000001B: {ir_id: import_ir00000004, inst_id: inst48000075} -// CHECK:STDOUT: import_ir_inst0000001C: {ir_id: import_ir00000004, inst_id: inst48000070} -// CHECK:STDOUT: import_ir_inst0000001D: {ir_id: import_ir00000004, inst_id: inst48000071} -// CHECK:STDOUT: import_ir_inst0000001E: {ir_id: import_ir00000004, inst_id: inst4800006C} -// CHECK:STDOUT: import_ir_inst0000001F: {ir_id: import_ir00000004, inst_id: inst4800006E} -// CHECK:STDOUT: import_ir_inst00000020: {ir_id: import_ir00000004, inst_id: inst48000050} -// CHECK:STDOUT: import_ir_inst00000021: {ir_id: import_ir00000004, inst_id: inst48000078} -// CHECK:STDOUT: import_ir_inst00000022: {ir_id: import_ir00000004, inst_id: inst48000079} -// CHECK:STDOUT: import_ir_inst00000023: {ir_id: import_ir00000004, inst_id: inst48000067} -// CHECK:STDOUT: import_ir_inst00000024: {ir_id: import_ir00000004, inst_id: inst48000068} -// CHECK:STDOUT: import_ir_inst00000025: {ir_id: import_ir00000004, inst_id: inst48000069} -// CHECK:STDOUT: import_ir_inst00000026: {ir_id: import_ir00000004, inst_id: inst4800006D} -// CHECK:STDOUT: import_ir_inst00000027: {ir_id: import_ir00000004, inst_id: inst4800007D} -// CHECK:STDOUT: import_ir_inst00000028: {ir_id: import_ir00000004, inst_id: inst48000085} -// CHECK:STDOUT: import_ir_inst00000029: {ir_id: import_ir00000004, inst_id: inst4800008C} -// CHECK:STDOUT: import_ir_inst0000002A: {ir_id: import_ir00000004, inst_id: inst48000090} -// CHECK:STDOUT: import_ir_inst0000002B: {ir_id: import_ir00000004, inst_id: inst48000091} -// CHECK:STDOUT: import_ir_inst0000002C: {ir_id: import_ir00000004, inst_id: inst48000096} -// CHECK:STDOUT: import_ir_inst0000002D: {ir_id: import_ir00000004, inst_id: inst480000AB} -// CHECK:STDOUT: import_ir_inst0000002E: {ir_id: import_ir00000004, inst_id: inst480000A9} -// CHECK:STDOUT: import_ir_inst0000002F: {ir_id: import_ir00000004, inst_id: inst480000A7} -// CHECK:STDOUT: import_ir_inst00000030: {ir_id: import_ir00000004, inst_id: inst480000A8} -// CHECK:STDOUT: import_ir_inst00000031: {ir_id: import_ir00000004, inst_id: inst480000C3} -// CHECK:STDOUT: import_ir_inst00000032: {ir_id: import_ir00000004, inst_id: inst480000C1} -// CHECK:STDOUT: import_ir_inst00000033: {ir_id: import_ir00000004, inst_id: inst480000BF} -// CHECK:STDOUT: import_ir_inst00000034: {ir_id: import_ir00000004, inst_id: inst480000C0} -// CHECK:STDOUT: import_ir_inst00000035: {ir_id: import_ir00000004, inst_id: inst480000DB} -// CHECK:STDOUT: import_ir_inst00000036: {ir_id: import_ir00000004, inst_id: inst480000D9} -// CHECK:STDOUT: import_ir_inst00000037: {ir_id: import_ir00000004, inst_id: inst480000D7} -// CHECK:STDOUT: import_ir_inst00000038: {ir_id: import_ir00000004, inst_id: inst480000D8} -// CHECK:STDOUT: import_ir_inst00000039: {ir_id: import_ir00000004, inst_id: inst480000F3} -// CHECK:STDOUT: import_ir_inst0000003A: {ir_id: import_ir00000004, inst_id: inst480000F1} -// CHECK:STDOUT: import_ir_inst0000003B: {ir_id: import_ir00000004, inst_id: inst480000EF} -// CHECK:STDOUT: import_ir_inst0000003C: {ir_id: import_ir00000004, inst_id: inst480000F0} -// CHECK:STDOUT: import_ir_inst0000003D: {ir_id: import_ir00000004, inst_id: inst48000110} -// CHECK:STDOUT: import_ir_inst0000003E: {ir_id: import_ir00000004, inst_id: inst4800010E} -// CHECK:STDOUT: import_ir_inst0000003F: {ir_id: import_ir00000004, inst_id: inst48000108} -// CHECK:STDOUT: import_ir_inst00000040: {ir_id: import_ir00000004, inst_id: inst48000105} -// CHECK:STDOUT: import_ir_inst00000041: {ir_id: import_ir00000004, inst_id: inst4800010A} -// CHECK:STDOUT: import_ir_inst00000042: {ir_id: import_ir00000004, inst_id: inst4800010D} -// CHECK:STDOUT: import_ir_inst00000043: {ir_id: import_ir00000004, inst_id: inst48000121} -// CHECK:STDOUT: import_ir_inst00000044: {ir_id: import_ir00000004, inst_id: inst4800010F} -// CHECK:STDOUT: import_ir_inst00000045: {ir_id: import_ir00000004, inst_id: inst48000107} -// CHECK:STDOUT: import_ir_inst00000046: {ir_id: import_ir00000004, inst_id: inst4800010C} -// CHECK:STDOUT: import_ir_inst00000047: {ir_id: import_ir00000004, inst_id: inst48000112} -// CHECK:STDOUT: import_ir_inst00000048: {ir_id: import_ir00000004, inst_id: inst48000121} -// CHECK:STDOUT: import_ir_inst00000049: {ir_id: import_ir00000004, inst_id: inst4800011C} -// CHECK:STDOUT: import_ir_inst0000004A: {ir_id: import_ir00000004, inst_id: inst4800011D} -// CHECK:STDOUT: import_ir_inst0000004B: {ir_id: import_ir00000004, inst_id: inst48000118} -// CHECK:STDOUT: import_ir_inst0000004C: {ir_id: import_ir00000004, inst_id: inst4800011A} -// CHECK:STDOUT: import_ir_inst0000004D: {ir_id: import_ir00000004, inst_id: inst48000105} -// CHECK:STDOUT: import_ir_inst0000004E: {ir_id: import_ir00000004, inst_id: inst48000124} -// CHECK:STDOUT: import_ir_inst0000004F: {ir_id: import_ir00000004, inst_id: inst48000125} -// CHECK:STDOUT: import_ir_inst00000050: {ir_id: import_ir00000004, inst_id: inst48000128} -// CHECK:STDOUT: import_ir_inst00000051: {ir_id: import_ir00000004, inst_id: inst48000114} -// CHECK:STDOUT: import_ir_inst00000052: {ir_id: import_ir00000004, inst_id: inst48000115} -// CHECK:STDOUT: import_ir_inst00000053: {ir_id: import_ir00000004, inst_id: inst48000119} -// CHECK:STDOUT: import_ir_inst00000054: {ir_id: import_ir00000004, inst_id: inst4800012E} -// CHECK:STDOUT: import_ir_inst00000055: {ir_id: import_ir00000004, inst_id: inst4800012C} +// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir00000004, inst_id: inst48000010} +// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir00000004, inst_id: inst48000010} +// CHECK:STDOUT: import_ir_inst00000002: {ir_id: import_ir00000004, inst_id: inst48000012} +// CHECK:STDOUT: import_ir_inst00000003: {ir_id: import_ir00000004, inst_id: inst4800002E} +// CHECK:STDOUT: import_ir_inst00000004: {ir_id: import_ir00000004, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst00000005: {ir_id: import_ir00000004, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst00000006: {ir_id: import_ir00000004, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst00000007: {ir_id: import_ir00000004, inst_id: inst48000023} +// CHECK:STDOUT: import_ir_inst00000008: {ir_id: import_ir00000004, inst_id: inst48000024} +// CHECK:STDOUT: import_ir_inst00000009: {ir_id: import_ir00000004, inst_id: inst4800001D} +// CHECK:STDOUT: import_ir_inst0000000A: {ir_id: import_ir00000004, inst_id: inst4800001F} +// CHECK:STDOUT: import_ir_inst0000000B: {ir_id: import_ir00000004, inst_id: inst48000012} +// CHECK:STDOUT: import_ir_inst0000000C: {ir_id: import_ir00000004, inst_id: inst48000016} +// CHECK:STDOUT: import_ir_inst0000000D: {ir_id: import_ir00000004, inst_id: inst48000019} +// CHECK:STDOUT: import_ir_inst0000000E: {ir_id: import_ir00000004, inst_id: inst4800001E} +// CHECK:STDOUT: import_ir_inst0000000F: {ir_id: import_ir00000004, inst_id: inst48000062} +// CHECK:STDOUT: import_ir_inst00000010: {ir_id: import_ir00000004, inst_id: inst48000060} +// CHECK:STDOUT: import_ir_inst00000011: {ir_id: import_ir00000004, inst_id: inst48000055} +// CHECK:STDOUT: import_ir_inst00000012: {ir_id: import_ir00000004, inst_id: inst48000051} +// CHECK:STDOUT: import_ir_inst00000013: {ir_id: import_ir00000004, inst_id: inst4800005B} +// CHECK:STDOUT: import_ir_inst00000014: {ir_id: import_ir00000004, inst_id: inst4800005E} +// CHECK:STDOUT: import_ir_inst00000015: {ir_id: import_ir00000004, inst_id: inst48000076} +// CHECK:STDOUT: import_ir_inst00000016: {ir_id: import_ir00000004, inst_id: inst48000061} +// CHECK:STDOUT: import_ir_inst00000017: {ir_id: import_ir00000004, inst_id: inst48000053} +// CHECK:STDOUT: import_ir_inst00000018: {ir_id: import_ir00000004, inst_id: inst48000059} +// CHECK:STDOUT: import_ir_inst00000019: {ir_id: import_ir00000004, inst_id: inst4800005D} +// CHECK:STDOUT: import_ir_inst0000001A: {ir_id: import_ir00000004, inst_id: inst48000064} +// CHECK:STDOUT: import_ir_inst0000001B: {ir_id: import_ir00000004, inst_id: inst48000076} +// CHECK:STDOUT: import_ir_inst0000001C: {ir_id: import_ir00000004, inst_id: inst48000071} +// CHECK:STDOUT: import_ir_inst0000001D: {ir_id: import_ir00000004, inst_id: inst48000072} +// CHECK:STDOUT: import_ir_inst0000001E: {ir_id: import_ir00000004, inst_id: inst4800006D} +// CHECK:STDOUT: import_ir_inst0000001F: {ir_id: import_ir00000004, inst_id: inst4800006F} +// CHECK:STDOUT: import_ir_inst00000020: {ir_id: import_ir00000004, inst_id: inst48000051} +// CHECK:STDOUT: import_ir_inst00000021: {ir_id: import_ir00000004, inst_id: inst48000079} +// CHECK:STDOUT: import_ir_inst00000022: {ir_id: import_ir00000004, inst_id: inst4800007A} +// CHECK:STDOUT: import_ir_inst00000023: {ir_id: import_ir00000004, inst_id: inst48000068} +// CHECK:STDOUT: import_ir_inst00000024: {ir_id: import_ir00000004, inst_id: inst48000069} +// CHECK:STDOUT: import_ir_inst00000025: {ir_id: import_ir00000004, inst_id: inst4800006A} +// CHECK:STDOUT: import_ir_inst00000026: {ir_id: import_ir00000004, inst_id: inst4800006E} +// CHECK:STDOUT: import_ir_inst00000027: {ir_id: import_ir00000004, inst_id: inst4800007E} +// CHECK:STDOUT: import_ir_inst00000028: {ir_id: import_ir00000004, inst_id: inst48000086} +// CHECK:STDOUT: import_ir_inst00000029: {ir_id: import_ir00000004, inst_id: inst4800008D} +// CHECK:STDOUT: import_ir_inst0000002A: {ir_id: import_ir00000004, inst_id: inst48000091} +// CHECK:STDOUT: import_ir_inst0000002B: {ir_id: import_ir00000004, inst_id: inst48000092} +// CHECK:STDOUT: import_ir_inst0000002C: {ir_id: import_ir00000004, inst_id: inst48000097} +// CHECK:STDOUT: import_ir_inst0000002D: {ir_id: import_ir00000004, inst_id: inst480000AC} +// CHECK:STDOUT: import_ir_inst0000002E: {ir_id: import_ir00000004, inst_id: inst480000AA} +// CHECK:STDOUT: import_ir_inst0000002F: {ir_id: import_ir00000004, inst_id: inst480000A8} +// CHECK:STDOUT: import_ir_inst00000030: {ir_id: import_ir00000004, inst_id: inst480000A9} +// CHECK:STDOUT: import_ir_inst00000031: {ir_id: import_ir00000004, inst_id: inst480000C4} +// CHECK:STDOUT: import_ir_inst00000032: {ir_id: import_ir00000004, inst_id: inst480000C2} +// CHECK:STDOUT: import_ir_inst00000033: {ir_id: import_ir00000004, inst_id: inst480000C0} +// CHECK:STDOUT: import_ir_inst00000034: {ir_id: import_ir00000004, inst_id: inst480000C1} +// CHECK:STDOUT: import_ir_inst00000035: {ir_id: import_ir00000004, inst_id: inst480000DC} +// CHECK:STDOUT: import_ir_inst00000036: {ir_id: import_ir00000004, inst_id: inst480000DA} +// CHECK:STDOUT: import_ir_inst00000037: {ir_id: import_ir00000004, inst_id: inst480000D8} +// CHECK:STDOUT: import_ir_inst00000038: {ir_id: import_ir00000004, inst_id: inst480000D9} +// CHECK:STDOUT: import_ir_inst00000039: {ir_id: import_ir00000004, inst_id: inst480000F4} +// CHECK:STDOUT: import_ir_inst0000003A: {ir_id: import_ir00000004, inst_id: inst480000F2} +// CHECK:STDOUT: import_ir_inst0000003B: {ir_id: import_ir00000004, inst_id: inst480000F0} +// CHECK:STDOUT: import_ir_inst0000003C: {ir_id: import_ir00000004, inst_id: inst480000F1} +// CHECK:STDOUT: import_ir_inst0000003D: {ir_id: import_ir00000004, inst_id: inst48000111} +// CHECK:STDOUT: import_ir_inst0000003E: {ir_id: import_ir00000004, inst_id: inst4800010F} +// CHECK:STDOUT: import_ir_inst0000003F: {ir_id: import_ir00000004, inst_id: inst48000109} +// CHECK:STDOUT: import_ir_inst00000040: {ir_id: import_ir00000004, inst_id: inst48000106} +// CHECK:STDOUT: import_ir_inst00000041: {ir_id: import_ir00000004, inst_id: inst4800010B} +// CHECK:STDOUT: import_ir_inst00000042: {ir_id: import_ir00000004, inst_id: inst4800010E} +// CHECK:STDOUT: import_ir_inst00000043: {ir_id: import_ir00000004, inst_id: inst48000122} +// CHECK:STDOUT: import_ir_inst00000044: {ir_id: import_ir00000004, inst_id: inst48000110} +// CHECK:STDOUT: import_ir_inst00000045: {ir_id: import_ir00000004, inst_id: inst48000108} +// CHECK:STDOUT: import_ir_inst00000046: {ir_id: import_ir00000004, inst_id: inst4800010D} +// CHECK:STDOUT: import_ir_inst00000047: {ir_id: import_ir00000004, inst_id: inst48000113} +// CHECK:STDOUT: import_ir_inst00000048: {ir_id: import_ir00000004, inst_id: inst48000122} +// CHECK:STDOUT: import_ir_inst00000049: {ir_id: import_ir00000004, inst_id: inst4800011D} +// CHECK:STDOUT: import_ir_inst0000004A: {ir_id: import_ir00000004, inst_id: inst4800011E} +// CHECK:STDOUT: import_ir_inst0000004B: {ir_id: import_ir00000004, inst_id: inst48000119} +// CHECK:STDOUT: import_ir_inst0000004C: {ir_id: import_ir00000004, inst_id: inst4800011B} +// CHECK:STDOUT: import_ir_inst0000004D: {ir_id: import_ir00000004, inst_id: inst48000106} +// CHECK:STDOUT: import_ir_inst0000004E: {ir_id: import_ir00000004, inst_id: inst48000125} +// CHECK:STDOUT: import_ir_inst0000004F: {ir_id: import_ir00000004, inst_id: inst48000126} +// CHECK:STDOUT: import_ir_inst00000050: {ir_id: import_ir00000004, inst_id: inst48000129} +// CHECK:STDOUT: import_ir_inst00000051: {ir_id: import_ir00000004, inst_id: inst48000115} +// CHECK:STDOUT: import_ir_inst00000052: {ir_id: import_ir00000004, inst_id: inst48000116} +// CHECK:STDOUT: import_ir_inst00000053: {ir_id: import_ir00000004, inst_id: inst4800011A} +// CHECK:STDOUT: import_ir_inst00000054: {ir_id: import_ir00000004, inst_id: inst4800012F} +// CHECK:STDOUT: import_ir_inst00000055: {ir_id: import_ir00000004, inst_id: inst4800012D} // CHECK:STDOUT: import_ir_inst00000056: {ir_id: import_ir00000004, inst_id: inst(TypeType)} -// CHECK:STDOUT: import_ir_inst00000057: {ir_id: import_ir00000004, inst_id: inst4800012B} -// CHECK:STDOUT: import_ir_inst00000058: {ir_id: import_ir00000004, inst_id: inst48000143} -// CHECK:STDOUT: import_ir_inst00000059: {ir_id: import_ir00000004, inst_id: inst48000141} -// CHECK:STDOUT: import_ir_inst0000005A: {ir_id: import_ir00000004, inst_id: inst4800013F} -// CHECK:STDOUT: import_ir_inst0000005B: {ir_id: import_ir00000004, inst_id: inst48000140} -// CHECK:STDOUT: import_ir_inst0000005C: {ir_id: import_ir00000004, inst_id: inst48000173} -// CHECK:STDOUT: import_ir_inst0000005D: {ir_id: import_ir00000004, inst_id: inst48000171} -// CHECK:STDOUT: import_ir_inst0000005E: {ir_id: import_ir00000004, inst_id: inst4800015E} -// CHECK:STDOUT: import_ir_inst0000005F: {ir_id: import_ir00000004, inst_id: inst48000158} -// CHECK:STDOUT: import_ir_inst00000060: {ir_id: import_ir00000004, inst_id: inst48000156} -// CHECK:STDOUT: import_ir_inst00000061: {ir_id: import_ir00000004, inst_id: inst4800015B} -// CHECK:STDOUT: import_ir_inst00000062: {ir_id: import_ir00000004, inst_id: inst4800016C} -// CHECK:STDOUT: import_ir_inst00000063: {ir_id: import_ir00000004, inst_id: inst4800016E} -// CHECK:STDOUT: import_ir_inst00000064: {ir_id: import_ir00000004, inst_id: inst4800018B} -// CHECK:STDOUT: import_ir_inst00000065: {ir_id: import_ir00000004, inst_id: inst48000172} -// CHECK:STDOUT: import_ir_inst00000066: {ir_id: import_ir00000004, inst_id: inst48000157} -// CHECK:STDOUT: import_ir_inst00000067: {ir_id: import_ir00000004, inst_id: inst4800015D} -// CHECK:STDOUT: import_ir_inst00000068: {ir_id: import_ir00000004, inst_id: inst48000165} -// CHECK:STDOUT: import_ir_inst00000069: {ir_id: import_ir00000004, inst_id: inst48000169} -// CHECK:STDOUT: import_ir_inst0000006A: {ir_id: import_ir00000004, inst_id: inst4800016D} -// CHECK:STDOUT: import_ir_inst0000006B: {ir_id: import_ir00000004, inst_id: inst48000175} -// CHECK:STDOUT: import_ir_inst0000006C: {ir_id: import_ir00000004, inst_id: inst4800018B} -// CHECK:STDOUT: import_ir_inst0000006D: {ir_id: import_ir00000004, inst_id: inst48000186} -// CHECK:STDOUT: import_ir_inst0000006E: {ir_id: import_ir00000004, inst_id: inst48000187} -// CHECK:STDOUT: import_ir_inst0000006F: {ir_id: import_ir00000004, inst_id: inst48000182} -// CHECK:STDOUT: import_ir_inst00000070: {ir_id: import_ir00000004, inst_id: inst48000184} -// CHECK:STDOUT: import_ir_inst00000071: {ir_id: import_ir00000004, inst_id: inst48000156} -// CHECK:STDOUT: import_ir_inst00000072: {ir_id: import_ir00000004, inst_id: inst4800015B} -// CHECK:STDOUT: import_ir_inst00000073: {ir_id: import_ir00000004, inst_id: inst4800018E} -// CHECK:STDOUT: import_ir_inst00000074: {ir_id: import_ir00000004, inst_id: inst4800018F} -// CHECK:STDOUT: import_ir_inst00000075: {ir_id: import_ir00000004, inst_id: inst4800017B} -// CHECK:STDOUT: import_ir_inst00000076: {ir_id: import_ir00000004, inst_id: inst4800017C} -// CHECK:STDOUT: import_ir_inst00000077: {ir_id: import_ir00000004, inst_id: inst4800017D} -// CHECK:STDOUT: import_ir_inst00000078: {ir_id: import_ir00000004, inst_id: inst4800017E} -// CHECK:STDOUT: import_ir_inst00000079: {ir_id: import_ir00000004, inst_id: inst4800017F} -// CHECK:STDOUT: import_ir_inst0000007A: {ir_id: import_ir00000004, inst_id: inst48000183} -// CHECK:STDOUT: import_ir_inst0000007B: {ir_id: import_ir00000004, inst_id: inst48000194} -// CHECK:STDOUT: import_ir_inst0000007C: {ir_id: import_ir00000004, inst_id: inst4800019C} -// CHECK:STDOUT: import_ir_inst0000007D: {ir_id: import_ir00000004, inst_id: inst480001A0} -// CHECK:STDOUT: import_ir_inst0000007E: {ir_id: import_ir00000004, inst_id: inst480001A2} -// CHECK:STDOUT: import_ir_inst0000007F: {ir_id: import_ir00000004, inst_id: inst480001A3} -// CHECK:STDOUT: import_ir_inst00000080: {ir_id: import_ir00000004, inst_id: inst480001A6} -// CHECK:STDOUT: import_ir_inst00000081: {ir_id: import_ir00000004, inst_id: inst480001B2} -// CHECK:STDOUT: import_ir_inst00000082: {ir_id: import_ir00000004, inst_id: inst480001B7} -// CHECK:STDOUT: import_ir_inst00000083: {ir_id: import_ir00000004, inst_id: inst480001BB} -// CHECK:STDOUT: import_ir_inst00000084: {ir_id: import_ir00000004, inst_id: inst480001BC} -// CHECK:STDOUT: import_ir_inst00000085: {ir_id: import_ir00000004, inst_id: inst480001C1} -// CHECK:STDOUT: import_ir_inst00000086: {ir_id: import_ir00000004, inst_id: inst480001FA} -// CHECK:STDOUT: import_ir_inst00000087: {ir_id: import_ir00000004, inst_id: inst480001F8} -// CHECK:STDOUT: import_ir_inst00000088: {ir_id: import_ir00000004, inst_id: inst480001E0} -// CHECK:STDOUT: import_ir_inst00000089: {ir_id: import_ir00000004, inst_id: inst480001DA} -// CHECK:STDOUT: import_ir_inst0000008A: {ir_id: import_ir00000004, inst_id: inst480001D5} -// CHECK:STDOUT: import_ir_inst0000008B: {ir_id: import_ir00000004, inst_id: inst480001D3} -// CHECK:STDOUT: import_ir_inst0000008C: {ir_id: import_ir00000004, inst_id: inst480001D8} -// CHECK:STDOUT: import_ir_inst0000008D: {ir_id: import_ir00000004, inst_id: inst480001DD} -// CHECK:STDOUT: import_ir_inst0000008E: {ir_id: import_ir00000004, inst_id: inst480001F2} -// CHECK:STDOUT: import_ir_inst0000008F: {ir_id: import_ir00000004, inst_id: inst480001F4} -// CHECK:STDOUT: import_ir_inst00000090: {ir_id: import_ir00000004, inst_id: inst48000216} -// CHECK:STDOUT: import_ir_inst00000091: {ir_id: import_ir00000004, inst_id: inst480001F9} -// CHECK:STDOUT: import_ir_inst00000092: {ir_id: import_ir00000004, inst_id: inst480001D4} -// CHECK:STDOUT: import_ir_inst00000093: {ir_id: import_ir00000004, inst_id: inst480001D9} -// CHECK:STDOUT: import_ir_inst00000094: {ir_id: import_ir00000004, inst_id: inst480001DF} -// CHECK:STDOUT: import_ir_inst00000095: {ir_id: import_ir00000004, inst_id: inst480001E8} -// CHECK:STDOUT: import_ir_inst00000096: {ir_id: import_ir00000004, inst_id: inst480001EB} -// CHECK:STDOUT: import_ir_inst00000097: {ir_id: import_ir00000004, inst_id: inst480001EF} -// CHECK:STDOUT: import_ir_inst00000098: {ir_id: import_ir00000004, inst_id: inst480001F3} -// CHECK:STDOUT: import_ir_inst00000099: {ir_id: import_ir00000004, inst_id: inst480001FC} -// CHECK:STDOUT: import_ir_inst0000009A: {ir_id: import_ir00000004, inst_id: inst48000216} -// CHECK:STDOUT: import_ir_inst0000009B: {ir_id: import_ir00000004, inst_id: inst48000211} -// CHECK:STDOUT: import_ir_inst0000009C: {ir_id: import_ir00000004, inst_id: inst48000212} -// CHECK:STDOUT: import_ir_inst0000009D: {ir_id: import_ir00000004, inst_id: inst4800020D} -// CHECK:STDOUT: import_ir_inst0000009E: {ir_id: import_ir00000004, inst_id: inst4800020F} -// CHECK:STDOUT: import_ir_inst0000009F: {ir_id: import_ir00000004, inst_id: inst480001D3} -// CHECK:STDOUT: import_ir_inst000000A0: {ir_id: import_ir00000004, inst_id: inst480001D8} -// CHECK:STDOUT: import_ir_inst000000A1: {ir_id: import_ir00000004, inst_id: inst480001DD} -// CHECK:STDOUT: import_ir_inst000000A2: {ir_id: import_ir00000004, inst_id: inst48000219} -// CHECK:STDOUT: import_ir_inst000000A3: {ir_id: import_ir00000004, inst_id: inst4800021A} -// CHECK:STDOUT: import_ir_inst000000A4: {ir_id: import_ir00000004, inst_id: inst48000204} -// CHECK:STDOUT: import_ir_inst000000A5: {ir_id: import_ir00000004, inst_id: inst48000205} -// CHECK:STDOUT: import_ir_inst000000A6: {ir_id: import_ir00000004, inst_id: inst48000206} -// CHECK:STDOUT: import_ir_inst000000A7: {ir_id: import_ir00000004, inst_id: inst48000207} -// CHECK:STDOUT: import_ir_inst000000A8: {ir_id: import_ir00000004, inst_id: inst48000208} -// CHECK:STDOUT: import_ir_inst000000A9: {ir_id: import_ir00000004, inst_id: inst48000209} -// CHECK:STDOUT: import_ir_inst000000AA: {ir_id: import_ir00000004, inst_id: inst4800020A} -// CHECK:STDOUT: import_ir_inst000000AB: {ir_id: import_ir00000004, inst_id: inst4800020E} -// CHECK:STDOUT: import_ir_inst000000AC: {ir_id: import_ir00000004, inst_id: inst4800021F} -// CHECK:STDOUT: import_ir_inst000000AD: {ir_id: import_ir00000004, inst_id: inst48000226} -// CHECK:STDOUT: import_ir_inst000000AE: {ir_id: import_ir00000004, inst_id: inst4800022A} -// CHECK:STDOUT: import_ir_inst000000AF: {ir_id: import_ir00000004, inst_id: inst4800022C} -// CHECK:STDOUT: import_ir_inst000000B0: {ir_id: import_ir00000004, inst_id: inst4800022D} -// CHECK:STDOUT: import_ir_inst000000B1: {ir_id: import_ir00000004, inst_id: inst48000230} -// CHECK:STDOUT: import_ir_inst000000B2: {ir_id: import_ir00000004, inst_id: inst4800023A} -// CHECK:STDOUT: import_ir_inst000000B3: {ir_id: import_ir00000004, inst_id: inst4800023E} -// CHECK:STDOUT: import_ir_inst000000B4: {ir_id: import_ir00000004, inst_id: inst48000240} -// CHECK:STDOUT: import_ir_inst000000B5: {ir_id: import_ir00000004, inst_id: inst48000241} -// CHECK:STDOUT: import_ir_inst000000B6: {ir_id: import_ir00000004, inst_id: inst48000244} -// CHECK:STDOUT: import_ir_inst000000B7: {ir_id: import_ir00000004, inst_id: inst48000250} -// CHECK:STDOUT: import_ir_inst000000B8: {ir_id: import_ir00000004, inst_id: inst48000255} -// CHECK:STDOUT: import_ir_inst000000B9: {ir_id: import_ir00000004, inst_id: inst48000259} -// CHECK:STDOUT: import_ir_inst000000BA: {ir_id: import_ir00000004, inst_id: inst4800025A} -// CHECK:STDOUT: import_ir_inst000000BB: {ir_id: import_ir00000004, inst_id: inst4800025F} +// CHECK:STDOUT: import_ir_inst00000057: {ir_id: import_ir00000004, inst_id: inst4800012C} +// CHECK:STDOUT: import_ir_inst00000058: {ir_id: import_ir00000004, inst_id: inst48000144} +// CHECK:STDOUT: import_ir_inst00000059: {ir_id: import_ir00000004, inst_id: inst48000142} +// CHECK:STDOUT: import_ir_inst0000005A: {ir_id: import_ir00000004, inst_id: inst48000140} +// CHECK:STDOUT: import_ir_inst0000005B: {ir_id: import_ir00000004, inst_id: inst48000141} +// CHECK:STDOUT: import_ir_inst0000005C: {ir_id: import_ir00000004, inst_id: inst48000174} +// CHECK:STDOUT: import_ir_inst0000005D: {ir_id: import_ir00000004, inst_id: inst48000172} +// CHECK:STDOUT: import_ir_inst0000005E: {ir_id: import_ir00000004, inst_id: inst4800015F} +// CHECK:STDOUT: import_ir_inst0000005F: {ir_id: import_ir00000004, inst_id: inst48000159} +// CHECK:STDOUT: import_ir_inst00000060: {ir_id: import_ir00000004, inst_id: inst48000157} +// CHECK:STDOUT: import_ir_inst00000061: {ir_id: import_ir00000004, inst_id: inst4800015C} +// CHECK:STDOUT: import_ir_inst00000062: {ir_id: import_ir00000004, inst_id: inst4800016D} +// CHECK:STDOUT: import_ir_inst00000063: {ir_id: import_ir00000004, inst_id: inst4800016F} +// CHECK:STDOUT: import_ir_inst00000064: {ir_id: import_ir00000004, inst_id: inst4800018C} +// CHECK:STDOUT: import_ir_inst00000065: {ir_id: import_ir00000004, inst_id: inst48000173} +// CHECK:STDOUT: import_ir_inst00000066: {ir_id: import_ir00000004, inst_id: inst48000158} +// CHECK:STDOUT: import_ir_inst00000067: {ir_id: import_ir00000004, inst_id: inst4800015E} +// CHECK:STDOUT: import_ir_inst00000068: {ir_id: import_ir00000004, inst_id: inst48000166} +// CHECK:STDOUT: import_ir_inst00000069: {ir_id: import_ir00000004, inst_id: inst4800016A} +// CHECK:STDOUT: import_ir_inst0000006A: {ir_id: import_ir00000004, inst_id: inst4800016E} +// CHECK:STDOUT: import_ir_inst0000006B: {ir_id: import_ir00000004, inst_id: inst48000176} +// CHECK:STDOUT: import_ir_inst0000006C: {ir_id: import_ir00000004, inst_id: inst4800018C} +// CHECK:STDOUT: import_ir_inst0000006D: {ir_id: import_ir00000004, inst_id: inst48000187} +// CHECK:STDOUT: import_ir_inst0000006E: {ir_id: import_ir00000004, inst_id: inst48000188} +// CHECK:STDOUT: import_ir_inst0000006F: {ir_id: import_ir00000004, inst_id: inst48000183} +// CHECK:STDOUT: import_ir_inst00000070: {ir_id: import_ir00000004, inst_id: inst48000185} +// CHECK:STDOUT: import_ir_inst00000071: {ir_id: import_ir00000004, inst_id: inst48000157} +// CHECK:STDOUT: import_ir_inst00000072: {ir_id: import_ir00000004, inst_id: inst4800015C} +// CHECK:STDOUT: import_ir_inst00000073: {ir_id: import_ir00000004, inst_id: inst4800018F} +// CHECK:STDOUT: import_ir_inst00000074: {ir_id: import_ir00000004, inst_id: inst48000190} +// CHECK:STDOUT: import_ir_inst00000075: {ir_id: import_ir00000004, inst_id: inst4800017C} +// CHECK:STDOUT: import_ir_inst00000076: {ir_id: import_ir00000004, inst_id: inst4800017D} +// CHECK:STDOUT: import_ir_inst00000077: {ir_id: import_ir00000004, inst_id: inst4800017E} +// CHECK:STDOUT: import_ir_inst00000078: {ir_id: import_ir00000004, inst_id: inst4800017F} +// CHECK:STDOUT: import_ir_inst00000079: {ir_id: import_ir00000004, inst_id: inst48000180} +// CHECK:STDOUT: import_ir_inst0000007A: {ir_id: import_ir00000004, inst_id: inst48000184} +// CHECK:STDOUT: import_ir_inst0000007B: {ir_id: import_ir00000004, inst_id: inst48000195} +// CHECK:STDOUT: import_ir_inst0000007C: {ir_id: import_ir00000004, inst_id: inst4800019D} +// CHECK:STDOUT: import_ir_inst0000007D: {ir_id: import_ir00000004, inst_id: inst480001A1} +// CHECK:STDOUT: import_ir_inst0000007E: {ir_id: import_ir00000004, inst_id: inst480001A3} +// CHECK:STDOUT: import_ir_inst0000007F: {ir_id: import_ir00000004, inst_id: inst480001A4} +// CHECK:STDOUT: import_ir_inst00000080: {ir_id: import_ir00000004, inst_id: inst480001A7} +// CHECK:STDOUT: import_ir_inst00000081: {ir_id: import_ir00000004, inst_id: inst480001B3} +// CHECK:STDOUT: import_ir_inst00000082: {ir_id: import_ir00000004, inst_id: inst480001B8} +// CHECK:STDOUT: import_ir_inst00000083: {ir_id: import_ir00000004, inst_id: inst480001BC} +// CHECK:STDOUT: import_ir_inst00000084: {ir_id: import_ir00000004, inst_id: inst480001BD} +// CHECK:STDOUT: import_ir_inst00000085: {ir_id: import_ir00000004, inst_id: inst480001C2} +// CHECK:STDOUT: import_ir_inst00000086: {ir_id: import_ir00000004, inst_id: inst480001FB} +// CHECK:STDOUT: import_ir_inst00000087: {ir_id: import_ir00000004, inst_id: inst480001F9} +// CHECK:STDOUT: import_ir_inst00000088: {ir_id: import_ir00000004, inst_id: inst480001E1} +// CHECK:STDOUT: import_ir_inst00000089: {ir_id: import_ir00000004, inst_id: inst480001DB} +// CHECK:STDOUT: import_ir_inst0000008A: {ir_id: import_ir00000004, inst_id: inst480001D6} +// CHECK:STDOUT: import_ir_inst0000008B: {ir_id: import_ir00000004, inst_id: inst480001D4} +// CHECK:STDOUT: import_ir_inst0000008C: {ir_id: import_ir00000004, inst_id: inst480001D9} +// CHECK:STDOUT: import_ir_inst0000008D: {ir_id: import_ir00000004, inst_id: inst480001DE} +// CHECK:STDOUT: import_ir_inst0000008E: {ir_id: import_ir00000004, inst_id: inst480001F3} +// CHECK:STDOUT: import_ir_inst0000008F: {ir_id: import_ir00000004, inst_id: inst480001F5} +// CHECK:STDOUT: import_ir_inst00000090: {ir_id: import_ir00000004, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_inst00000091: {ir_id: import_ir00000004, inst_id: inst480001FA} +// CHECK:STDOUT: import_ir_inst00000092: {ir_id: import_ir00000004, inst_id: inst480001D5} +// CHECK:STDOUT: import_ir_inst00000093: {ir_id: import_ir00000004, inst_id: inst480001DA} +// CHECK:STDOUT: import_ir_inst00000094: {ir_id: import_ir00000004, inst_id: inst480001E0} +// CHECK:STDOUT: import_ir_inst00000095: {ir_id: import_ir00000004, inst_id: inst480001E9} +// CHECK:STDOUT: import_ir_inst00000096: {ir_id: import_ir00000004, inst_id: inst480001EC} +// CHECK:STDOUT: import_ir_inst00000097: {ir_id: import_ir00000004, inst_id: inst480001F0} +// CHECK:STDOUT: import_ir_inst00000098: {ir_id: import_ir00000004, inst_id: inst480001F4} +// CHECK:STDOUT: import_ir_inst00000099: {ir_id: import_ir00000004, inst_id: inst480001FD} +// CHECK:STDOUT: import_ir_inst0000009A: {ir_id: import_ir00000004, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_inst0000009B: {ir_id: import_ir00000004, inst_id: inst48000212} +// CHECK:STDOUT: import_ir_inst0000009C: {ir_id: import_ir00000004, inst_id: inst48000213} +// CHECK:STDOUT: import_ir_inst0000009D: {ir_id: import_ir00000004, inst_id: inst4800020E} +// CHECK:STDOUT: import_ir_inst0000009E: {ir_id: import_ir00000004, inst_id: inst48000210} +// CHECK:STDOUT: import_ir_inst0000009F: {ir_id: import_ir00000004, inst_id: inst480001D4} +// CHECK:STDOUT: import_ir_inst000000A0: {ir_id: import_ir00000004, inst_id: inst480001D9} +// CHECK:STDOUT: import_ir_inst000000A1: {ir_id: import_ir00000004, inst_id: inst480001DE} +// CHECK:STDOUT: import_ir_inst000000A2: {ir_id: import_ir00000004, inst_id: inst4800021A} +// CHECK:STDOUT: import_ir_inst000000A3: {ir_id: import_ir00000004, inst_id: inst4800021B} +// CHECK:STDOUT: import_ir_inst000000A4: {ir_id: import_ir00000004, inst_id: inst48000205} +// CHECK:STDOUT: import_ir_inst000000A5: {ir_id: import_ir00000004, inst_id: inst48000206} +// CHECK:STDOUT: import_ir_inst000000A6: {ir_id: import_ir00000004, inst_id: inst48000207} +// CHECK:STDOUT: import_ir_inst000000A7: {ir_id: import_ir00000004, inst_id: inst48000208} +// CHECK:STDOUT: import_ir_inst000000A8: {ir_id: import_ir00000004, inst_id: inst48000209} +// CHECK:STDOUT: import_ir_inst000000A9: {ir_id: import_ir00000004, inst_id: inst4800020A} +// CHECK:STDOUT: import_ir_inst000000AA: {ir_id: import_ir00000004, inst_id: inst4800020B} +// CHECK:STDOUT: import_ir_inst000000AB: {ir_id: import_ir00000004, inst_id: inst4800020F} +// CHECK:STDOUT: import_ir_inst000000AC: {ir_id: import_ir00000004, inst_id: inst48000220} +// CHECK:STDOUT: import_ir_inst000000AD: {ir_id: import_ir00000004, inst_id: inst48000227} +// CHECK:STDOUT: import_ir_inst000000AE: {ir_id: import_ir00000004, inst_id: inst4800022B} +// CHECK:STDOUT: import_ir_inst000000AF: {ir_id: import_ir00000004, inst_id: inst4800022D} +// CHECK:STDOUT: import_ir_inst000000B0: {ir_id: import_ir00000004, inst_id: inst4800022E} +// CHECK:STDOUT: import_ir_inst000000B1: {ir_id: import_ir00000004, inst_id: inst48000231} +// CHECK:STDOUT: import_ir_inst000000B2: {ir_id: import_ir00000004, inst_id: inst4800023B} +// CHECK:STDOUT: import_ir_inst000000B3: {ir_id: import_ir00000004, inst_id: inst4800023F} +// CHECK:STDOUT: import_ir_inst000000B4: {ir_id: import_ir00000004, inst_id: inst48000241} +// CHECK:STDOUT: import_ir_inst000000B5: {ir_id: import_ir00000004, inst_id: inst48000242} +// CHECK:STDOUT: import_ir_inst000000B6: {ir_id: import_ir00000004, inst_id: inst48000245} +// CHECK:STDOUT: import_ir_inst000000B7: {ir_id: import_ir00000004, inst_id: inst48000251} +// CHECK:STDOUT: import_ir_inst000000B8: {ir_id: import_ir00000004, inst_id: inst48000256} +// CHECK:STDOUT: import_ir_inst000000B9: {ir_id: import_ir00000004, inst_id: inst4800025A} +// CHECK:STDOUT: import_ir_inst000000BA: {ir_id: import_ir00000004, inst_id: inst4800025B} +// CHECK:STDOUT: import_ir_inst000000BB: {ir_id: import_ir00000004, inst_id: inst48000260} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst60000010, name00000000: inst60000035}} -// CHECK:STDOUT: name_scope00000001: {inst: inst60000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000045}} -// CHECK:STDOUT: name_scope00000002: {inst: inst60000046, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst60000049, name00000004: inst6000004A}} -// CHECK:STDOUT: name_scope00000003: {inst: inst6000005E, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope00000004: {inst: inst6000008B, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope00000005: {inst: inst6000008F, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope00000006: {inst: inst60000093, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope00000007: {inst: inst60000097, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope00000008: {inst: inst6000009B, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope00000009: {inst: inst600000B5, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope0000000A: {inst: inst600000B9, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope0000000B: {inst: inst600000BD, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope0000000C: {inst: inst600000F5, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst60000011, name00000000: inst60000036}} +// CHECK:STDOUT: name_scope00000001: {inst: inst60000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000046}} +// CHECK:STDOUT: name_scope00000002: {inst: inst60000047, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst6000004A, name00000004: inst6000004B}} +// CHECK:STDOUT: name_scope00000003: {inst: inst6000005F, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000004: {inst: inst6000008C, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000005: {inst: inst60000090, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000006: {inst: inst60000094, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000007: {inst: inst60000098, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000008: {inst: inst6000009C, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000009: {inst: inst600000B6, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0000000A: {inst: inst600000BA, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0000000B: {inst: inst600000BE, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0000000C: {inst: inst600000F6, parent_scope: name_scope00000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name00000000: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0} // CHECK:STDOUT: entity_name00000001: {name: name00000001, parent_scope: name_scope, index: 0, is_template: 0} @@ -296,24 +296,24 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: entity_name0000003D: {name: name00000006, parent_scope: name_scope, index: 2, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block0000000D, return_slot_pattern: inst60000030, body: [inst_block00000014]} -// CHECK:STDOUT: function60000001: {name: name00000004, parent_scope: name_scope00000002, return_slot_pattern: inst60000055} -// CHECK:STDOUT: function60000002: {name: name00000004, parent_scope: name_scope00000003, return_slot_pattern: inst60000073} -// CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope00000008, return_slot_pattern: inst600000AA} -// CHECK:STDOUT: function60000004: {name: name00000004, parent_scope: name_scope0000000B, return_slot_pattern: inst600000D5} -// CHECK:STDOUT: function60000005: {name: name00000004, parent_scope: name_scope0000000C, return_slot_pattern: inst60000111} +// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block0000000D, return_slot_pattern: inst60000031, body: [inst_block00000014]} +// CHECK:STDOUT: function60000001: {name: name00000004, parent_scope: name_scope00000002, return_slot_pattern: inst60000056} +// CHECK:STDOUT: function60000002: {name: name00000004, parent_scope: name_scope00000003, return_slot_pattern: inst60000074} +// CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope00000008, return_slot_pattern: inst600000AB} +// CHECK:STDOUT: function60000004: {name: name00000004, parent_scope: name_scope0000000B, return_slot_pattern: inst600000D6} +// CHECK:STDOUT: function60000005: {name: name00000004, parent_scope: name_scope0000000C, return_slot_pattern: inst60000112} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic60000000: {decl: inst60000035, bindings: inst_block00000010} -// CHECK:STDOUT: generic60000001: {decl: inst6000004F, bindings: inst_block00000018} -// CHECK:STDOUT: generic60000002: {decl: inst6000005E, bindings: inst_block0000001D} -// CHECK:STDOUT: generic60000003: {decl: inst6000006E, bindings: inst_block00000024} -// CHECK:STDOUT: generic60000004: {decl: inst6000009B, bindings: inst_block0000002E} -// CHECK:STDOUT: generic60000005: {decl: inst600000A6, bindings: inst_block00000034} -// CHECK:STDOUT: generic60000006: {decl: inst600000BD, bindings: inst_block0000003B} -// CHECK:STDOUT: generic60000007: {decl: inst600000D0, bindings: inst_block00000043} -// CHECK:STDOUT: generic60000008: {decl: inst600000F5, bindings: inst_block00000051} -// CHECK:STDOUT: generic60000009: {decl: inst6000010C, bindings: inst_block00000059} +// CHECK:STDOUT: generic60000000: {decl: inst60000036, bindings: inst_block00000010} +// CHECK:STDOUT: generic60000001: {decl: inst60000050, bindings: inst_block00000018} +// CHECK:STDOUT: generic60000002: {decl: inst6000005F, bindings: inst_block0000001D} +// CHECK:STDOUT: generic60000003: {decl: inst6000006F, bindings: inst_block00000024} +// CHECK:STDOUT: generic60000004: {decl: inst6000009C, bindings: inst_block0000002E} +// CHECK:STDOUT: generic60000005: {decl: inst600000A7, bindings: inst_block00000034} +// CHECK:STDOUT: generic60000006: {decl: inst600000BE, bindings: inst_block0000003B} +// CHECK:STDOUT: generic60000007: {decl: inst600000D1, bindings: inst_block00000043} +// CHECK:STDOUT: generic60000008: {decl: inst600000F6, bindings: inst_block00000051} +// CHECK:STDOUT: generic60000009: {decl: inst6000010D, bindings: inst_block00000059} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific00000000: {generic: generic60000000, args: inst_block00000011} // CHECK:STDOUT: specific00000001: {generic: generic60000001, args: inst_block0000001A} @@ -349,14 +349,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(inst60000024)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} -// CHECK:STDOUT: 'type(inst60000026)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000028)} -// CHECK:STDOUT: 'type(inst60000028)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000028)} -// CHECK:STDOUT: 'type(inst60000036)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} +// CHECK:STDOUT: 'type(inst60000025)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} +// CHECK:STDOUT: 'type(inst60000027)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000029)} +// CHECK:STDOUT: 'type(inst60000029)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000029)} +// CHECK:STDOUT: 'type(inst60000037)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(symbolic_constant00000003)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant00000003)} // CHECK:STDOUT: 'type(symbolic_constant00000007)': @@ -369,1430 +369,1430 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant00000004)} // CHECK:STDOUT: 'type(symbolic_constant00000008)': // CHECK:STDOUT: value_repr: {kind: pointer, type: type(symbolic_constant0000000B)} -// CHECK:STDOUT: 'type(inst60000047)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000047)} +// CHECK:STDOUT: 'type(inst60000048)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000048)} // CHECK:STDOUT: 'type(inst(SpecificFunctionType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(SpecificFunctionType))} // CHECK:STDOUT: 'type(symbolic_constant000000FD)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(symbolic_constant00000100)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(inst(BoundMethodType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(BoundMethodType))} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: ImportDecl, arg0: name(Core)} -// CHECK:STDOUT: inst60000010: {kind: Namespace, arg0: name_scope00000001, arg1: inst6000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000011: {kind: FacetType, arg0: facet_type00000000, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: BindSymbolicName, arg0: entity_name00000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000013: {kind: BindSymbolicName, arg0: entity_name00000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000014: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: ImportDecl, arg0: name(Core)} +// CHECK:STDOUT: inst60000011: {kind: Namespace, arg0: name_scope00000001, arg1: inst60000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000012: {kind: FacetType, arg0: facet_type00000000, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: BindSymbolicName, arg0: entity_name00000000, arg1: inst, type: type(inst60000012)} +// CHECK:STDOUT: inst60000014: {kind: BindSymbolicName, arg0: entity_name00000000, arg1: inst, type: type(inst60000012)} // CHECK:STDOUT: inst60000015: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst60000016: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst60000017: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst60000018: {kind: SymbolicBindingPattern, arg0: entity_name00000001, type: type(inst60000017)} -// CHECK:STDOUT: inst60000019: {kind: NameRef, arg0: name00000001, arg1: inst60000014, type: type(TypeType)} -// CHECK:STDOUT: inst6000001A: {kind: PointerType, arg0: inst60000019, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: PointerType, arg0: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst60000017: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst60000018: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst60000019: {kind: SymbolicBindingPattern, arg0: entity_name00000001, type: type(inst60000018)} +// CHECK:STDOUT: inst6000001A: {kind: NameRef, arg0: name00000001, 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: inst6000001D: {kind: BindName, arg0: entity_name00000002, arg1: inst60000031, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst6000001E: {kind: PatternType, arg0: inst6000001B, type: type(TypeType)} -// CHECK:STDOUT: inst6000001F: {kind: BindingPattern, arg0: entity_name00000002, type: type(symbolic_constant00000006)} -// CHECK:STDOUT: inst60000020: {kind: PatternType, arg0: inst6000001C, type: type(TypeType)} -// CHECK:STDOUT: inst60000021: {kind: ValueParamPattern, arg0: inst6000001F, arg1: call_param0, type: type(symbolic_constant00000006)} -// CHECK:STDOUT: inst60000022: {kind: NameRef, arg0: name00000001, arg1: inst60000014, type: type(TypeType)} -// CHECK:STDOUT: inst60000023: {kind: PointerType, arg0: inst60000022, type: type(TypeType)} -// CHECK:STDOUT: inst60000024: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000025: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000024)} -// CHECK:STDOUT: inst60000026: {kind: TupleType, arg0: inst_block00000009, type: type(TypeType)} -// CHECK:STDOUT: inst60000027: {kind: TupleLiteral, arg0: inst_block00000008, type: type(inst60000026)} -// CHECK:STDOUT: inst60000028: {kind: PointerType, arg0: inst60000026, type: type(TypeType)} -// CHECK:STDOUT: inst60000029: {kind: Converted, arg0: inst60000025, arg1: inst60000024, type: type(TypeType)} -// CHECK:STDOUT: inst6000002A: {kind: TupleType, arg0: inst_block0000000B, type: type(TypeType)} -// CHECK:STDOUT: inst6000002B: {kind: Converted, arg0: inst60000027, arg1: inst6000002A, type: type(TypeType)} -// CHECK:STDOUT: inst6000002C: {kind: TupleType, arg0: inst_block0000000C, type: type(TypeType)} -// CHECK:STDOUT: inst6000002D: {kind: PatternType, arg0: inst6000002A, type: type(TypeType)} -// CHECK:STDOUT: inst6000002E: {kind: ReturnSlotPattern, arg0: inst6000002B, type: type(symbolic_constant0000000A)} -// CHECK:STDOUT: inst6000002F: {kind: PatternType, arg0: inst6000002C, type: type(TypeType)} -// CHECK:STDOUT: inst60000030: {kind: OutParamPattern, arg0: inst6000002E, arg1: call_param1, type: type(symbolic_constant0000000A)} -// CHECK:STDOUT: inst60000031: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000032: {kind: SpliceBlock, arg0: inst_block00000006, arg1: inst6000001A, type: type(TypeType)} -// CHECK:STDOUT: inst60000033: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst60000034: {kind: ReturnSlot, arg0: inst6000002A, arg1: inst60000033, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst60000035: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block0000000F, type: type(inst60000036)} -// CHECK:STDOUT: inst60000036: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000037: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000036)} -// CHECK:STDOUT: inst60000038: {kind: PointerType, arg0: inst6000002A, type: type(TypeType)} -// CHECK:STDOUT: inst60000039: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003A: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003B: {kind: RequireCompleteType, arg0: inst6000002C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003C: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003D: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000001D: {kind: PointerType, arg0: inst60000017, type: type(TypeType)} +// CHECK:STDOUT: inst6000001E: {kind: BindName, arg0: entity_name00000002, arg1: inst60000032, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst6000001F: {kind: PatternType, arg0: inst6000001C, type: type(TypeType)} +// CHECK:STDOUT: inst60000020: {kind: BindingPattern, arg0: entity_name00000002, type: type(symbolic_constant00000006)} +// CHECK:STDOUT: inst60000021: {kind: PatternType, arg0: inst6000001D, type: type(TypeType)} +// CHECK:STDOUT: inst60000022: {kind: ValueParamPattern, arg0: inst60000020, arg1: call_param0, type: type(symbolic_constant00000006)} +// CHECK:STDOUT: inst60000023: {kind: NameRef, arg0: name00000001, 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: TupleType, arg0: inst_block00000009, type: type(TypeType)} +// CHECK:STDOUT: inst60000028: {kind: TupleLiteral, arg0: inst_block00000008, type: type(inst60000027)} +// CHECK:STDOUT: inst60000029: {kind: PointerType, arg0: inst60000027, type: type(TypeType)} +// CHECK:STDOUT: inst6000002A: {kind: Converted, arg0: inst60000026, arg1: inst60000025, type: type(TypeType)} +// CHECK:STDOUT: inst6000002B: {kind: TupleType, arg0: inst_block0000000B, type: type(TypeType)} +// CHECK:STDOUT: inst6000002C: {kind: Converted, arg0: inst60000028, arg1: inst6000002B, type: type(TypeType)} +// CHECK:STDOUT: inst6000002D: {kind: TupleType, arg0: inst_block0000000C, type: type(TypeType)} +// CHECK:STDOUT: inst6000002E: {kind: PatternType, arg0: inst6000002B, type: type(TypeType)} +// CHECK:STDOUT: inst6000002F: {kind: ReturnSlotPattern, arg0: inst6000002C, type: type(symbolic_constant0000000A)} +// CHECK:STDOUT: inst60000030: {kind: PatternType, arg0: inst6000002D, type: type(TypeType)} +// CHECK:STDOUT: inst60000031: {kind: OutParamPattern, arg0: inst6000002F, arg1: call_param1, type: type(symbolic_constant0000000A)} +// CHECK:STDOUT: inst60000032: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000033: {kind: SpliceBlock, arg0: inst_block00000006, arg1: inst6000001B, type: type(TypeType)} +// CHECK:STDOUT: inst60000034: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000035: {kind: ReturnSlot, arg0: inst6000002B, arg1: inst60000034, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000036: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block0000000F, type: type(inst60000037)} +// CHECK:STDOUT: inst60000037: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000038: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000037)} +// CHECK:STDOUT: inst60000039: {kind: PointerType, arg0: inst6000002B, type: type(TypeType)} +// CHECK:STDOUT: inst6000003A: {kind: RequireCompleteType, arg0: inst6000002B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003B: {kind: RequireCompleteType, arg0: inst6000002B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003C: {kind: RequireCompleteType, arg0: inst6000002D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003D: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} // CHECK:STDOUT: inst6000003E: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003F: {kind: NameRef, arg0: name00000002, arg1: inst6000001D, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000040: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000024)} -// CHECK:STDOUT: inst60000041: {kind: TupleLiteral, arg0: inst_block00000015, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst60000042: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000043: {kind: TupleAccess, arg0: inst60000034, arg1: element0, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000044: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000045: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name00000003, type: type(TypeType)} -// CHECK:STDOUT: inst60000046: {kind: InterfaceDecl, arg0: interface00000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000047: {kind: FacetType, arg0: facet_type00000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000048: {kind: BindSymbolicName, arg0: entity_name00000004, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000049: {kind: ImportRefUnloaded, arg0: import_ir_inst00000002, arg1: entity_name} -// CHECK:STDOUT: inst6000004A: {kind: ImportRefLoaded, arg0: import_ir_inst00000003, arg1: entity_name, type: type(inst6000004C)} -// CHECK:STDOUT: inst6000004B: {kind: ImportRefUnloaded, arg0: import_ir_inst00000004, arg1: entity_name00000005} -// CHECK:STDOUT: inst6000004C: {kind: AssociatedEntityType, arg0: interface00000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000004D: {kind: ImportRefLoaded, arg0: import_ir_inst00000005, arg1: entity_name, type: type(inst60000050)} -// CHECK:STDOUT: inst6000004E: {kind: AssociatedEntity, arg0: element0, arg1: inst6000004D, type: type(inst6000004C)} -// CHECK:STDOUT: inst6000004F: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst60000050)} -// CHECK:STDOUT: inst60000050: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000051: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000050)} -// CHECK:STDOUT: inst60000052: {kind: SymbolicBindingType, arg0: entity_name00000004, arg1: inst60000048, type: type(TypeType)} -// CHECK:STDOUT: inst60000053: {kind: PatternType, arg0: inst60000052, type: type(TypeType)} -// CHECK:STDOUT: inst60000054: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant00000013)} -// CHECK:STDOUT: inst60000055: {kind: OutParamPattern, arg0: inst60000054, arg1: call_param1, type: type(symbolic_constant00000013)} -// CHECK:STDOUT: inst60000056: {kind: BindingPattern, arg0: entity_name00000008, type: type(symbolic_constant00000013)} -// CHECK:STDOUT: inst60000057: {kind: ValueParamPattern, arg0: inst60000056, arg1: call_param0, type: type(symbolic_constant00000013)} -// CHECK:STDOUT: inst60000058: {kind: ImportRefLoaded, arg0: import_ir_inst0000000B, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000059: {kind: BindSymbolicName, arg0: entity_name00000004, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000005A: {kind: SymbolicBindingType, arg0: entity_name00000004, arg1: inst60000059, type: type(TypeType)} -// CHECK:STDOUT: inst6000005B: {kind: PatternType, arg0: inst6000005A, type: type(TypeType)} -// CHECK:STDOUT: inst6000005C: {kind: LookupImplWitness, arg0: inst6000001B, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000005D: {kind: ImportRefUnloaded, arg0: import_ir_inst0000000F, arg1: entity_name} -// CHECK:STDOUT: inst6000005E: {kind: ImplDecl, arg0: impl60000000, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000005F: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000060: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst6000005F, type: type(TypeType)} -// CHECK:STDOUT: inst60000061: {kind: ConstType, arg0: inst60000060, type: type(TypeType)} -// CHECK:STDOUT: inst60000062: {kind: PatternType, arg0: inst60000047, type: type(TypeType)} -// CHECK:STDOUT: inst60000063: {kind: SymbolicBindingPattern, arg0: entity_name0000000D, type: type(inst60000062)} -// CHECK:STDOUT: inst60000064: {kind: ImportRefLoaded, arg0: import_ir_inst00000012, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000065: {kind: ImportRefLoaded, arg0: import_ir_inst00000013, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000066: {kind: ImportRefLoaded, arg0: import_ir_inst00000014, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000067: {kind: ImportRefUnloaded, arg0: import_ir_inst00000015, arg1: entity_name} -// CHECK:STDOUT: inst60000068: {kind: ImplWitnessTable, arg0: inst_block0000001E, arg1: impl60000000} -// CHECK:STDOUT: inst60000069: {kind: ImplWitness, arg0: inst60000068, arg1: specific00000002, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000006A: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000006B: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst6000006A, type: type(TypeType)} -// CHECK:STDOUT: inst6000006C: {kind: ConstType, arg0: inst6000006B, type: type(TypeType)} -// CHECK:STDOUT: inst6000006D: {kind: ImplWitness, arg0: inst60000068, arg1: specific00000003, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000006E: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant00000026)} -// CHECK:STDOUT: inst6000006F: {kind: FunctionType, arg0: function60000002, arg1: specific00000002, type: type(TypeType)} -// CHECK:STDOUT: inst60000070: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000026)} -// CHECK:STDOUT: inst60000071: {kind: PatternType, arg0: inst60000061, type: type(TypeType)} -// CHECK:STDOUT: inst60000072: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant0000002B)} -// CHECK:STDOUT: inst60000073: {kind: OutParamPattern, arg0: inst60000072, arg1: call_param1, type: type(symbolic_constant0000002B)} -// CHECK:STDOUT: inst60000074: {kind: BindingPattern, arg0: entity_name00000011, type: type(symbolic_constant0000002B)} -// CHECK:STDOUT: inst60000075: {kind: ValueParamPattern, arg0: inst60000074, arg1: call_param0, type: type(symbolic_constant0000002B)} -// CHECK:STDOUT: inst60000076: {kind: ImportRefLoaded, arg0: import_ir_inst00000020, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000077: {kind: FunctionType, arg0: function60000002, arg1: specific00000003, type: type(TypeType)} -// CHECK:STDOUT: inst60000078: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant0000002D)} -// CHECK:STDOUT: inst60000079: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000007A: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst60000079, type: type(TypeType)} -// CHECK:STDOUT: inst6000007B: {kind: ConstType, arg0: inst6000007A, type: type(TypeType)} -// CHECK:STDOUT: inst6000007C: {kind: PatternType, arg0: inst6000007B, type: type(TypeType)} -// CHECK:STDOUT: inst6000007D: {kind: RequireCompleteType, arg0: inst60000061, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000007E: {kind: RequireCompleteType, arg0: inst60000060, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000007F: {kind: LookupImplWitness, arg0: inst6000005F, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000080: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000005F, type: type(TypeType)} -// CHECK:STDOUT: inst60000081: {kind: ImplWitnessAccess, arg0: inst6000007F, arg1: element0, type: type(symbolic_constant0000003C)} -// CHECK:STDOUT: inst60000082: {kind: SpecificImplFunction, arg0: inst60000081, arg1: specific00000005, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000083: {kind: RequireCompleteType, arg0: inst6000007B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000084: {kind: RequireCompleteType, arg0: inst6000007A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000085: {kind: LookupImplWitness, arg0: inst60000079, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000086: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst60000079, type: type(TypeType)} -// CHECK:STDOUT: inst60000087: {kind: ImplWitnessAccess, arg0: inst60000085, arg1: element0, type: type(symbolic_constant00000045)} -// CHECK:STDOUT: inst60000088: {kind: SpecificImplFunction, arg0: inst60000087, arg1: specific00000006, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000089: {kind: PatternType, arg0: inst60000060, type: type(TypeType)} -// CHECK:STDOUT: inst6000008A: {kind: ImportRefUnloaded, arg0: import_ir_inst0000002D, arg1: entity_name} -// CHECK:STDOUT: inst6000008B: {kind: ImplDecl, arg0: impl60000001, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000008C: {kind: ImportRefLoaded, arg0: import_ir_inst0000002F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000008D: {kind: ImportRefLoaded, arg0: import_ir_inst00000030, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000008E: {kind: ImportRefUnloaded, arg0: import_ir_inst00000031, arg1: entity_name} -// CHECK:STDOUT: inst6000008F: {kind: ImplDecl, arg0: impl60000002, arg1: inst_block_empty} -// CHECK:STDOUT: inst60000090: {kind: ImportRefLoaded, arg0: import_ir_inst00000033, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000091: {kind: ImportRefLoaded, arg0: import_ir_inst00000034, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000092: {kind: ImportRefUnloaded, arg0: import_ir_inst00000035, arg1: entity_name} -// CHECK:STDOUT: inst60000093: {kind: ImplDecl, arg0: impl60000003, arg1: inst_block_empty} -// CHECK:STDOUT: inst60000094: {kind: ImportRefLoaded, arg0: import_ir_inst00000037, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000095: {kind: ImportRefLoaded, arg0: import_ir_inst00000038, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000096: {kind: ImportRefUnloaded, arg0: import_ir_inst00000039, arg1: entity_name} -// CHECK:STDOUT: inst60000097: {kind: ImplDecl, arg0: impl60000004, arg1: inst_block_empty} -// CHECK:STDOUT: inst60000098: {kind: ImportRefLoaded, arg0: import_ir_inst0000003B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000099: {kind: ImportRefLoaded, arg0: import_ir_inst0000003C, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009A: {kind: ImportRefLoaded, arg0: import_ir_inst0000003D, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000009B: {kind: ImplDecl, arg0: impl60000005, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000009C: {kind: SymbolicBindingPattern, arg0: entity_name00000015, type: type(inst60000017)} -// CHECK:STDOUT: inst6000009D: {kind: ImportRefLoaded, arg0: import_ir_inst00000040, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009E: {kind: ImportRefLoaded, arg0: import_ir_inst00000041, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009F: {kind: ImportRefLoaded, arg0: import_ir_inst00000042, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000A0: {kind: ImportRefUnloaded, arg0: import_ir_inst00000043, arg1: entity_name} -// CHECK:STDOUT: inst600000A1: {kind: ImplWitnessTable, arg0: inst_block0000002F, arg1: impl60000005} -// CHECK:STDOUT: inst600000A2: {kind: ImplWitness, arg0: inst600000A1, arg1: specific00000007, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000A3: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst600000A4: {kind: PointerType, arg0: inst600000A3, type: type(TypeType)} -// CHECK:STDOUT: inst600000A5: {kind: ImplWitness, arg0: inst600000A1, arg1: specific00000008, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000A6: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant00000051)} -// CHECK:STDOUT: inst600000A7: {kind: FunctionType, arg0: function60000003, arg1: specific00000007, type: type(TypeType)} -// CHECK:STDOUT: inst600000A8: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000051)} -// CHECK:STDOUT: inst600000A9: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant00000055)} -// CHECK:STDOUT: inst600000AA: {kind: OutParamPattern, arg0: inst600000A9, arg1: call_param1, type: type(symbolic_constant00000055)} -// CHECK:STDOUT: inst600000AB: {kind: BindingPattern, arg0: entity_name00000018, type: type(symbolic_constant00000055)} -// CHECK:STDOUT: inst600000AC: {kind: ValueParamPattern, arg0: inst600000AB, arg1: call_param0, type: type(symbolic_constant00000055)} -// CHECK:STDOUT: inst600000AD: {kind: ImportRefLoaded, arg0: import_ir_inst0000004D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000AE: {kind: FunctionType, arg0: function60000003, arg1: specific00000008, type: type(TypeType)} -// CHECK:STDOUT: inst600000AF: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000058)} -// CHECK:STDOUT: inst600000B0: {kind: RequireCompleteType, arg0: inst600000A4, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000B1: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst600000B2: {kind: PointerType, arg0: inst600000B1, type: type(TypeType)} -// CHECK:STDOUT: inst600000B3: {kind: PatternType, arg0: inst600000B2, type: type(TypeType)} -// CHECK:STDOUT: inst600000B4: {kind: ImportRefUnloaded, arg0: import_ir_inst00000054, arg1: entity_name} -// CHECK:STDOUT: inst600000B5: {kind: ImplDecl, arg0: impl60000006, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000B6: {kind: ImportRefLoaded, arg0: import_ir_inst00000056, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B7: {kind: ImportRefLoaded, arg0: import_ir_inst00000057, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B8: {kind: ImportRefUnloaded, arg0: import_ir_inst00000058, arg1: entity_name} -// CHECK:STDOUT: inst600000B9: {kind: ImplDecl, arg0: impl60000007, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000BA: {kind: ImportRefLoaded, arg0: import_ir_inst0000005A, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000BB: {kind: ImportRefLoaded, arg0: import_ir_inst0000005B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000BC: {kind: ImportRefUnloaded, arg0: import_ir_inst0000005C, arg1: entity_name} -// CHECK:STDOUT: inst600000BD: {kind: ImplDecl, arg0: impl60000008, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000BE: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000BF: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst600000BE, type: type(TypeType)} -// CHECK:STDOUT: inst600000C0: {kind: TupleType, arg0: inst_block00000039, type: type(TypeType)} -// CHECK:STDOUT: inst600000C1: {kind: SymbolicBindingPattern, arg0: entity_name0000001C, type: type(inst60000062)} -// CHECK:STDOUT: inst600000C2: {kind: SymbolicBindingPattern, arg0: entity_name0000001D, type: type(inst60000062)} -// CHECK:STDOUT: inst600000C3: {kind: ImportRefLoaded, arg0: import_ir_inst00000060, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000C4: {kind: ImportRefLoaded, arg0: import_ir_inst00000061, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000C5: {kind: ImportRefLoaded, arg0: import_ir_inst00000062, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000C6: {kind: ImportRefLoaded, arg0: import_ir_inst00000063, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000C7: {kind: ImportRefUnloaded, arg0: import_ir_inst00000064, arg1: entity_name} -// CHECK:STDOUT: inst600000C8: {kind: ImplWitnessTable, arg0: inst_block0000003C, arg1: impl60000008} -// CHECK:STDOUT: inst600000C9: {kind: ImplWitness, arg0: inst600000C8, arg1: specific0000000A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000CA: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000CB: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000CC: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst600000CA, type: type(TypeType)} -// CHECK:STDOUT: inst600000CD: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst600000CB, type: type(TypeType)} -// CHECK:STDOUT: inst600000CE: {kind: TupleType, arg0: inst_block0000003E, type: type(TypeType)} -// CHECK:STDOUT: inst600000CF: {kind: ImplWitness, arg0: inst600000C8, arg1: specific0000000B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000D0: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant00000072)} -// CHECK:STDOUT: inst600000D1: {kind: FunctionType, arg0: function60000004, arg1: specific0000000A, type: type(TypeType)} -// CHECK:STDOUT: inst600000D2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000072)} -// CHECK:STDOUT: inst600000D3: {kind: PatternType, arg0: inst600000C0, type: type(TypeType)} -// CHECK:STDOUT: inst600000D4: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant00000077)} -// CHECK:STDOUT: inst600000D5: {kind: OutParamPattern, arg0: inst600000D4, arg1: call_param1, type: type(symbolic_constant00000077)} -// CHECK:STDOUT: inst600000D6: {kind: BindingPattern, arg0: entity_name00000024, type: type(symbolic_constant00000077)} -// CHECK:STDOUT: inst600000D7: {kind: ValueParamPattern, arg0: inst600000D6, arg1: call_param0, type: type(symbolic_constant00000077)} -// CHECK:STDOUT: inst600000D8: {kind: ImportRefLoaded, arg0: import_ir_inst00000071, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000D9: {kind: ImportRefLoaded, arg0: import_ir_inst00000072, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000DA: {kind: FunctionType, arg0: function60000004, arg1: specific0000000B, type: type(TypeType)} -// CHECK:STDOUT: inst600000DB: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000079)} -// CHECK:STDOUT: inst600000DC: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000DD: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst600000DC, type: type(TypeType)} -// CHECK:STDOUT: inst600000DE: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000DF: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst600000DE, type: type(TypeType)} -// CHECK:STDOUT: inst600000E0: {kind: TupleType, arg0: inst_block00000046, type: type(TypeType)} -// CHECK:STDOUT: inst600000E1: {kind: PatternType, arg0: inst600000E0, type: type(TypeType)} -// CHECK:STDOUT: inst600000E2: {kind: RequireCompleteType, arg0: inst600000C0, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E3: {kind: RequireCompleteType, arg0: inst600000BF, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E4: {kind: LookupImplWitness, arg0: inst600000BE, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E5: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000BE, type: type(TypeType)} -// CHECK:STDOUT: inst600000E6: {kind: ImplWitnessAccess, arg0: inst600000E4, arg1: element0, type: type(symbolic_constant00000091)} -// CHECK:STDOUT: inst600000E7: {kind: SpecificImplFunction, arg0: inst600000E6, arg1: specific0000000D, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000E8: {kind: RequireCompleteType, arg0: inst600000E0, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E9: {kind: RequireCompleteType, arg0: inst600000DD, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000EA: {kind: LookupImplWitness, arg0: inst600000DC, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000EB: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000DC, type: type(TypeType)} -// CHECK:STDOUT: inst600000EC: {kind: ImplWitnessAccess, arg0: inst600000EA, arg1: element0, type: type(symbolic_constant0000009A)} -// CHECK:STDOUT: inst600000ED: {kind: SpecificImplFunction, arg0: inst600000EC, arg1: specific0000000E, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000EE: {kind: RequireCompleteType, arg0: inst600000DF, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000EF: {kind: LookupImplWitness, arg0: inst600000DE, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000F0: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000DE, type: type(TypeType)} -// CHECK:STDOUT: inst600000F1: {kind: ImplWitnessAccess, arg0: inst600000EF, arg1: element0, type: type(symbolic_constant0000009F)} -// CHECK:STDOUT: inst600000F2: {kind: SpecificImplFunction, arg0: inst600000F1, arg1: specific0000000F, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000F3: {kind: PatternType, arg0: inst600000BF, type: type(TypeType)} -// CHECK:STDOUT: inst600000F4: {kind: ImportRefUnloaded, arg0: import_ir_inst00000086, arg1: entity_name} -// CHECK:STDOUT: inst600000F5: {kind: ImplDecl, arg0: impl60000009, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000F6: {kind: BindSymbolicName, arg0: entity_name00000029, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000F7: {kind: SymbolicBindingType, arg0: entity_name00000029, arg1: inst600000F6, type: type(TypeType)} -// CHECK:STDOUT: inst600000F8: {kind: TupleType, arg0: inst_block0000004F, type: type(TypeType)} -// CHECK:STDOUT: inst600000F9: {kind: SymbolicBindingPattern, arg0: entity_name0000002B, type: type(inst60000062)} -// CHECK:STDOUT: inst600000FA: {kind: SymbolicBindingPattern, arg0: entity_name0000002C, type: type(inst60000062)} -// CHECK:STDOUT: inst600000FB: {kind: SymbolicBindingPattern, arg0: entity_name0000002D, type: type(inst60000062)} -// CHECK:STDOUT: inst600000FC: {kind: ImportRefLoaded, arg0: import_ir_inst0000008B, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000FD: {kind: ImportRefLoaded, arg0: import_ir_inst0000008C, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000FE: {kind: ImportRefLoaded, arg0: import_ir_inst0000008D, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000FF: {kind: ImportRefLoaded, arg0: import_ir_inst0000008E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000100: {kind: ImportRefLoaded, arg0: import_ir_inst0000008F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000101: {kind: ImportRefUnloaded, arg0: import_ir_inst00000090, arg1: entity_name} -// CHECK:STDOUT: inst60000102: {kind: ImplWitnessTable, arg0: inst_block00000052, arg1: impl60000009} -// CHECK:STDOUT: inst60000103: {kind: ImplWitness, arg0: inst60000102, arg1: specific00000010, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000104: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000105: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000106: {kind: BindSymbolicName, arg0: entity_name00000029, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000107: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst60000104, type: type(TypeType)} -// CHECK:STDOUT: inst60000108: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst60000105, type: type(TypeType)} -// CHECK:STDOUT: inst60000109: {kind: SymbolicBindingType, arg0: entity_name00000029, arg1: inst60000106, type: type(TypeType)} -// CHECK:STDOUT: inst6000010A: {kind: TupleType, arg0: inst_block00000054, type: type(TypeType)} -// CHECK:STDOUT: inst6000010B: {kind: ImplWitness, arg0: inst60000102, arg1: specific00000011, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000010C: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant000000BA)} -// CHECK:STDOUT: inst6000010D: {kind: FunctionType, arg0: function60000005, arg1: specific00000010, type: type(TypeType)} -// CHECK:STDOUT: inst6000010E: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant000000BA)} -// CHECK:STDOUT: inst6000010F: {kind: PatternType, arg0: inst600000F8, type: type(TypeType)} -// CHECK:STDOUT: inst60000110: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant000000BF)} -// CHECK:STDOUT: inst60000111: {kind: OutParamPattern, arg0: inst60000110, arg1: call_param1, type: type(symbolic_constant000000BF)} -// CHECK:STDOUT: inst60000112: {kind: BindingPattern, arg0: entity_name00000037, type: type(symbolic_constant000000BF)} -// CHECK:STDOUT: inst60000113: {kind: ValueParamPattern, arg0: inst60000112, arg1: call_param0, type: type(symbolic_constant000000BF)} -// CHECK:STDOUT: inst60000114: {kind: ImportRefLoaded, arg0: import_ir_inst0000009F, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000115: {kind: ImportRefLoaded, arg0: import_ir_inst000000A0, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000116: {kind: ImportRefLoaded, arg0: import_ir_inst000000A1, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000117: {kind: FunctionType, arg0: function60000005, arg1: specific00000011, type: type(TypeType)} -// CHECK:STDOUT: inst60000118: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant000000C1)} -// CHECK:STDOUT: inst60000119: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000011A: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst60000119, type: type(TypeType)} -// CHECK:STDOUT: inst6000011B: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000011C: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst6000011B, type: type(TypeType)} -// CHECK:STDOUT: inst6000011D: {kind: BindSymbolicName, arg0: entity_name00000029, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000011E: {kind: SymbolicBindingType, arg0: entity_name00000029, arg1: inst6000011D, type: type(TypeType)} -// CHECK:STDOUT: inst6000011F: {kind: TupleType, arg0: inst_block0000005C, type: type(TypeType)} -// CHECK:STDOUT: inst60000120: {kind: PatternType, arg0: inst6000011F, type: type(TypeType)} -// CHECK:STDOUT: inst60000121: {kind: RequireCompleteType, arg0: inst600000F8, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000122: {kind: RequireCompleteType, arg0: inst600000F7, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000123: {kind: LookupImplWitness, arg0: inst600000F6, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000124: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000F6, type: type(TypeType)} -// CHECK:STDOUT: inst60000125: {kind: ImplWitnessAccess, arg0: inst60000123, arg1: element0, type: type(symbolic_constant000000E2)} -// CHECK:STDOUT: inst60000126: {kind: SpecificImplFunction, arg0: inst60000125, arg1: specific00000013, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000127: {kind: RequireCompleteType, arg0: inst6000011F, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000128: {kind: RequireCompleteType, arg0: inst6000011A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000129: {kind: LookupImplWitness, arg0: inst60000119, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000012A: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst60000119, type: type(TypeType)} -// CHECK:STDOUT: inst6000012B: {kind: ImplWitnessAccess, arg0: inst60000129, arg1: element0, type: type(symbolic_constant000000EB)} -// CHECK:STDOUT: inst6000012C: {kind: SpecificImplFunction, arg0: inst6000012B, arg1: specific00000014, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000012D: {kind: RequireCompleteType, arg0: inst6000011C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000012E: {kind: LookupImplWitness, arg0: inst6000011B, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000012F: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000011B, type: type(TypeType)} -// CHECK:STDOUT: inst60000130: {kind: ImplWitnessAccess, arg0: inst6000012E, arg1: element0, type: type(symbolic_constant000000F0)} -// CHECK:STDOUT: inst60000131: {kind: SpecificImplFunction, arg0: inst60000130, arg1: specific00000015, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000132: {kind: RequireCompleteType, arg0: inst6000011E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000133: {kind: LookupImplWitness, arg0: inst6000011D, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000134: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000011D, type: type(TypeType)} -// CHECK:STDOUT: inst60000135: {kind: ImplWitnessAccess, arg0: inst60000133, arg1: element0, type: type(symbolic_constant000000F5)} -// CHECK:STDOUT: inst60000136: {kind: SpecificImplFunction, arg0: inst60000135, arg1: specific00000016, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000137: {kind: PatternType, arg0: inst600000F7, type: type(TypeType)} -// CHECK:STDOUT: inst60000138: {kind: LookupImplWitness, arg0: inst6000001B, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003F: {kind: RequireCompleteType, arg0: inst6000001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000040: {kind: NameRef, arg0: name00000002, arg1: inst6000001E, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000041: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000025)} +// CHECK:STDOUT: inst60000042: {kind: TupleLiteral, arg0: inst_block00000015, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000043: {kind: RequireCompleteType, arg0: inst6000002B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000044: {kind: TupleAccess, arg0: inst60000035, arg1: element0, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000045: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000046: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name00000003, type: type(TypeType)} +// CHECK:STDOUT: inst60000047: {kind: InterfaceDecl, arg0: interface00000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000048: {kind: FacetType, arg0: facet_type00000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000049: {kind: BindSymbolicName, arg0: entity_name00000004, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000004A: {kind: ImportRefUnloaded, arg0: import_ir_inst00000002, arg1: entity_name} +// CHECK:STDOUT: inst6000004B: {kind: ImportRefLoaded, arg0: import_ir_inst00000003, arg1: entity_name, type: type(inst6000004D)} +// CHECK:STDOUT: inst6000004C: {kind: ImportRefUnloaded, arg0: import_ir_inst00000004, arg1: entity_name00000005} +// CHECK:STDOUT: inst6000004D: {kind: AssociatedEntityType, arg0: interface00000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000004E: {kind: ImportRefLoaded, arg0: import_ir_inst00000005, arg1: entity_name, type: type(inst60000051)} +// CHECK:STDOUT: inst6000004F: {kind: AssociatedEntity, arg0: element0, arg1: inst6000004E, type: type(inst6000004D)} +// CHECK:STDOUT: inst60000050: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst60000051)} +// CHECK:STDOUT: inst60000051: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000052: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000051)} +// CHECK:STDOUT: inst60000053: {kind: SymbolicBindingType, arg0: entity_name00000004, arg1: inst60000049, type: type(TypeType)} +// CHECK:STDOUT: inst60000054: {kind: PatternType, arg0: inst60000053, type: type(TypeType)} +// CHECK:STDOUT: inst60000055: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant00000013)} +// CHECK:STDOUT: inst60000056: {kind: OutParamPattern, arg0: inst60000055, arg1: call_param1, type: type(symbolic_constant00000013)} +// CHECK:STDOUT: inst60000057: {kind: BindingPattern, arg0: entity_name00000008, type: type(symbolic_constant00000013)} +// CHECK:STDOUT: inst60000058: {kind: ValueParamPattern, arg0: inst60000057, arg1: call_param0, type: type(symbolic_constant00000013)} +// CHECK:STDOUT: inst60000059: {kind: ImportRefLoaded, arg0: import_ir_inst0000000B, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst6000005A: {kind: BindSymbolicName, arg0: entity_name00000004, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000005B: {kind: SymbolicBindingType, arg0: entity_name00000004, arg1: inst6000005A, type: type(TypeType)} +// CHECK:STDOUT: inst6000005C: {kind: PatternType, arg0: inst6000005B, type: type(TypeType)} +// CHECK:STDOUT: inst6000005D: {kind: LookupImplWitness, arg0: inst6000001C, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000005E: {kind: ImportRefUnloaded, arg0: import_ir_inst0000000F, arg1: entity_name} +// CHECK:STDOUT: inst6000005F: {kind: ImplDecl, arg0: impl60000000, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000060: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000061: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst60000060, type: type(TypeType)} +// CHECK:STDOUT: inst60000062: {kind: ConstType, arg0: inst60000061, type: type(TypeType)} +// CHECK:STDOUT: inst60000063: {kind: PatternType, arg0: inst60000048, type: type(TypeType)} +// CHECK:STDOUT: inst60000064: {kind: SymbolicBindingPattern, arg0: entity_name0000000D, type: type(inst60000063)} +// CHECK:STDOUT: inst60000065: {kind: ImportRefLoaded, arg0: import_ir_inst00000012, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000066: {kind: ImportRefLoaded, arg0: import_ir_inst00000013, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000067: {kind: ImportRefLoaded, arg0: import_ir_inst00000014, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000068: {kind: ImportRefUnloaded, arg0: import_ir_inst00000015, arg1: entity_name} +// CHECK:STDOUT: inst60000069: {kind: ImplWitnessTable, arg0: inst_block0000001E, arg1: impl60000000} +// CHECK:STDOUT: inst6000006A: {kind: ImplWitness, arg0: inst60000069, arg1: specific00000002, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000006B: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000006C: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst6000006B, type: type(TypeType)} +// CHECK:STDOUT: inst6000006D: {kind: ConstType, arg0: inst6000006C, type: type(TypeType)} +// CHECK:STDOUT: inst6000006E: {kind: ImplWitness, arg0: inst60000069, arg1: specific00000003, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000006F: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant00000026)} +// CHECK:STDOUT: inst60000070: {kind: FunctionType, arg0: function60000002, arg1: specific00000002, type: type(TypeType)} +// CHECK:STDOUT: inst60000071: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000026)} +// CHECK:STDOUT: inst60000072: {kind: PatternType, arg0: inst60000062, type: type(TypeType)} +// CHECK:STDOUT: inst60000073: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant0000002B)} +// CHECK:STDOUT: inst60000074: {kind: OutParamPattern, arg0: inst60000073, arg1: call_param1, type: type(symbolic_constant0000002B)} +// CHECK:STDOUT: inst60000075: {kind: BindingPattern, arg0: entity_name00000011, type: type(symbolic_constant0000002B)} +// CHECK:STDOUT: inst60000076: {kind: ValueParamPattern, arg0: inst60000075, arg1: call_param0, type: type(symbolic_constant0000002B)} +// CHECK:STDOUT: inst60000077: {kind: ImportRefLoaded, arg0: import_ir_inst00000020, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000078: {kind: FunctionType, arg0: function60000002, arg1: specific00000003, type: type(TypeType)} +// CHECK:STDOUT: inst60000079: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant0000002D)} +// CHECK:STDOUT: inst6000007A: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000007B: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst6000007A, type: type(TypeType)} +// CHECK:STDOUT: inst6000007C: {kind: ConstType, arg0: inst6000007B, type: type(TypeType)} +// CHECK:STDOUT: inst6000007D: {kind: PatternType, arg0: inst6000007C, type: type(TypeType)} +// CHECK:STDOUT: inst6000007E: {kind: RequireCompleteType, arg0: inst60000062, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000007F: {kind: RequireCompleteType, arg0: inst60000061, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000080: {kind: LookupImplWitness, arg0: inst60000060, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000081: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst60000060, type: type(TypeType)} +// CHECK:STDOUT: inst60000082: {kind: ImplWitnessAccess, arg0: inst60000080, arg1: element0, type: type(symbolic_constant0000003C)} +// CHECK:STDOUT: inst60000083: {kind: SpecificImplFunction, arg0: inst60000082, arg1: specific00000005, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000084: {kind: RequireCompleteType, arg0: inst6000007C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000085: {kind: RequireCompleteType, arg0: inst6000007B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000086: {kind: LookupImplWitness, arg0: inst6000007A, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000087: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000007A, type: type(TypeType)} +// CHECK:STDOUT: inst60000088: {kind: ImplWitnessAccess, arg0: inst60000086, arg1: element0, type: type(symbolic_constant00000045)} +// CHECK:STDOUT: inst60000089: {kind: SpecificImplFunction, arg0: inst60000088, arg1: specific00000006, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000008A: {kind: PatternType, arg0: inst60000061, type: type(TypeType)} +// CHECK:STDOUT: inst6000008B: {kind: ImportRefUnloaded, arg0: import_ir_inst0000002D, arg1: entity_name} +// CHECK:STDOUT: inst6000008C: {kind: ImplDecl, arg0: impl60000001, arg1: inst_block_empty} +// CHECK:STDOUT: inst6000008D: {kind: ImportRefLoaded, arg0: import_ir_inst0000002F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000008E: {kind: ImportRefLoaded, arg0: import_ir_inst00000030, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000008F: {kind: ImportRefUnloaded, arg0: import_ir_inst00000031, arg1: entity_name} +// CHECK:STDOUT: inst60000090: {kind: ImplDecl, arg0: impl60000002, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000091: {kind: ImportRefLoaded, arg0: import_ir_inst00000033, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000092: {kind: ImportRefLoaded, arg0: import_ir_inst00000034, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000093: {kind: ImportRefUnloaded, arg0: import_ir_inst00000035, arg1: entity_name} +// CHECK:STDOUT: inst60000094: {kind: ImplDecl, arg0: impl60000003, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000095: {kind: ImportRefLoaded, arg0: import_ir_inst00000037, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000096: {kind: ImportRefLoaded, arg0: import_ir_inst00000038, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000097: {kind: ImportRefUnloaded, arg0: import_ir_inst00000039, arg1: entity_name} +// CHECK:STDOUT: inst60000098: {kind: ImplDecl, arg0: impl60000004, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000099: {kind: ImportRefLoaded, arg0: import_ir_inst0000003B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009A: {kind: ImportRefLoaded, arg0: import_ir_inst0000003C, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009B: {kind: ImportRefLoaded, arg0: import_ir_inst0000003D, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000009C: {kind: ImplDecl, arg0: impl60000005, arg1: inst_block_empty} +// CHECK:STDOUT: inst6000009D: {kind: SymbolicBindingPattern, arg0: entity_name00000015, type: type(inst60000018)} +// CHECK:STDOUT: inst6000009E: {kind: ImportRefLoaded, arg0: import_ir_inst00000040, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009F: {kind: ImportRefLoaded, arg0: import_ir_inst00000041, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000A0: {kind: ImportRefLoaded, arg0: import_ir_inst00000042, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000A1: {kind: ImportRefUnloaded, arg0: import_ir_inst00000043, arg1: entity_name} +// CHECK:STDOUT: inst600000A2: {kind: ImplWitnessTable, arg0: inst_block0000002F, arg1: impl60000005} +// CHECK:STDOUT: inst600000A3: {kind: ImplWitness, arg0: inst600000A2, arg1: specific00000007, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000A4: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst600000A5: {kind: PointerType, arg0: inst600000A4, type: type(TypeType)} +// CHECK:STDOUT: inst600000A6: {kind: ImplWitness, arg0: inst600000A2, arg1: specific00000008, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000A7: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant00000051)} +// CHECK:STDOUT: inst600000A8: {kind: FunctionType, arg0: function60000003, arg1: specific00000007, type: type(TypeType)} +// CHECK:STDOUT: inst600000A9: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000051)} +// CHECK:STDOUT: inst600000AA: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant00000055)} +// CHECK:STDOUT: inst600000AB: {kind: OutParamPattern, arg0: inst600000AA, arg1: call_param1, type: type(symbolic_constant00000055)} +// CHECK:STDOUT: inst600000AC: {kind: BindingPattern, arg0: entity_name00000018, type: type(symbolic_constant00000055)} +// CHECK:STDOUT: inst600000AD: {kind: ValueParamPattern, arg0: inst600000AC, arg1: call_param0, type: type(symbolic_constant00000055)} +// CHECK:STDOUT: inst600000AE: {kind: ImportRefLoaded, arg0: import_ir_inst0000004D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000AF: {kind: FunctionType, arg0: function60000003, arg1: specific00000008, type: type(TypeType)} +// CHECK:STDOUT: inst600000B0: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000058)} +// CHECK:STDOUT: inst600000B1: {kind: RequireCompleteType, arg0: inst600000A5, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000B2: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst600000B3: {kind: PointerType, arg0: inst600000B2, type: type(TypeType)} +// CHECK:STDOUT: inst600000B4: {kind: PatternType, arg0: inst600000B3, type: type(TypeType)} +// CHECK:STDOUT: inst600000B5: {kind: ImportRefUnloaded, arg0: import_ir_inst00000054, arg1: entity_name} +// CHECK:STDOUT: inst600000B6: {kind: ImplDecl, arg0: impl60000006, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000B7: {kind: ImportRefLoaded, arg0: import_ir_inst00000056, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B8: {kind: ImportRefLoaded, arg0: import_ir_inst00000057, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B9: {kind: ImportRefUnloaded, arg0: import_ir_inst00000058, arg1: entity_name} +// CHECK:STDOUT: inst600000BA: {kind: ImplDecl, arg0: impl60000007, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000BB: {kind: ImportRefLoaded, arg0: import_ir_inst0000005A, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BC: {kind: ImportRefLoaded, arg0: import_ir_inst0000005B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BD: {kind: ImportRefUnloaded, arg0: import_ir_inst0000005C, arg1: entity_name} +// CHECK:STDOUT: inst600000BE: {kind: ImplDecl, arg0: impl60000008, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000BF: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000C0: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst600000BF, type: type(TypeType)} +// CHECK:STDOUT: inst600000C1: {kind: TupleType, arg0: inst_block00000039, type: type(TypeType)} +// CHECK:STDOUT: inst600000C2: {kind: SymbolicBindingPattern, arg0: entity_name0000001C, type: type(inst60000063)} +// CHECK:STDOUT: inst600000C3: {kind: SymbolicBindingPattern, arg0: entity_name0000001D, type: type(inst60000063)} +// CHECK:STDOUT: inst600000C4: {kind: ImportRefLoaded, arg0: import_ir_inst00000060, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000C5: {kind: ImportRefLoaded, arg0: import_ir_inst00000061, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000C6: {kind: ImportRefLoaded, arg0: import_ir_inst00000062, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000C7: {kind: ImportRefLoaded, arg0: import_ir_inst00000063, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000C8: {kind: ImportRefUnloaded, arg0: import_ir_inst00000064, arg1: entity_name} +// CHECK:STDOUT: inst600000C9: {kind: ImplWitnessTable, arg0: inst_block0000003C, arg1: impl60000008} +// CHECK:STDOUT: inst600000CA: {kind: ImplWitness, arg0: inst600000C9, arg1: specific0000000A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000CB: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000CC: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000CD: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst600000CB, type: type(TypeType)} +// CHECK:STDOUT: inst600000CE: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst600000CC, type: type(TypeType)} +// CHECK:STDOUT: inst600000CF: {kind: TupleType, arg0: inst_block0000003E, type: type(TypeType)} +// CHECK:STDOUT: inst600000D0: {kind: ImplWitness, arg0: inst600000C9, arg1: specific0000000B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000D1: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant00000072)} +// CHECK:STDOUT: inst600000D2: {kind: FunctionType, arg0: function60000004, arg1: specific0000000A, type: type(TypeType)} +// CHECK:STDOUT: inst600000D3: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000072)} +// CHECK:STDOUT: inst600000D4: {kind: PatternType, arg0: inst600000C1, type: type(TypeType)} +// CHECK:STDOUT: inst600000D5: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant00000077)} +// CHECK:STDOUT: inst600000D6: {kind: OutParamPattern, arg0: inst600000D5, arg1: call_param1, type: type(symbolic_constant00000077)} +// CHECK:STDOUT: inst600000D7: {kind: BindingPattern, arg0: entity_name00000024, type: type(symbolic_constant00000077)} +// CHECK:STDOUT: inst600000D8: {kind: ValueParamPattern, arg0: inst600000D7, arg1: call_param0, type: type(symbolic_constant00000077)} +// CHECK:STDOUT: inst600000D9: {kind: ImportRefLoaded, arg0: import_ir_inst00000071, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000DA: {kind: ImportRefLoaded, arg0: import_ir_inst00000072, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000DB: {kind: FunctionType, arg0: function60000004, arg1: specific0000000B, type: type(TypeType)} +// CHECK:STDOUT: inst600000DC: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant00000079)} +// CHECK:STDOUT: inst600000DD: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000DE: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst600000DD, type: type(TypeType)} +// CHECK:STDOUT: inst600000DF: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000E0: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst600000DF, type: type(TypeType)} +// CHECK:STDOUT: inst600000E1: {kind: TupleType, arg0: inst_block00000046, type: type(TypeType)} +// CHECK:STDOUT: inst600000E2: {kind: PatternType, arg0: inst600000E1, type: type(TypeType)} +// CHECK:STDOUT: inst600000E3: {kind: RequireCompleteType, arg0: inst600000C1, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E4: {kind: RequireCompleteType, arg0: inst600000C0, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E5: {kind: LookupImplWitness, arg0: inst600000BF, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E6: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000BF, type: type(TypeType)} +// CHECK:STDOUT: inst600000E7: {kind: ImplWitnessAccess, arg0: inst600000E5, arg1: element0, type: type(symbolic_constant00000091)} +// CHECK:STDOUT: inst600000E8: {kind: SpecificImplFunction, arg0: inst600000E7, arg1: specific0000000D, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000E9: {kind: RequireCompleteType, arg0: inst600000E1, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000EA: {kind: RequireCompleteType, arg0: inst600000DE, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000EB: {kind: LookupImplWitness, arg0: inst600000DD, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000EC: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000DD, type: type(TypeType)} +// CHECK:STDOUT: inst600000ED: {kind: ImplWitnessAccess, arg0: inst600000EB, arg1: element0, type: type(symbolic_constant0000009A)} +// CHECK:STDOUT: inst600000EE: {kind: SpecificImplFunction, arg0: inst600000ED, arg1: specific0000000E, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000EF: {kind: RequireCompleteType, arg0: inst600000E0, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000F0: {kind: LookupImplWitness, arg0: inst600000DF, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000F1: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000DF, type: type(TypeType)} +// CHECK:STDOUT: inst600000F2: {kind: ImplWitnessAccess, arg0: inst600000F0, arg1: element0, type: type(symbolic_constant0000009F)} +// CHECK:STDOUT: inst600000F3: {kind: SpecificImplFunction, arg0: inst600000F2, arg1: specific0000000F, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000F4: {kind: PatternType, arg0: inst600000C0, type: type(TypeType)} +// CHECK:STDOUT: inst600000F5: {kind: ImportRefUnloaded, arg0: import_ir_inst00000086, arg1: entity_name} +// CHECK:STDOUT: inst600000F6: {kind: ImplDecl, arg0: impl60000009, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000F7: {kind: BindSymbolicName, arg0: entity_name00000029, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000F8: {kind: SymbolicBindingType, arg0: entity_name00000029, arg1: inst600000F7, type: type(TypeType)} +// CHECK:STDOUT: inst600000F9: {kind: TupleType, arg0: inst_block0000004F, type: type(TypeType)} +// CHECK:STDOUT: inst600000FA: {kind: SymbolicBindingPattern, arg0: entity_name0000002B, type: type(inst60000063)} +// CHECK:STDOUT: inst600000FB: {kind: SymbolicBindingPattern, arg0: entity_name0000002C, type: type(inst60000063)} +// CHECK:STDOUT: inst600000FC: {kind: SymbolicBindingPattern, arg0: entity_name0000002D, type: type(inst60000063)} +// CHECK:STDOUT: inst600000FD: {kind: ImportRefLoaded, arg0: import_ir_inst0000008B, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000FE: {kind: ImportRefLoaded, arg0: import_ir_inst0000008C, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000FF: {kind: ImportRefLoaded, arg0: import_ir_inst0000008D, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000100: {kind: ImportRefLoaded, arg0: import_ir_inst0000008E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000101: {kind: ImportRefLoaded, arg0: import_ir_inst0000008F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000102: {kind: ImportRefUnloaded, arg0: import_ir_inst00000090, arg1: entity_name} +// CHECK:STDOUT: inst60000103: {kind: ImplWitnessTable, arg0: inst_block00000052, arg1: impl60000009} +// CHECK:STDOUT: inst60000104: {kind: ImplWitness, arg0: inst60000103, arg1: specific00000010, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000105: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000106: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000107: {kind: BindSymbolicName, arg0: entity_name00000029, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000108: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst60000105, type: type(TypeType)} +// CHECK:STDOUT: inst60000109: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst60000106, type: type(TypeType)} +// CHECK:STDOUT: inst6000010A: {kind: SymbolicBindingType, arg0: entity_name00000029, arg1: inst60000107, type: type(TypeType)} +// CHECK:STDOUT: inst6000010B: {kind: TupleType, arg0: inst_block00000054, type: type(TypeType)} +// CHECK:STDOUT: inst6000010C: {kind: ImplWitness, arg0: inst60000103, arg1: specific00000011, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000010D: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant000000BA)} +// CHECK:STDOUT: inst6000010E: {kind: FunctionType, arg0: function60000005, arg1: specific00000010, type: type(TypeType)} +// CHECK:STDOUT: inst6000010F: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant000000BA)} +// CHECK:STDOUT: inst60000110: {kind: PatternType, arg0: inst600000F9, type: type(TypeType)} +// CHECK:STDOUT: inst60000111: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant000000BF)} +// CHECK:STDOUT: inst60000112: {kind: OutParamPattern, arg0: inst60000111, arg1: call_param1, type: type(symbolic_constant000000BF)} +// CHECK:STDOUT: inst60000113: {kind: BindingPattern, arg0: entity_name00000037, type: type(symbolic_constant000000BF)} +// CHECK:STDOUT: inst60000114: {kind: ValueParamPattern, arg0: inst60000113, arg1: call_param0, type: type(symbolic_constant000000BF)} +// CHECK:STDOUT: inst60000115: {kind: ImportRefLoaded, arg0: import_ir_inst0000009F, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000116: {kind: ImportRefLoaded, arg0: import_ir_inst000000A0, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000117: {kind: ImportRefLoaded, arg0: import_ir_inst000000A1, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000118: {kind: FunctionType, arg0: function60000005, arg1: specific00000011, type: type(TypeType)} +// CHECK:STDOUT: inst60000119: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant000000C1)} +// CHECK:STDOUT: inst6000011A: {kind: BindSymbolicName, arg0: entity_name00000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000011B: {kind: SymbolicBindingType, arg0: entity_name00000001, arg1: inst6000011A, type: type(TypeType)} +// CHECK:STDOUT: inst6000011C: {kind: BindSymbolicName, arg0: entity_name0000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000011D: {kind: SymbolicBindingType, arg0: entity_name0000001A, arg1: inst6000011C, type: type(TypeType)} +// CHECK:STDOUT: inst6000011E: {kind: BindSymbolicName, arg0: entity_name00000029, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000011F: {kind: SymbolicBindingType, arg0: entity_name00000029, arg1: inst6000011E, type: type(TypeType)} +// CHECK:STDOUT: inst60000120: {kind: TupleType, arg0: inst_block0000005C, type: type(TypeType)} +// CHECK:STDOUT: inst60000121: {kind: PatternType, arg0: inst60000120, type: type(TypeType)} +// CHECK:STDOUT: inst60000122: {kind: RequireCompleteType, arg0: inst600000F9, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000123: {kind: RequireCompleteType, arg0: inst600000F8, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000124: {kind: LookupImplWitness, arg0: inst600000F7, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000125: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000F7, type: type(TypeType)} +// CHECK:STDOUT: inst60000126: {kind: ImplWitnessAccess, arg0: inst60000124, arg1: element0, type: type(symbolic_constant000000E2)} +// CHECK:STDOUT: inst60000127: {kind: SpecificImplFunction, arg0: inst60000126, arg1: specific00000013, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000128: {kind: RequireCompleteType, arg0: inst60000120, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000129: {kind: RequireCompleteType, arg0: inst6000011B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000012A: {kind: LookupImplWitness, arg0: inst6000011A, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000012B: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000011A, type: type(TypeType)} +// CHECK:STDOUT: inst6000012C: {kind: ImplWitnessAccess, arg0: inst6000012A, arg1: element0, type: type(symbolic_constant000000EB)} +// CHECK:STDOUT: inst6000012D: {kind: SpecificImplFunction, arg0: inst6000012C, arg1: specific00000014, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000012E: {kind: RequireCompleteType, arg0: inst6000011D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000012F: {kind: LookupImplWitness, arg0: inst6000011C, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000130: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000011C, type: type(TypeType)} +// CHECK:STDOUT: inst60000131: {kind: ImplWitnessAccess, arg0: inst6000012F, arg1: element0, type: type(symbolic_constant000000F0)} +// CHECK:STDOUT: inst60000132: {kind: SpecificImplFunction, arg0: inst60000131, arg1: specific00000015, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000133: {kind: RequireCompleteType, arg0: inst6000011F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000134: {kind: LookupImplWitness, arg0: inst6000011E, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000135: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000011E, type: type(TypeType)} +// CHECK:STDOUT: inst60000136: {kind: ImplWitnessAccess, arg0: inst60000134, arg1: element0, type: type(symbolic_constant000000F5)} +// CHECK:STDOUT: inst60000137: {kind: SpecificImplFunction, arg0: inst60000136, arg1: specific00000016, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000138: {kind: PatternType, arg0: inst600000F8, type: type(TypeType)} // CHECK:STDOUT: inst60000139: {kind: LookupImplWitness, arg0: inst6000001C, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000013A: {kind: FacetValue, arg0: inst6000001B, arg1: inst_block00000067, type: type(inst60000047)} -// CHECK:STDOUT: inst6000013B: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000013A, type: type(TypeType)} -// CHECK:STDOUT: inst6000013C: {kind: ImplWitnessAccess, arg0: inst60000138, arg1: element0, type: type(symbolic_constant00000100)} -// CHECK:STDOUT: inst6000013D: {kind: ImplWitnessAccess, arg0: inst60000138, arg1: element0, type: type(symbolic_constant000000FD)} -// CHECK:STDOUT: inst6000013E: {kind: FacetValue, arg0: inst6000001C, arg1: inst_block00000068, type: type(inst60000047)} -// CHECK:STDOUT: inst6000013F: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000013E, type: type(TypeType)} -// CHECK:STDOUT: inst60000140: {kind: ImplWitnessAccess, arg0: inst60000139, arg1: element0, type: type(symbolic_constant00000100)} -// CHECK:STDOUT: inst60000141: {kind: BoundMethod, arg0: inst6000003F, arg1: inst6000013C, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst60000142: {kind: SpecificImplFunction, arg0: inst6000013C, arg1: specific00000017, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000013A: {kind: LookupImplWitness, arg0: inst6000001D, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000013B: {kind: FacetValue, arg0: inst6000001C, arg1: inst_block00000067, type: type(inst60000048)} +// CHECK:STDOUT: inst6000013C: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000013B, type: type(TypeType)} +// CHECK:STDOUT: inst6000013D: {kind: ImplWitnessAccess, arg0: inst60000139, arg1: element0, type: type(symbolic_constant00000100)} +// CHECK:STDOUT: inst6000013E: {kind: ImplWitnessAccess, arg0: inst60000139, arg1: element0, type: type(symbolic_constant000000FD)} +// CHECK:STDOUT: inst6000013F: {kind: FacetValue, arg0: inst6000001D, arg1: inst_block00000068, type: type(inst60000048)} +// CHECK:STDOUT: inst60000140: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000013F, type: type(TypeType)} +// CHECK:STDOUT: inst60000141: {kind: ImplWitnessAccess, arg0: inst6000013A, arg1: element0, type: type(symbolic_constant00000100)} +// CHECK:STDOUT: inst60000142: {kind: BoundMethod, arg0: inst60000040, arg1: inst6000013D, type: type(inst(BoundMethodType))} // CHECK:STDOUT: inst60000143: {kind: SpecificImplFunction, arg0: inst6000013D, arg1: specific00000017, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000144: {kind: SpecificImplFunction, arg0: inst60000140, arg1: specific00000018, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000145: {kind: BoundMethod, arg0: inst6000003F, arg1: inst60000142, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst60000146: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000147: {kind: Call, arg0: inst60000145, arg1: inst_block0000006C, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000148: {kind: InitializeFrom, arg0: inst60000147, arg1: inst60000043, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000149: {kind: TupleAccess, arg0: inst60000034, arg1: element1, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014A: {kind: TupleInit, arg0: inst_block_empty, arg1: inst60000149, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014B: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014C: {kind: Converted, arg0: inst60000040, arg1: inst6000014A, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014D: {kind: TupleInit, arg0: inst_block0000006D, arg1: inst60000034, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst6000014E: {kind: Converted, arg0: inst60000041, arg1: inst6000014D, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst6000014F: {kind: ReturnExpr, arg0: inst6000014E, arg1: inst60000034} +// CHECK:STDOUT: inst60000144: {kind: SpecificImplFunction, arg0: inst6000013E, arg1: specific00000017, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000145: {kind: SpecificImplFunction, arg0: inst60000141, arg1: specific00000018, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000146: {kind: BoundMethod, arg0: inst60000040, arg1: inst60000143, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst60000147: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000148: {kind: Call, arg0: inst60000146, arg1: inst_block0000006C, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000149: {kind: InitializeFrom, arg0: inst60000148, arg1: inst60000044, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst6000014A: {kind: TupleAccess, arg0: inst60000035, arg1: element1, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014B: {kind: TupleInit, arg0: inst_block_empty, arg1: inst6000014A, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014C: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014D: {kind: Converted, arg0: inst60000041, arg1: inst6000014B, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014E: {kind: TupleInit, arg0: inst_block0000006D, arg1: inst60000035, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst6000014F: {kind: Converted, arg0: inst60000042, arg1: inst6000014E, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000150: {kind: ReturnExpr, arg0: inst6000014F, arg1: inst60000035} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) -// CHECK:STDOUT: inst60000012: symbolic_constant00000000 +// CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) // CHECK:STDOUT: inst60000013: symbolic_constant00000000 -// CHECK:STDOUT: inst60000014: symbolic_constant00000002 -// CHECK:STDOUT: inst60000015: symbolic_constant00000001 -// CHECK:STDOUT: inst60000016: symbolic_constant00000002 -// CHECK:STDOUT: inst60000017: concrete_constant(inst60000017) +// CHECK:STDOUT: inst60000014: symbolic_constant00000000 +// CHECK:STDOUT: inst60000015: symbolic_constant00000002 +// CHECK:STDOUT: inst60000016: symbolic_constant00000001 +// CHECK:STDOUT: inst60000017: symbolic_constant00000002 // CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst60000019: symbolic_constant00000002 -// CHECK:STDOUT: inst6000001A: symbolic_constant00000004 -// CHECK:STDOUT: inst6000001B: symbolic_constant00000003 -// CHECK:STDOUT: inst6000001C: symbolic_constant00000004 -// CHECK:STDOUT: inst6000001E: symbolic_constant00000005 -// CHECK:STDOUT: inst6000001F: concrete_constant(inst6000001F) -// CHECK:STDOUT: inst60000020: symbolic_constant00000006 -// CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) -// CHECK:STDOUT: inst60000022: symbolic_constant00000002 -// CHECK:STDOUT: inst60000023: symbolic_constant00000004 -// CHECK:STDOUT: inst60000024: concrete_constant(inst60000024) -// CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) -// CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) -// CHECK:STDOUT: inst60000029: concrete_constant(inst60000024) -// CHECK:STDOUT: inst6000002A: symbolic_constant00000007 -// CHECK:STDOUT: inst6000002B: symbolic_constant00000008 +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001A: symbolic_constant00000002 +// CHECK:STDOUT: inst6000001B: symbolic_constant00000004 +// CHECK:STDOUT: inst6000001C: symbolic_constant00000003 +// CHECK:STDOUT: inst6000001D: symbolic_constant00000004 +// CHECK:STDOUT: inst6000001F: symbolic_constant00000005 +// CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) +// CHECK:STDOUT: inst60000021: symbolic_constant00000006 +// CHECK:STDOUT: inst60000022: concrete_constant(inst60000022) +// CHECK:STDOUT: inst60000023: symbolic_constant00000002 +// CHECK:STDOUT: inst60000024: symbolic_constant00000004 +// CHECK:STDOUT: inst60000025: concrete_constant(inst60000025) +// CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) +// CHECK:STDOUT: inst60000029: concrete_constant(inst60000029) +// CHECK:STDOUT: inst6000002A: concrete_constant(inst60000025) +// CHECK:STDOUT: inst6000002B: symbolic_constant00000007 // CHECK:STDOUT: inst6000002C: symbolic_constant00000008 -// CHECK:STDOUT: inst6000002D: symbolic_constant00000009 -// CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002E) -// CHECK:STDOUT: inst6000002F: symbolic_constant0000000A -// CHECK:STDOUT: inst60000030: concrete_constant(inst60000030) -// CHECK:STDOUT: inst60000032: symbolic_constant00000004 -// CHECK:STDOUT: inst60000035: concrete_constant(inst60000037) -// CHECK:STDOUT: inst60000036: concrete_constant(inst60000036) +// CHECK:STDOUT: inst6000002D: symbolic_constant00000008 +// CHECK:STDOUT: inst6000002E: symbolic_constant00000009 +// CHECK:STDOUT: inst6000002F: concrete_constant(inst6000002F) +// CHECK:STDOUT: inst60000030: symbolic_constant0000000A +// CHECK:STDOUT: inst60000031: concrete_constant(inst60000031) +// CHECK:STDOUT: inst60000033: symbolic_constant00000004 +// CHECK:STDOUT: inst60000036: concrete_constant(inst60000038) // CHECK:STDOUT: inst60000037: concrete_constant(inst60000037) -// CHECK:STDOUT: inst60000038: symbolic_constant0000000B -// CHECK:STDOUT: inst60000039: symbolic_constant0000000D -// CHECK:STDOUT: inst6000003A: symbolic_constant0000000C -// CHECK:STDOUT: inst6000003B: symbolic_constant0000000D -// CHECK:STDOUT: inst6000003C: symbolic_constant0000000F -// CHECK:STDOUT: inst6000003D: symbolic_constant0000000E -// CHECK:STDOUT: inst6000003E: symbolic_constant0000000F -// CHECK:STDOUT: inst60000042: symbolic_constant0000000D -// CHECK:STDOUT: inst60000044: symbolic_constant0000000F -// CHECK:STDOUT: inst60000045: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000046: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000047: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000048: symbolic_constant00000010 -// CHECK:STDOUT: inst60000049: constant -// CHECK:STDOUT: inst6000004A: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004B: constant -// CHECK:STDOUT: inst6000004C: concrete_constant(inst6000004C) -// CHECK:STDOUT: inst6000004D: concrete_constant(inst60000051) -// CHECK:STDOUT: inst6000004E: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004F: concrete_constant(inst60000051) -// CHECK:STDOUT: inst60000050: concrete_constant(inst60000050) +// CHECK:STDOUT: inst60000038: concrete_constant(inst60000038) +// CHECK:STDOUT: inst60000039: symbolic_constant0000000B +// CHECK:STDOUT: inst6000003A: symbolic_constant0000000D +// CHECK:STDOUT: inst6000003B: symbolic_constant0000000C +// CHECK:STDOUT: inst6000003C: symbolic_constant0000000D +// CHECK:STDOUT: inst6000003D: symbolic_constant0000000F +// CHECK:STDOUT: inst6000003E: symbolic_constant0000000E +// CHECK:STDOUT: inst6000003F: symbolic_constant0000000F +// CHECK:STDOUT: inst60000043: symbolic_constant0000000D +// CHECK:STDOUT: inst60000045: symbolic_constant0000000F +// CHECK:STDOUT: inst60000046: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000047: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000048: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000049: symbolic_constant00000010 +// CHECK:STDOUT: inst6000004A: constant +// CHECK:STDOUT: inst6000004B: concrete_constant(inst6000004F) +// CHECK:STDOUT: inst6000004C: constant +// CHECK:STDOUT: inst6000004D: concrete_constant(inst6000004D) +// CHECK:STDOUT: inst6000004E: concrete_constant(inst60000052) +// CHECK:STDOUT: inst6000004F: concrete_constant(inst6000004F) +// CHECK:STDOUT: inst60000050: concrete_constant(inst60000052) // CHECK:STDOUT: inst60000051: concrete_constant(inst60000051) -// CHECK:STDOUT: inst60000052: symbolic_constant00000011 -// CHECK:STDOUT: inst60000053: symbolic_constant00000012 -// CHECK:STDOUT: inst60000054: concrete_constant(inst60000054) +// CHECK:STDOUT: inst60000052: concrete_constant(inst60000052) +// CHECK:STDOUT: inst60000053: symbolic_constant00000011 +// CHECK:STDOUT: inst60000054: symbolic_constant00000012 // CHECK:STDOUT: inst60000055: concrete_constant(inst60000055) // CHECK:STDOUT: inst60000056: concrete_constant(inst60000056) // CHECK:STDOUT: inst60000057: concrete_constant(inst60000057) -// CHECK:STDOUT: inst60000058: symbolic_constant00000010 -// CHECK:STDOUT: inst60000059: symbolic_constant00000016 -// CHECK:STDOUT: inst6000005A: symbolic_constant00000017 -// CHECK:STDOUT: inst6000005B: symbolic_constant00000018 -// CHECK:STDOUT: inst6000005C: symbolic_constant000000FB -// CHECK:STDOUT: inst6000005D: constant -// CHECK:STDOUT: inst6000005E: concrete_constant(inst6000005E) -// CHECK:STDOUT: inst6000005F: symbolic_constant00000019 -// CHECK:STDOUT: inst60000060: symbolic_constant0000001A -// CHECK:STDOUT: inst60000061: symbolic_constant0000001B -// CHECK:STDOUT: inst60000062: concrete_constant(inst60000062) +// CHECK:STDOUT: inst60000058: concrete_constant(inst60000058) +// CHECK:STDOUT: inst60000059: symbolic_constant00000010 +// CHECK:STDOUT: inst6000005A: symbolic_constant00000016 +// CHECK:STDOUT: inst6000005B: symbolic_constant00000017 +// CHECK:STDOUT: inst6000005C: symbolic_constant00000018 +// CHECK:STDOUT: inst6000005D: symbolic_constant000000FB +// CHECK:STDOUT: inst6000005E: constant +// CHECK:STDOUT: inst6000005F: concrete_constant(inst6000005F) +// CHECK:STDOUT: inst60000060: symbolic_constant00000019 +// CHECK:STDOUT: inst60000061: symbolic_constant0000001A +// CHECK:STDOUT: inst60000062: symbolic_constant0000001B // CHECK:STDOUT: inst60000063: concrete_constant(inst60000063) -// CHECK:STDOUT: inst60000064: symbolic_constant0000001D -// CHECK:STDOUT: inst60000065: symbolic_constant0000001C -// CHECK:STDOUT: inst60000066: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000067: constant -// CHECK:STDOUT: inst60000068: concrete_constant(inst60000068) -// CHECK:STDOUT: inst60000069: symbolic_constant00000020 -// CHECK:STDOUT: inst6000006A: symbolic_constant00000022 -// CHECK:STDOUT: inst6000006B: symbolic_constant00000023 -// CHECK:STDOUT: inst6000006C: symbolic_constant00000024 -// CHECK:STDOUT: inst6000006D: symbolic_constant00000025 -// CHECK:STDOUT: inst6000006E: symbolic_constant00000028 -// CHECK:STDOUT: inst6000006F: symbolic_constant00000026 -// CHECK:STDOUT: inst60000070: symbolic_constant00000027 -// CHECK:STDOUT: inst60000071: symbolic_constant0000002A -// CHECK:STDOUT: inst60000072: concrete_constant(inst60000072) +// CHECK:STDOUT: inst60000064: concrete_constant(inst60000064) +// CHECK:STDOUT: inst60000065: symbolic_constant0000001D +// CHECK:STDOUT: inst60000066: symbolic_constant0000001C +// CHECK:STDOUT: inst60000067: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000068: constant +// CHECK:STDOUT: inst60000069: concrete_constant(inst60000069) +// CHECK:STDOUT: inst6000006A: symbolic_constant00000020 +// CHECK:STDOUT: inst6000006B: symbolic_constant00000022 +// CHECK:STDOUT: inst6000006C: symbolic_constant00000023 +// CHECK:STDOUT: inst6000006D: symbolic_constant00000024 +// CHECK:STDOUT: inst6000006E: symbolic_constant00000025 +// CHECK:STDOUT: inst6000006F: symbolic_constant00000028 +// CHECK:STDOUT: inst60000070: symbolic_constant00000026 +// CHECK:STDOUT: inst60000071: symbolic_constant00000027 +// CHECK:STDOUT: inst60000072: symbolic_constant0000002A // CHECK:STDOUT: inst60000073: concrete_constant(inst60000073) // CHECK:STDOUT: inst60000074: concrete_constant(inst60000074) // CHECK:STDOUT: inst60000075: concrete_constant(inst60000075) -// CHECK:STDOUT: inst60000076: symbolic_constant0000001D -// CHECK:STDOUT: inst60000077: symbolic_constant0000002D -// CHECK:STDOUT: inst60000078: symbolic_constant0000002E -// CHECK:STDOUT: inst60000079: symbolic_constant00000032 -// CHECK:STDOUT: inst6000007A: symbolic_constant00000033 -// CHECK:STDOUT: inst6000007B: symbolic_constant00000034 -// CHECK:STDOUT: inst6000007C: symbolic_constant00000035 -// CHECK:STDOUT: inst6000007D: symbolic_constant00000036 -// CHECK:STDOUT: inst6000007E: symbolic_constant00000038 -// CHECK:STDOUT: inst6000007F: symbolic_constant0000003A -// CHECK:STDOUT: inst60000080: symbolic_constant0000003C -// CHECK:STDOUT: inst60000081: symbolic_constant0000003E -// CHECK:STDOUT: inst60000082: symbolic_constant00000040 -// CHECK:STDOUT: inst60000083: symbolic_constant00000042 -// CHECK:STDOUT: inst60000084: symbolic_constant00000043 -// CHECK:STDOUT: inst60000085: symbolic_constant00000044 -// CHECK:STDOUT: inst60000086: symbolic_constant00000045 -// CHECK:STDOUT: inst60000087: symbolic_constant00000046 -// CHECK:STDOUT: inst60000088: symbolic_constant00000047 -// CHECK:STDOUT: inst60000089: symbolic_constant00000048 -// CHECK:STDOUT: inst6000008A: constant -// CHECK:STDOUT: inst6000008B: concrete_constant(inst6000008B) -// CHECK:STDOUT: inst6000008C: concrete_constant(inst(BoolType)) -// CHECK:STDOUT: inst6000008D: concrete_constant(inst60000047) -// CHECK:STDOUT: inst6000008E: constant -// CHECK:STDOUT: inst6000008F: concrete_constant(inst6000008F) -// CHECK:STDOUT: inst60000090: concrete_constant(inst(CharLiteralType)) -// CHECK:STDOUT: inst60000091: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000092: constant -// CHECK:STDOUT: inst60000093: concrete_constant(inst60000093) -// CHECK:STDOUT: inst60000094: concrete_constant(inst(FloatLiteralType)) -// CHECK:STDOUT: inst60000095: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000096: constant -// CHECK:STDOUT: inst60000097: concrete_constant(inst60000097) -// CHECK:STDOUT: inst60000098: concrete_constant(inst(IntLiteralType)) -// CHECK:STDOUT: inst60000099: concrete_constant(inst60000047) -// CHECK:STDOUT: inst6000009A: symbolic_constant000000F9 -// CHECK:STDOUT: inst6000009B: concrete_constant(inst6000009B) +// CHECK:STDOUT: inst60000076: concrete_constant(inst60000076) +// CHECK:STDOUT: inst60000077: symbolic_constant0000001D +// CHECK:STDOUT: inst60000078: symbolic_constant0000002D +// CHECK:STDOUT: inst60000079: symbolic_constant0000002E +// CHECK:STDOUT: inst6000007A: symbolic_constant00000032 +// CHECK:STDOUT: inst6000007B: symbolic_constant00000033 +// CHECK:STDOUT: inst6000007C: symbolic_constant00000034 +// CHECK:STDOUT: inst6000007D: symbolic_constant00000035 +// CHECK:STDOUT: inst6000007E: symbolic_constant00000036 +// CHECK:STDOUT: inst6000007F: symbolic_constant00000038 +// CHECK:STDOUT: inst60000080: symbolic_constant0000003A +// CHECK:STDOUT: inst60000081: symbolic_constant0000003C +// CHECK:STDOUT: inst60000082: symbolic_constant0000003E +// CHECK:STDOUT: inst60000083: symbolic_constant00000040 +// CHECK:STDOUT: inst60000084: symbolic_constant00000042 +// CHECK:STDOUT: inst60000085: symbolic_constant00000043 +// CHECK:STDOUT: inst60000086: symbolic_constant00000044 +// CHECK:STDOUT: inst60000087: symbolic_constant00000045 +// CHECK:STDOUT: inst60000088: symbolic_constant00000046 +// CHECK:STDOUT: inst60000089: symbolic_constant00000047 +// CHECK:STDOUT: inst6000008A: symbolic_constant00000048 +// CHECK:STDOUT: inst6000008B: constant +// CHECK:STDOUT: inst6000008C: concrete_constant(inst6000008C) +// CHECK:STDOUT: inst6000008D: concrete_constant(inst(BoolType)) +// CHECK:STDOUT: inst6000008E: concrete_constant(inst60000048) +// CHECK:STDOUT: inst6000008F: constant +// CHECK:STDOUT: inst60000090: concrete_constant(inst60000090) +// CHECK:STDOUT: inst60000091: concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: inst60000092: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000093: constant +// CHECK:STDOUT: inst60000094: concrete_constant(inst60000094) +// CHECK:STDOUT: inst60000095: concrete_constant(inst(FloatLiteralType)) +// CHECK:STDOUT: inst60000096: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000097: constant +// CHECK:STDOUT: inst60000098: concrete_constant(inst60000098) +// CHECK:STDOUT: inst60000099: concrete_constant(inst(IntLiteralType)) +// CHECK:STDOUT: inst6000009A: concrete_constant(inst60000048) +// CHECK:STDOUT: inst6000009B: symbolic_constant000000F9 // CHECK:STDOUT: inst6000009C: concrete_constant(inst6000009C) -// CHECK:STDOUT: inst6000009D: symbolic_constant0000004A -// CHECK:STDOUT: inst6000009E: symbolic_constant00000049 -// CHECK:STDOUT: inst6000009F: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000A0: constant -// CHECK:STDOUT: inst600000A1: concrete_constant(inst600000A1) -// CHECK:STDOUT: inst600000A2: symbolic_constant0000004C -// CHECK:STDOUT: inst600000A3: symbolic_constant0000004E -// CHECK:STDOUT: inst600000A4: symbolic_constant0000004F -// CHECK:STDOUT: inst600000A5: symbolic_constant00000050 -// CHECK:STDOUT: inst600000A6: symbolic_constant00000053 -// CHECK:STDOUT: inst600000A7: symbolic_constant00000051 -// CHECK:STDOUT: inst600000A8: symbolic_constant00000052 -// CHECK:STDOUT: inst600000A9: concrete_constant(inst600000A9) +// CHECK:STDOUT: inst6000009D: concrete_constant(inst6000009D) +// CHECK:STDOUT: inst6000009E: symbolic_constant0000004A +// CHECK:STDOUT: inst6000009F: symbolic_constant00000049 +// CHECK:STDOUT: inst600000A0: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000A1: constant +// CHECK:STDOUT: inst600000A2: concrete_constant(inst600000A2) +// CHECK:STDOUT: inst600000A3: symbolic_constant0000004C +// CHECK:STDOUT: inst600000A4: symbolic_constant0000004E +// CHECK:STDOUT: inst600000A5: symbolic_constant0000004F +// CHECK:STDOUT: inst600000A6: symbolic_constant00000050 +// CHECK:STDOUT: inst600000A7: symbolic_constant00000053 +// CHECK:STDOUT: inst600000A8: symbolic_constant00000051 +// CHECK:STDOUT: inst600000A9: symbolic_constant00000052 // CHECK:STDOUT: inst600000AA: concrete_constant(inst600000AA) // CHECK:STDOUT: inst600000AB: concrete_constant(inst600000AB) // CHECK:STDOUT: inst600000AC: concrete_constant(inst600000AC) -// CHECK:STDOUT: inst600000AD: symbolic_constant0000004A -// CHECK:STDOUT: inst600000AE: symbolic_constant00000058 -// CHECK:STDOUT: inst600000AF: symbolic_constant00000059 -// CHECK:STDOUT: inst600000B0: symbolic_constant0000005A -// CHECK:STDOUT: inst600000B1: symbolic_constant0000005D -// CHECK:STDOUT: inst600000B2: symbolic_constant0000005E -// CHECK:STDOUT: inst600000B3: symbolic_constant0000005F -// CHECK:STDOUT: inst600000B4: constant -// CHECK:STDOUT: inst600000B5: concrete_constant(inst600000B5) -// CHECK:STDOUT: inst600000B6: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst600000B7: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000B8: constant -// CHECK:STDOUT: inst600000B9: concrete_constant(inst600000B9) -// CHECK:STDOUT: inst600000BA: concrete_constant(inst60000024) -// CHECK:STDOUT: inst600000BB: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000BC: constant -// CHECK:STDOUT: inst600000BD: concrete_constant(inst600000BD) -// CHECK:STDOUT: inst600000BE: symbolic_constant00000060 -// CHECK:STDOUT: inst600000BF: symbolic_constant00000061 -// CHECK:STDOUT: inst600000C0: symbolic_constant00000062 -// CHECK:STDOUT: inst600000C1: concrete_constant(inst600000C1) +// CHECK:STDOUT: inst600000AD: concrete_constant(inst600000AD) +// CHECK:STDOUT: inst600000AE: symbolic_constant0000004A +// CHECK:STDOUT: inst600000AF: symbolic_constant00000058 +// CHECK:STDOUT: inst600000B0: symbolic_constant00000059 +// CHECK:STDOUT: inst600000B1: symbolic_constant0000005A +// CHECK:STDOUT: inst600000B2: symbolic_constant0000005D +// CHECK:STDOUT: inst600000B3: symbolic_constant0000005E +// CHECK:STDOUT: inst600000B4: symbolic_constant0000005F +// CHECK:STDOUT: inst600000B5: constant +// CHECK:STDOUT: inst600000B6: concrete_constant(inst600000B6) +// CHECK:STDOUT: inst600000B7: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst600000B8: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000B9: constant +// CHECK:STDOUT: inst600000BA: concrete_constant(inst600000BA) +// CHECK:STDOUT: inst600000BB: concrete_constant(inst60000025) +// CHECK:STDOUT: inst600000BC: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000BD: constant +// CHECK:STDOUT: inst600000BE: concrete_constant(inst600000BE) +// CHECK:STDOUT: inst600000BF: symbolic_constant00000060 +// CHECK:STDOUT: inst600000C0: symbolic_constant00000061 +// CHECK:STDOUT: inst600000C1: symbolic_constant00000062 // CHECK:STDOUT: inst600000C2: concrete_constant(inst600000C2) -// CHECK:STDOUT: inst600000C3: symbolic_constant00000064 -// CHECK:STDOUT: inst600000C4: symbolic_constant00000065 -// CHECK:STDOUT: inst600000C5: symbolic_constant00000063 -// CHECK:STDOUT: inst600000C6: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000C7: constant -// CHECK:STDOUT: inst600000C8: concrete_constant(inst600000C8) -// CHECK:STDOUT: inst600000C9: symbolic_constant0000006A -// CHECK:STDOUT: inst600000CA: symbolic_constant0000006C -// CHECK:STDOUT: inst600000CB: symbolic_constant0000006D -// CHECK:STDOUT: inst600000CC: symbolic_constant0000006E -// CHECK:STDOUT: inst600000CD: symbolic_constant0000006F -// CHECK:STDOUT: inst600000CE: symbolic_constant00000070 -// CHECK:STDOUT: inst600000CF: symbolic_constant00000071 -// CHECK:STDOUT: inst600000D0: symbolic_constant00000074 -// CHECK:STDOUT: inst600000D1: symbolic_constant00000072 -// CHECK:STDOUT: inst600000D2: symbolic_constant00000073 -// CHECK:STDOUT: inst600000D3: symbolic_constant00000076 -// CHECK:STDOUT: inst600000D4: concrete_constant(inst600000D4) +// CHECK:STDOUT: inst600000C3: concrete_constant(inst600000C3) +// CHECK:STDOUT: inst600000C4: symbolic_constant00000064 +// CHECK:STDOUT: inst600000C5: symbolic_constant00000065 +// CHECK:STDOUT: inst600000C6: symbolic_constant00000063 +// CHECK:STDOUT: inst600000C7: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000C8: constant +// CHECK:STDOUT: inst600000C9: concrete_constant(inst600000C9) +// CHECK:STDOUT: inst600000CA: symbolic_constant0000006A +// CHECK:STDOUT: inst600000CB: symbolic_constant0000006C +// CHECK:STDOUT: inst600000CC: symbolic_constant0000006D +// CHECK:STDOUT: inst600000CD: symbolic_constant0000006E +// CHECK:STDOUT: inst600000CE: symbolic_constant0000006F +// CHECK:STDOUT: inst600000CF: symbolic_constant00000070 +// CHECK:STDOUT: inst600000D0: symbolic_constant00000071 +// CHECK:STDOUT: inst600000D1: symbolic_constant00000074 +// CHECK:STDOUT: inst600000D2: symbolic_constant00000072 +// CHECK:STDOUT: inst600000D3: symbolic_constant00000073 +// CHECK:STDOUT: inst600000D4: symbolic_constant00000076 // CHECK:STDOUT: inst600000D5: concrete_constant(inst600000D5) // CHECK:STDOUT: inst600000D6: concrete_constant(inst600000D6) // CHECK:STDOUT: inst600000D7: concrete_constant(inst600000D7) -// CHECK:STDOUT: inst600000D8: symbolic_constant00000064 -// CHECK:STDOUT: inst600000D9: symbolic_constant00000065 -// CHECK:STDOUT: inst600000DA: symbolic_constant00000079 -// CHECK:STDOUT: inst600000DB: symbolic_constant0000007A -// CHECK:STDOUT: inst600000DC: symbolic_constant00000080 -// CHECK:STDOUT: inst600000DD: symbolic_constant00000081 -// CHECK:STDOUT: inst600000DE: symbolic_constant00000082 -// CHECK:STDOUT: inst600000DF: symbolic_constant00000083 -// CHECK:STDOUT: inst600000E0: symbolic_constant00000084 -// CHECK:STDOUT: inst600000E1: symbolic_constant00000085 -// CHECK:STDOUT: inst600000E2: symbolic_constant00000086 -// CHECK:STDOUT: inst600000E3: symbolic_constant0000008D -// CHECK:STDOUT: inst600000E4: symbolic_constant0000008F -// CHECK:STDOUT: inst600000E5: symbolic_constant00000091 -// CHECK:STDOUT: inst600000E6: symbolic_constant00000093 -// CHECK:STDOUT: inst600000E7: symbolic_constant00000095 -// CHECK:STDOUT: inst600000E8: symbolic_constant00000097 -// CHECK:STDOUT: inst600000E9: symbolic_constant00000098 -// CHECK:STDOUT: inst600000EA: symbolic_constant00000099 -// CHECK:STDOUT: inst600000EB: symbolic_constant0000009A -// CHECK:STDOUT: inst600000EC: symbolic_constant0000009B -// CHECK:STDOUT: inst600000ED: symbolic_constant0000009C -// CHECK:STDOUT: inst600000EE: symbolic_constant0000009D -// CHECK:STDOUT: inst600000EF: symbolic_constant0000009E -// CHECK:STDOUT: inst600000F0: symbolic_constant0000009F -// CHECK:STDOUT: inst600000F1: symbolic_constant000000A0 -// CHECK:STDOUT: inst600000F2: symbolic_constant000000A1 -// CHECK:STDOUT: inst600000F3: symbolic_constant000000A2 -// CHECK:STDOUT: inst600000F4: constant -// CHECK:STDOUT: inst600000F5: concrete_constant(inst600000F5) -// CHECK:STDOUT: inst600000F6: symbolic_constant000000A3 -// CHECK:STDOUT: inst600000F7: symbolic_constant000000A4 -// CHECK:STDOUT: inst600000F8: symbolic_constant000000A5 -// CHECK:STDOUT: inst600000F9: concrete_constant(inst600000F9) +// CHECK:STDOUT: inst600000D8: concrete_constant(inst600000D8) +// CHECK:STDOUT: inst600000D9: symbolic_constant00000064 +// CHECK:STDOUT: inst600000DA: symbolic_constant00000065 +// CHECK:STDOUT: inst600000DB: symbolic_constant00000079 +// CHECK:STDOUT: inst600000DC: symbolic_constant0000007A +// CHECK:STDOUT: inst600000DD: symbolic_constant00000080 +// CHECK:STDOUT: inst600000DE: symbolic_constant00000081 +// CHECK:STDOUT: inst600000DF: symbolic_constant00000082 +// CHECK:STDOUT: inst600000E0: symbolic_constant00000083 +// CHECK:STDOUT: inst600000E1: symbolic_constant00000084 +// CHECK:STDOUT: inst600000E2: symbolic_constant00000085 +// CHECK:STDOUT: inst600000E3: symbolic_constant00000086 +// CHECK:STDOUT: inst600000E4: symbolic_constant0000008D +// CHECK:STDOUT: inst600000E5: symbolic_constant0000008F +// CHECK:STDOUT: inst600000E6: symbolic_constant00000091 +// CHECK:STDOUT: inst600000E7: symbolic_constant00000093 +// CHECK:STDOUT: inst600000E8: symbolic_constant00000095 +// CHECK:STDOUT: inst600000E9: symbolic_constant00000097 +// CHECK:STDOUT: inst600000EA: symbolic_constant00000098 +// CHECK:STDOUT: inst600000EB: symbolic_constant00000099 +// CHECK:STDOUT: inst600000EC: symbolic_constant0000009A +// CHECK:STDOUT: inst600000ED: symbolic_constant0000009B +// CHECK:STDOUT: inst600000EE: symbolic_constant0000009C +// CHECK:STDOUT: inst600000EF: symbolic_constant0000009D +// CHECK:STDOUT: inst600000F0: symbolic_constant0000009E +// CHECK:STDOUT: inst600000F1: symbolic_constant0000009F +// CHECK:STDOUT: inst600000F2: symbolic_constant000000A0 +// CHECK:STDOUT: inst600000F3: symbolic_constant000000A1 +// CHECK:STDOUT: inst600000F4: symbolic_constant000000A2 +// CHECK:STDOUT: inst600000F5: constant +// CHECK:STDOUT: inst600000F6: concrete_constant(inst600000F6) +// CHECK:STDOUT: inst600000F7: symbolic_constant000000A3 +// CHECK:STDOUT: inst600000F8: symbolic_constant000000A4 +// CHECK:STDOUT: inst600000F9: symbolic_constant000000A5 // CHECK:STDOUT: inst600000FA: concrete_constant(inst600000FA) // CHECK:STDOUT: inst600000FB: concrete_constant(inst600000FB) -// CHECK:STDOUT: inst600000FC: symbolic_constant000000A7 -// CHECK:STDOUT: inst600000FD: symbolic_constant000000A8 -// CHECK:STDOUT: inst600000FE: symbolic_constant000000A9 -// CHECK:STDOUT: inst600000FF: symbolic_constant000000A6 -// CHECK:STDOUT: inst60000100: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000101: constant -// CHECK:STDOUT: inst60000102: concrete_constant(inst60000102) -// CHECK:STDOUT: inst60000103: symbolic_constant000000B0 -// CHECK:STDOUT: inst60000104: symbolic_constant000000B2 -// CHECK:STDOUT: inst60000105: symbolic_constant000000B3 -// CHECK:STDOUT: inst60000106: symbolic_constant000000B4 -// CHECK:STDOUT: inst60000107: symbolic_constant000000B5 -// CHECK:STDOUT: inst60000108: symbolic_constant000000B6 -// CHECK:STDOUT: inst60000109: symbolic_constant000000B7 -// CHECK:STDOUT: inst6000010A: symbolic_constant000000B8 -// CHECK:STDOUT: inst6000010B: symbolic_constant000000B9 -// CHECK:STDOUT: inst6000010C: symbolic_constant000000BC -// CHECK:STDOUT: inst6000010D: symbolic_constant000000BA -// CHECK:STDOUT: inst6000010E: symbolic_constant000000BB -// CHECK:STDOUT: inst6000010F: symbolic_constant000000BE -// CHECK:STDOUT: inst60000110: concrete_constant(inst60000110) +// CHECK:STDOUT: inst600000FC: concrete_constant(inst600000FC) +// CHECK:STDOUT: inst600000FD: symbolic_constant000000A7 +// CHECK:STDOUT: inst600000FE: symbolic_constant000000A8 +// CHECK:STDOUT: inst600000FF: symbolic_constant000000A9 +// CHECK:STDOUT: inst60000100: symbolic_constant000000A6 +// CHECK:STDOUT: inst60000101: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000102: constant +// CHECK:STDOUT: inst60000103: concrete_constant(inst60000103) +// CHECK:STDOUT: inst60000104: symbolic_constant000000B0 +// CHECK:STDOUT: inst60000105: symbolic_constant000000B2 +// CHECK:STDOUT: inst60000106: symbolic_constant000000B3 +// CHECK:STDOUT: inst60000107: symbolic_constant000000B4 +// CHECK:STDOUT: inst60000108: symbolic_constant000000B5 +// CHECK:STDOUT: inst60000109: symbolic_constant000000B6 +// CHECK:STDOUT: inst6000010A: symbolic_constant000000B7 +// CHECK:STDOUT: inst6000010B: symbolic_constant000000B8 +// CHECK:STDOUT: inst6000010C: symbolic_constant000000B9 +// CHECK:STDOUT: inst6000010D: symbolic_constant000000BC +// CHECK:STDOUT: inst6000010E: symbolic_constant000000BA +// CHECK:STDOUT: inst6000010F: symbolic_constant000000BB +// CHECK:STDOUT: inst60000110: symbolic_constant000000BE // CHECK:STDOUT: inst60000111: concrete_constant(inst60000111) // CHECK:STDOUT: inst60000112: concrete_constant(inst60000112) // CHECK:STDOUT: inst60000113: concrete_constant(inst60000113) -// CHECK:STDOUT: inst60000114: symbolic_constant000000A7 -// CHECK:STDOUT: inst60000115: symbolic_constant000000A8 -// CHECK:STDOUT: inst60000116: symbolic_constant000000A9 -// CHECK:STDOUT: inst60000117: symbolic_constant000000C1 -// CHECK:STDOUT: inst60000118: symbolic_constant000000C2 -// CHECK:STDOUT: inst60000119: symbolic_constant000000CA -// CHECK:STDOUT: inst6000011A: symbolic_constant000000CB -// CHECK:STDOUT: inst6000011B: symbolic_constant000000CC -// CHECK:STDOUT: inst6000011C: symbolic_constant000000CD -// CHECK:STDOUT: inst6000011D: symbolic_constant000000CE -// CHECK:STDOUT: inst6000011E: symbolic_constant000000CF -// CHECK:STDOUT: inst6000011F: symbolic_constant000000D0 -// CHECK:STDOUT: inst60000120: symbolic_constant000000D1 -// CHECK:STDOUT: inst60000121: symbolic_constant000000D2 -// CHECK:STDOUT: inst60000122: symbolic_constant000000DE -// CHECK:STDOUT: inst60000123: symbolic_constant000000E0 -// CHECK:STDOUT: inst60000124: symbolic_constant000000E2 -// CHECK:STDOUT: inst60000125: symbolic_constant000000E4 -// CHECK:STDOUT: inst60000126: symbolic_constant000000E6 -// CHECK:STDOUT: inst60000127: symbolic_constant000000E8 -// CHECK:STDOUT: inst60000128: symbolic_constant000000E9 -// CHECK:STDOUT: inst60000129: symbolic_constant000000EA -// CHECK:STDOUT: inst6000012A: symbolic_constant000000EB -// CHECK:STDOUT: inst6000012B: symbolic_constant000000EC -// CHECK:STDOUT: inst6000012C: symbolic_constant000000ED -// CHECK:STDOUT: inst6000012D: symbolic_constant000000EE -// CHECK:STDOUT: inst6000012E: symbolic_constant000000EF -// CHECK:STDOUT: inst6000012F: symbolic_constant000000F0 -// CHECK:STDOUT: inst60000130: symbolic_constant000000F1 -// CHECK:STDOUT: inst60000131: symbolic_constant000000F2 -// CHECK:STDOUT: inst60000132: symbolic_constant000000F3 -// CHECK:STDOUT: inst60000133: symbolic_constant000000F4 -// CHECK:STDOUT: inst60000134: symbolic_constant000000F5 -// CHECK:STDOUT: inst60000135: symbolic_constant000000F6 -// CHECK:STDOUT: inst60000136: symbolic_constant000000F7 -// CHECK:STDOUT: inst60000137: symbolic_constant000000F8 -// CHECK:STDOUT: inst60000138: symbolic_constant000000FA -// CHECK:STDOUT: inst60000139: symbolic_constant000000FB -// CHECK:STDOUT: inst6000013A: symbolic_constant000000FC -// CHECK:STDOUT: inst6000013B: symbolic_constant000000FD -// CHECK:STDOUT: inst6000013C: symbolic_constant00000101 -// CHECK:STDOUT: inst6000013D: symbolic_constant000000FE -// CHECK:STDOUT: inst6000013E: symbolic_constant000000FF -// CHECK:STDOUT: inst6000013F: symbolic_constant00000100 -// CHECK:STDOUT: inst60000140: symbolic_constant00000101 -// CHECK:STDOUT: inst60000142: symbolic_constant00000103 -// CHECK:STDOUT: inst60000143: symbolic_constant00000102 -// CHECK:STDOUT: inst60000144: symbolic_constant00000103 -// CHECK:STDOUT: inst60000146: symbolic_constant0000000F -// CHECK:STDOUT: inst6000014A: concrete_constant(inst6000014B) -// CHECK:STDOUT: inst6000014B: concrete_constant(inst6000014B) -// CHECK:STDOUT: inst6000014C: concrete_constant(inst6000014B) +// CHECK:STDOUT: inst60000114: concrete_constant(inst60000114) +// CHECK:STDOUT: inst60000115: symbolic_constant000000A7 +// CHECK:STDOUT: inst60000116: symbolic_constant000000A8 +// CHECK:STDOUT: inst60000117: symbolic_constant000000A9 +// CHECK:STDOUT: inst60000118: symbolic_constant000000C1 +// CHECK:STDOUT: inst60000119: symbolic_constant000000C2 +// CHECK:STDOUT: inst6000011A: symbolic_constant000000CA +// CHECK:STDOUT: inst6000011B: symbolic_constant000000CB +// CHECK:STDOUT: inst6000011C: symbolic_constant000000CC +// CHECK:STDOUT: inst6000011D: symbolic_constant000000CD +// CHECK:STDOUT: inst6000011E: symbolic_constant000000CE +// CHECK:STDOUT: inst6000011F: symbolic_constant000000CF +// CHECK:STDOUT: inst60000120: symbolic_constant000000D0 +// CHECK:STDOUT: inst60000121: symbolic_constant000000D1 +// CHECK:STDOUT: inst60000122: symbolic_constant000000D2 +// CHECK:STDOUT: inst60000123: symbolic_constant000000DE +// CHECK:STDOUT: inst60000124: symbolic_constant000000E0 +// CHECK:STDOUT: inst60000125: symbolic_constant000000E2 +// CHECK:STDOUT: inst60000126: symbolic_constant000000E4 +// CHECK:STDOUT: inst60000127: symbolic_constant000000E6 +// CHECK:STDOUT: inst60000128: symbolic_constant000000E8 +// CHECK:STDOUT: inst60000129: symbolic_constant000000E9 +// CHECK:STDOUT: inst6000012A: symbolic_constant000000EA +// CHECK:STDOUT: inst6000012B: symbolic_constant000000EB +// CHECK:STDOUT: inst6000012C: symbolic_constant000000EC +// CHECK:STDOUT: inst6000012D: symbolic_constant000000ED +// CHECK:STDOUT: inst6000012E: symbolic_constant000000EE +// CHECK:STDOUT: inst6000012F: symbolic_constant000000EF +// CHECK:STDOUT: inst60000130: symbolic_constant000000F0 +// CHECK:STDOUT: inst60000131: symbolic_constant000000F1 +// CHECK:STDOUT: inst60000132: symbolic_constant000000F2 +// CHECK:STDOUT: inst60000133: symbolic_constant000000F3 +// CHECK:STDOUT: inst60000134: symbolic_constant000000F4 +// CHECK:STDOUT: inst60000135: symbolic_constant000000F5 +// CHECK:STDOUT: inst60000136: symbolic_constant000000F6 +// CHECK:STDOUT: inst60000137: symbolic_constant000000F7 +// CHECK:STDOUT: inst60000138: symbolic_constant000000F8 +// CHECK:STDOUT: inst60000139: symbolic_constant000000FA +// CHECK:STDOUT: inst6000013A: symbolic_constant000000FB +// CHECK:STDOUT: inst6000013B: symbolic_constant000000FC +// CHECK:STDOUT: inst6000013C: symbolic_constant000000FD +// CHECK:STDOUT: inst6000013D: symbolic_constant00000101 +// CHECK:STDOUT: inst6000013E: symbolic_constant000000FE +// CHECK:STDOUT: inst6000013F: symbolic_constant000000FF +// CHECK:STDOUT: inst60000140: symbolic_constant00000100 +// CHECK:STDOUT: inst60000141: symbolic_constant00000101 +// CHECK:STDOUT: inst60000143: symbolic_constant00000103 +// CHECK:STDOUT: inst60000144: symbolic_constant00000102 +// CHECK:STDOUT: inst60000145: symbolic_constant00000103 +// CHECK:STDOUT: inst60000147: symbolic_constant0000000F +// CHECK:STDOUT: inst6000014B: concrete_constant(inst6000014C) +// CHECK:STDOUT: inst6000014C: concrete_constant(inst6000014C) +// CHECK:STDOUT: inst6000014D: concrete_constant(inst6000014C) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant00000000: {inst: inst60000013, generic: generic, index: generic_inst, kind: self} -// CHECK:STDOUT: symbolic_constant00000001: {inst: inst60000015, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000002: {inst: inst60000015, generic: generic60000000, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000003: {inst: inst6000001B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000004: {inst: inst6000001B, generic: generic60000000, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000005: {inst: inst6000001E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000006: {inst: inst6000001E, generic: generic60000000, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000007: {inst: inst6000002A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000008: {inst: inst6000002A, generic: generic60000000, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000009: {inst: inst6000002D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000A: {inst: inst6000002D, generic: generic60000000, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000B: {inst: inst60000038, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000C: {inst: inst6000003A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000D: {inst: inst6000003A, generic: generic60000000, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000E: {inst: inst6000003D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000F: {inst: inst6000003D, generic: generic60000000, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000010: {inst: inst60000048, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000011: {inst: inst60000052, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000012: {inst: inst60000053, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000013: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000014: {inst: inst60000048, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000015: {inst: inst60000052, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000016: {inst: inst60000048, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000017: {inst: inst60000052, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000018: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000019: {inst: inst6000005F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000001A: {inst: inst60000060, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000001B: {inst: inst60000061, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000001C: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000001D: {inst: inst6000005F, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000001E: {inst: inst6000005F, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000001F: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000020: {inst: inst60000069, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000021: {inst: inst60000069, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000022: {inst: inst6000005F, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000023: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000024: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000025: {inst: inst60000069, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000026: {inst: inst6000006F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000027: {inst: inst60000070, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000028: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000029: {inst: inst6000006F, generic: generic60000002, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000002A: {inst: inst60000071, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000002B: {inst: inst60000071, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant0000002C: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000002D: {inst: inst6000006F, generic: generic60000002, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000002E: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000002F: {inst: inst6000005F, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000030: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000031: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000032: {inst: inst6000005F, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000033: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000034: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000035: {inst: inst60000071, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000036: {inst: inst6000007D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000037: {inst: inst6000007D, generic: generic60000003, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000038: {inst: inst6000007E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000039: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000003A: {inst: inst6000007F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000003B: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000003C: {inst: inst60000080, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000003D: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant0000003E: {inst: inst60000081, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000003F: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000040: {inst: inst60000082, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000041: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant00000042: {inst: inst6000007D, generic: generic60000003, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000043: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000044: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000045: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000046: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000047: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant00000048: {inst: inst60000089, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000049: {inst: inst6000001B, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000004A: {inst: inst60000015, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000004B: {inst: inst60000015, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000004C: {inst: inst600000A2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000004D: {inst: inst600000A2, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000004E: {inst: inst60000015, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000004F: {inst: inst6000001B, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000050: {inst: inst600000A2, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000051: {inst: inst600000A7, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000052: {inst: inst600000A8, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000053: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000054: {inst: inst600000A7, generic: generic60000004, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000055: {inst: inst6000001E, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000056: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000057: {inst: inst6000003D, generic: generic60000004, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000058: {inst: inst600000A7, generic: generic60000004, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000059: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000005A: {inst: inst6000003D, generic: generic60000004, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000005B: {inst: inst60000015, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000005C: {inst: inst6000001B, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000005D: {inst: inst60000015, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000005E: {inst: inst6000001B, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000005F: {inst: inst6000001E, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000060: {inst: inst600000BE, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000061: {inst: inst600000BF, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000062: {inst: inst600000C0, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000063: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000064: {inst: inst6000005F, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000065: {inst: inst600000BE, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000066: {inst: inst6000005F, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000067: {inst: inst600000BE, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000068: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000069: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant0000006A: {inst: inst600000C9, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000006B: {inst: inst600000C9, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant0000006C: {inst: inst6000005F, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000006D: {inst: inst600000BE, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000006E: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000006F: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000070: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000071: {inst: inst600000C9, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant00000072: {inst: inst600000D1, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000073: {inst: inst600000D2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000074: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000075: {inst: inst600000D1, generic: generic60000006, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000076: {inst: inst600000D3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000077: {inst: inst600000D3, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant00000078: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000079: {inst: inst600000D1, generic: generic60000006, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000007A: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000007B: {inst: inst6000005F, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000007C: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant0000007D: {inst: inst600000BE, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000007E: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant0000007F: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000080: {inst: inst6000005F, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000081: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000082: {inst: inst600000BE, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000083: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000084: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000085: {inst: inst600000D3, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant00000086: {inst: inst600000E2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000087: {inst: inst600000E2, generic: generic60000007, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000088: {inst: inst6000007E, generic: generic60000007, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000089: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000008A: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant0000008B: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant0000008C: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant0000008D: {inst: inst600000E3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000008E: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant0000008F: {inst: inst600000E4, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000090: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant00000091: {inst: inst600000E5, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000092: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant00000093: {inst: inst600000E6, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000094: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant00000095: {inst: inst600000E7, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000096: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant00000097: {inst: inst600000E2, generic: generic60000007, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000098: {inst: inst6000007E, generic: generic60000007, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000099: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant0000009A: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant0000009B: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant0000009C: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant0000009D: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant0000009E: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant0000009F: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A0: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A1: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A2: {inst: inst600000F3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A3: {inst: inst600000F6, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A4: {inst: inst600000F7, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A5: {inst: inst600000F8, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A6: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A7: {inst: inst6000005F, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A8: {inst: inst600000BE, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000A9: {inst: inst600000F6, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000AA: {inst: inst6000005F, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000AB: {inst: inst600000BE, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000AC: {inst: inst600000F6, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000AD: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant000000AE: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant000000AF: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B0: {inst: inst60000103, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B1: {inst: inst60000103, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B2: {inst: inst6000005F, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B3: {inst: inst600000BE, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B4: {inst: inst600000F6, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B5: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B6: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B7: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B8: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant000000B9: {inst: inst60000103, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant000000BA: {inst: inst6000010D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000BB: {inst: inst6000010E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000BC: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000BD: {inst: inst6000010D, generic: generic60000008, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000BE: {inst: inst6000010F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000BF: {inst: inst6000010F, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C0: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C1: {inst: inst6000010D, generic: generic60000008, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C2: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C3: {inst: inst6000005F, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C4: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C5: {inst: inst600000BE, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C6: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C7: {inst: inst600000F6, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C8: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant000000C9: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant000000CA: {inst: inst6000005F, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000CB: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000CC: {inst: inst600000BE, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000CD: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant000000CE: {inst: inst600000F6, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant000000CF: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D0: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D1: {inst: inst6000010F, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D2: {inst: inst60000121, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D3: {inst: inst60000121, generic: generic60000009, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D4: {inst: inst6000007E, generic: generic60000009, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D5: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D6: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D7: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D8: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant000000D9: {inst: inst600000E3, generic: generic60000009, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant000000DA: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant000000DB: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant000000DC: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant000000DD: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant000000DE: {inst: inst60000122, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000DF: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E0: {inst: inst60000123, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E1: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E2: {inst: inst60000124, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E3: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E4: {inst: inst60000125, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E5: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E6: {inst: inst60000126, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E7: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E8: {inst: inst60000121, generic: generic60000009, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant000000E9: {inst: inst6000007E, generic: generic60000009, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant000000EA: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000EB: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant000000EC: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant000000ED: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant000000EE: {inst: inst600000E3, generic: generic60000009, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant000000EF: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F0: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F1: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F2: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F3: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F4: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F5: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F6: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F7: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F8: {inst: inst60000137, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000F9: {inst: inst600000A2, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000FA: {inst: inst60000138, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000FB: {inst: inst60000138, generic: generic60000000, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant000000FC: {inst: inst6000013A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000FD: {inst: inst6000013B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000FE: {inst: inst6000013D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant000000FF: {inst: inst6000013A, generic: generic60000000, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000100: {inst: inst6000013B, generic: generic60000000, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant00000101: {inst: inst6000013D, generic: generic60000000, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant00000102: {inst: inst60000143, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000103: {inst: inst60000143, generic: generic60000000, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant00000000: {inst: inst60000014, generic: generic, index: generic_inst, kind: self} +// CHECK:STDOUT: symbolic_constant00000001: {inst: inst60000016, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000002: {inst: inst60000016, generic: generic60000000, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000003: {inst: inst6000001C, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000004: {inst: inst6000001C, generic: generic60000000, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000005: {inst: inst6000001F, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000006: {inst: inst6000001F, generic: generic60000000, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000007: {inst: inst6000002B, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000008: {inst: inst6000002B, generic: generic60000000, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000009: {inst: inst6000002E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000A: {inst: inst6000002E, generic: generic60000000, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000B: {inst: inst60000039, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000C: {inst: inst6000003B, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000D: {inst: inst6000003B, generic: generic60000000, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000E: {inst: inst6000003E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000F: {inst: inst6000003E, generic: generic60000000, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000010: {inst: inst60000049, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000011: {inst: inst60000053, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000012: {inst: inst60000054, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000013: {inst: inst60000054, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000014: {inst: inst60000049, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000015: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000016: {inst: inst60000049, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000017: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000018: {inst: inst60000054, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000019: {inst: inst60000060, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000001A: {inst: inst60000061, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000001B: {inst: inst60000062, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000001C: {inst: inst60000062, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000001D: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000001E: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000001F: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000020: {inst: inst6000006A, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000021: {inst: inst6000006A, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000022: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000023: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000024: {inst: inst60000062, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000025: {inst: inst6000006A, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000026: {inst: inst60000070, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000027: {inst: inst60000071, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000028: {inst: inst60000071, generic: generic60000002, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000029: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000002A: {inst: inst60000072, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000002B: {inst: inst60000072, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant0000002C: {inst: inst60000071, generic: generic60000002, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000002D: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000002E: {inst: inst60000071, generic: generic60000002, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000002F: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000030: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000031: {inst: inst60000062, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000032: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000033: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000034: {inst: inst60000062, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000035: {inst: inst60000072, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000036: {inst: inst6000007E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000037: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000038: {inst: inst6000007F, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000039: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000003A: {inst: inst60000080, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000003B: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000003C: {inst: inst60000081, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000003D: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant0000003E: {inst: inst60000082, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000003F: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000040: {inst: inst60000083, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000041: {inst: inst60000083, generic: generic60000003, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant00000042: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000043: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000044: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000045: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000046: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000047: {inst: inst60000083, generic: generic60000003, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant00000048: {inst: inst6000008A, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000049: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000004A: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000004B: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000004C: {inst: inst600000A3, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000004D: {inst: inst600000A3, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000004E: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000004F: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000050: {inst: inst600000A3, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000051: {inst: inst600000A8, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000052: {inst: inst600000A9, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000053: {inst: inst600000A9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000054: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000055: {inst: inst6000001F, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000056: {inst: inst600000A9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000057: {inst: inst6000003E, generic: generic60000004, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000058: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000059: {inst: inst600000A9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000005A: {inst: inst6000003E, generic: generic60000004, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000005B: {inst: inst60000016, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000005C: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000005D: {inst: inst60000016, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000005E: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000005F: {inst: inst6000001F, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000060: {inst: inst600000BF, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000061: {inst: inst600000C0, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000062: {inst: inst600000C1, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000063: {inst: inst600000C1, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000064: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000065: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000066: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000067: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000068: {inst: inst60000061, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000069: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant0000006A: {inst: inst600000CA, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000006B: {inst: inst600000CA, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant0000006C: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000006D: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000006E: {inst: inst60000061, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000006F: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000070: {inst: inst600000C1, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000071: {inst: inst600000CA, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant00000072: {inst: inst600000D2, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000073: {inst: inst600000D3, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000074: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000075: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000076: {inst: inst600000D4, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000077: {inst: inst600000D4, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant00000078: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000079: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000007A: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000007B: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000007C: {inst: inst60000061, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant0000007D: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000007E: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant0000007F: {inst: inst600000C1, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000080: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000081: {inst: inst60000061, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000082: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000083: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000084: {inst: inst600000C1, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000085: {inst: inst600000D4, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant00000086: {inst: inst600000E3, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000087: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000088: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000089: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000008A: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant0000008B: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant0000008C: {inst: inst60000083, generic: generic60000007, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant0000008D: {inst: inst600000E4, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000008E: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant0000008F: {inst: inst600000E5, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000090: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant00000091: {inst: inst600000E6, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000092: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant00000093: {inst: inst600000E7, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000094: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant00000095: {inst: inst600000E8, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000096: {inst: inst600000E8, generic: generic60000007, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant00000097: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000098: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000099: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant0000009A: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant0000009B: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant0000009C: {inst: inst60000083, generic: generic60000007, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant0000009D: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant0000009E: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant0000009F: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A0: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A1: {inst: inst600000E8, generic: generic60000007, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A2: {inst: inst600000F4, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A3: {inst: inst600000F7, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A4: {inst: inst600000F8, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A5: {inst: inst600000F9, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A6: {inst: inst600000F9, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A7: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A8: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000A9: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000AA: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000AB: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000AC: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000AD: {inst: inst60000061, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant000000AE: {inst: inst600000C0, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant000000AF: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B0: {inst: inst60000104, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B1: {inst: inst60000104, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B2: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B3: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B4: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B5: {inst: inst60000061, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B6: {inst: inst600000C0, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B7: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B8: {inst: inst600000F9, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant000000B9: {inst: inst60000104, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant000000BA: {inst: inst6000010E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000BB: {inst: inst6000010F, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000BC: {inst: inst6000010F, generic: generic60000008, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000BD: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000BE: {inst: inst60000110, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000BF: {inst: inst60000110, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C0: {inst: inst6000010F, generic: generic60000008, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C1: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C2: {inst: inst6000010F, generic: generic60000008, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C3: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C4: {inst: inst60000061, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C5: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C6: {inst: inst600000C0, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C7: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C8: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant000000C9: {inst: inst600000F9, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant000000CA: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000CB: {inst: inst60000061, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000CC: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000CD: {inst: inst600000C0, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant000000CE: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant000000CF: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D0: {inst: inst600000F9, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D1: {inst: inst60000110, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D2: {inst: inst60000122, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D3: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D4: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D5: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D6: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D7: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D8: {inst: inst60000083, generic: generic60000009, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant000000D9: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant000000DA: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant000000DB: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant000000DC: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant000000DD: {inst: inst600000E8, generic: generic60000009, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant000000DE: {inst: inst60000123, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000DF: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def11, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E0: {inst: inst60000124, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E1: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def12, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E2: {inst: inst60000125, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E3: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def13, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E4: {inst: inst60000126, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E5: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def14, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E6: {inst: inst60000127, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E7: {inst: inst60000127, generic: generic60000009, index: generic_inst_in_def15, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E8: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant000000E9: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant000000EA: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000EB: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant000000EC: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant000000ED: {inst: inst60000083, generic: generic60000009, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant000000EE: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant000000EF: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F0: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F1: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F2: {inst: inst600000E8, generic: generic60000009, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F3: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def11, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F4: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def12, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F5: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def13, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F6: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def14, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F7: {inst: inst60000127, generic: generic60000009, index: generic_inst_in_def15, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F8: {inst: inst60000138, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000F9: {inst: inst600000A3, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000FA: {inst: inst60000139, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000FB: {inst: inst60000139, generic: generic60000000, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant000000FC: {inst: inst6000013B, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000FD: {inst: inst6000013C, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000FE: {inst: inst6000013E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant000000FF: {inst: inst6000013B, generic: generic60000000, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000100: {inst: inst6000013C, generic: generic60000000, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant00000101: {inst: inst6000013E, generic: generic60000000, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant00000102: {inst: inst60000144, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000103: {inst: inst60000144, generic: generic60000000, index: generic_inst_in_def6, kind: checked} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst60000035 +// CHECK:STDOUT: 0: inst60000036 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst60000010 -// CHECK:STDOUT: 1: inst60000045 -// CHECK:STDOUT: 2: inst60000046 -// CHECK:STDOUT: 3: inst60000049 -// CHECK:STDOUT: 4: inst6000004A -// CHECK:STDOUT: 5: inst6000004B -// CHECK:STDOUT: 6: inst6000004D -// CHECK:STDOUT: 7: inst6000004F -// CHECK:STDOUT: 8: inst60000054 -// CHECK:STDOUT: 9: inst60000055 -// CHECK:STDOUT: 10: inst60000056 -// CHECK:STDOUT: 11: inst60000057 -// CHECK:STDOUT: 12: inst60000058 -// CHECK:STDOUT: 13: inst6000005D -// CHECK:STDOUT: 14: inst6000005E -// CHECK:STDOUT: 15: inst60000063 -// CHECK:STDOUT: 16: inst60000064 -// CHECK:STDOUT: 17: inst60000065 -// CHECK:STDOUT: 18: inst60000066 -// CHECK:STDOUT: 19: inst60000067 -// CHECK:STDOUT: 20: inst60000068 -// CHECK:STDOUT: 21: inst6000006E -// CHECK:STDOUT: 22: inst60000072 -// CHECK:STDOUT: 23: inst60000073 -// CHECK:STDOUT: 24: inst60000074 -// CHECK:STDOUT: 25: inst60000075 -// CHECK:STDOUT: 26: inst60000076 -// CHECK:STDOUT: 27: inst6000008A -// CHECK:STDOUT: 28: inst6000008B -// CHECK:STDOUT: 29: inst6000008C -// CHECK:STDOUT: 30: inst6000008D -// CHECK:STDOUT: 31: inst6000008E -// CHECK:STDOUT: 32: inst6000008F -// CHECK:STDOUT: 33: inst60000090 -// CHECK:STDOUT: 34: inst60000091 -// CHECK:STDOUT: 35: inst60000092 -// CHECK:STDOUT: 36: inst60000093 -// CHECK:STDOUT: 37: inst60000094 -// CHECK:STDOUT: 38: inst60000095 -// CHECK:STDOUT: 39: inst60000096 -// CHECK:STDOUT: 40: inst60000097 -// CHECK:STDOUT: 41: inst60000098 -// CHECK:STDOUT: 42: inst60000099 -// CHECK:STDOUT: 43: inst6000009A -// CHECK:STDOUT: 44: inst6000009B -// CHECK:STDOUT: 45: inst6000009C -// CHECK:STDOUT: 46: inst6000009D -// CHECK:STDOUT: 47: inst6000009E -// CHECK:STDOUT: 48: inst6000009F -// CHECK:STDOUT: 49: inst600000A0 -// CHECK:STDOUT: 50: inst600000A1 -// CHECK:STDOUT: 51: inst600000A6 -// CHECK:STDOUT: 52: inst600000A9 -// CHECK:STDOUT: 53: inst600000AA -// CHECK:STDOUT: 54: inst600000AB -// CHECK:STDOUT: 55: inst600000AC -// CHECK:STDOUT: 56: inst600000AD -// CHECK:STDOUT: 57: inst600000B4 -// CHECK:STDOUT: 58: inst600000B5 -// CHECK:STDOUT: 59: inst600000B6 -// CHECK:STDOUT: 60: inst600000B7 -// CHECK:STDOUT: 61: inst600000B8 -// CHECK:STDOUT: 62: inst600000B9 -// CHECK:STDOUT: 63: inst600000BA -// CHECK:STDOUT: 64: inst600000BB -// CHECK:STDOUT: 65: inst600000BC -// CHECK:STDOUT: 66: inst600000BD -// CHECK:STDOUT: 67: inst600000C1 -// CHECK:STDOUT: 68: inst600000C2 -// CHECK:STDOUT: 69: inst600000C3 -// CHECK:STDOUT: 70: inst600000C4 -// CHECK:STDOUT: 71: inst600000C5 -// CHECK:STDOUT: 72: inst600000C6 -// CHECK:STDOUT: 73: inst600000C7 -// CHECK:STDOUT: 74: inst600000C8 -// CHECK:STDOUT: 75: inst600000D0 -// CHECK:STDOUT: 76: inst600000D4 -// CHECK:STDOUT: 77: inst600000D5 -// CHECK:STDOUT: 78: inst600000D6 -// CHECK:STDOUT: 79: inst600000D7 -// CHECK:STDOUT: 80: inst600000D8 -// CHECK:STDOUT: 81: inst600000D9 -// CHECK:STDOUT: 82: inst600000F4 -// CHECK:STDOUT: 83: inst600000F5 -// CHECK:STDOUT: 84: inst600000F9 -// CHECK:STDOUT: 85: inst600000FA -// CHECK:STDOUT: 86: inst600000FB -// CHECK:STDOUT: 87: inst600000FC -// CHECK:STDOUT: 88: inst600000FD -// CHECK:STDOUT: 89: inst600000FE -// CHECK:STDOUT: 90: inst600000FF -// CHECK:STDOUT: 91: inst60000100 -// CHECK:STDOUT: 92: inst60000101 -// CHECK:STDOUT: 93: inst60000102 -// CHECK:STDOUT: 94: inst6000010C -// CHECK:STDOUT: 95: inst60000110 -// CHECK:STDOUT: 96: inst60000111 -// CHECK:STDOUT: 97: inst60000112 -// CHECK:STDOUT: 98: inst60000113 -// CHECK:STDOUT: 99: inst60000114 -// CHECK:STDOUT: 100: inst60000115 -// CHECK:STDOUT: 101: inst60000116 +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000046 +// CHECK:STDOUT: 2: inst60000047 +// CHECK:STDOUT: 3: inst6000004A +// CHECK:STDOUT: 4: inst6000004B +// CHECK:STDOUT: 5: inst6000004C +// CHECK:STDOUT: 6: inst6000004E +// CHECK:STDOUT: 7: inst60000050 +// CHECK:STDOUT: 8: inst60000055 +// CHECK:STDOUT: 9: inst60000056 +// CHECK:STDOUT: 10: inst60000057 +// CHECK:STDOUT: 11: inst60000058 +// CHECK:STDOUT: 12: inst60000059 +// CHECK:STDOUT: 13: inst6000005E +// CHECK:STDOUT: 14: inst6000005F +// CHECK:STDOUT: 15: inst60000064 +// CHECK:STDOUT: 16: inst60000065 +// CHECK:STDOUT: 17: inst60000066 +// CHECK:STDOUT: 18: inst60000067 +// CHECK:STDOUT: 19: inst60000068 +// CHECK:STDOUT: 20: inst60000069 +// CHECK:STDOUT: 21: inst6000006F +// CHECK:STDOUT: 22: inst60000073 +// CHECK:STDOUT: 23: inst60000074 +// CHECK:STDOUT: 24: inst60000075 +// CHECK:STDOUT: 25: inst60000076 +// CHECK:STDOUT: 26: inst60000077 +// CHECK:STDOUT: 27: inst6000008B +// CHECK:STDOUT: 28: inst6000008C +// CHECK:STDOUT: 29: inst6000008D +// CHECK:STDOUT: 30: inst6000008E +// CHECK:STDOUT: 31: inst6000008F +// CHECK:STDOUT: 32: inst60000090 +// CHECK:STDOUT: 33: inst60000091 +// CHECK:STDOUT: 34: inst60000092 +// CHECK:STDOUT: 35: inst60000093 +// CHECK:STDOUT: 36: inst60000094 +// CHECK:STDOUT: 37: inst60000095 +// CHECK:STDOUT: 38: inst60000096 +// CHECK:STDOUT: 39: inst60000097 +// CHECK:STDOUT: 40: inst60000098 +// CHECK:STDOUT: 41: inst60000099 +// CHECK:STDOUT: 42: inst6000009A +// CHECK:STDOUT: 43: inst6000009B +// CHECK:STDOUT: 44: inst6000009C +// CHECK:STDOUT: 45: inst6000009D +// CHECK:STDOUT: 46: inst6000009E +// CHECK:STDOUT: 47: inst6000009F +// CHECK:STDOUT: 48: inst600000A0 +// CHECK:STDOUT: 49: inst600000A1 +// CHECK:STDOUT: 50: inst600000A2 +// CHECK:STDOUT: 51: inst600000A7 +// CHECK:STDOUT: 52: inst600000AA +// CHECK:STDOUT: 53: inst600000AB +// CHECK:STDOUT: 54: inst600000AC +// CHECK:STDOUT: 55: inst600000AD +// CHECK:STDOUT: 56: inst600000AE +// CHECK:STDOUT: 57: inst600000B5 +// CHECK:STDOUT: 58: inst600000B6 +// CHECK:STDOUT: 59: inst600000B7 +// CHECK:STDOUT: 60: inst600000B8 +// CHECK:STDOUT: 61: inst600000B9 +// CHECK:STDOUT: 62: inst600000BA +// CHECK:STDOUT: 63: inst600000BB +// CHECK:STDOUT: 64: inst600000BC +// CHECK:STDOUT: 65: inst600000BD +// CHECK:STDOUT: 66: inst600000BE +// CHECK:STDOUT: 67: inst600000C2 +// CHECK:STDOUT: 68: inst600000C3 +// CHECK:STDOUT: 69: inst600000C4 +// CHECK:STDOUT: 70: inst600000C5 +// CHECK:STDOUT: 71: inst600000C6 +// CHECK:STDOUT: 72: inst600000C7 +// CHECK:STDOUT: 73: inst600000C8 +// CHECK:STDOUT: 74: inst600000C9 +// CHECK:STDOUT: 75: inst600000D1 +// CHECK:STDOUT: 76: inst600000D5 +// CHECK:STDOUT: 77: inst600000D6 +// CHECK:STDOUT: 78: inst600000D7 +// CHECK:STDOUT: 79: inst600000D8 +// CHECK:STDOUT: 80: inst600000D9 +// CHECK:STDOUT: 81: inst600000DA +// CHECK:STDOUT: 82: inst600000F5 +// CHECK:STDOUT: 83: inst600000F6 +// CHECK:STDOUT: 84: inst600000FA +// CHECK:STDOUT: 85: inst600000FB +// CHECK:STDOUT: 86: inst600000FC +// CHECK:STDOUT: 87: inst600000FD +// CHECK:STDOUT: 88: inst600000FE +// CHECK:STDOUT: 89: inst600000FF +// CHECK:STDOUT: 90: inst60000100 +// CHECK:STDOUT: 91: inst60000101 +// CHECK:STDOUT: 92: inst60000102 +// CHECK:STDOUT: 93: inst60000103 +// CHECK:STDOUT: 94: inst6000010D +// CHECK:STDOUT: 95: inst60000111 +// CHECK:STDOUT: 96: inst60000112 +// CHECK:STDOUT: 97: inst60000113 +// CHECK:STDOUT: 98: inst60000114 +// CHECK:STDOUT: 99: inst60000115 +// CHECK:STDOUT: 100: inst60000116 +// CHECK:STDOUT: 101: inst60000117 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: -// CHECK:STDOUT: 0: inst60000012 +// CHECK:STDOUT: 0: inst60000013 // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst60000018 -// CHECK:STDOUT: inst_block00000006: // CHECK:STDOUT: 0: inst60000019 -// CHECK:STDOUT: 1: inst6000001A +// CHECK:STDOUT: inst_block00000006: +// CHECK:STDOUT: 0: inst6000001A +// CHECK:STDOUT: 1: inst6000001B // CHECK:STDOUT: inst_block00000007: -// CHECK:STDOUT: 0: inst60000021 +// CHECK:STDOUT: 0: inst60000022 // CHECK:STDOUT: inst_block00000008: -// CHECK:STDOUT: 0: inst60000023 -// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 0: inst60000024 +// CHECK:STDOUT: 1: inst60000026 // CHECK:STDOUT: inst_block00000009: // CHECK:STDOUT: 0: inst(TypeType) -// CHECK:STDOUT: 1: inst60000024 +// CHECK:STDOUT: 1: inst60000025 // CHECK:STDOUT: inst_block0000000A: -// CHECK:STDOUT: 0: inst60000023 -// CHECK:STDOUT: 1: inst60000029 +// CHECK:STDOUT: 0: inst60000024 +// CHECK:STDOUT: 1: inst6000002A // CHECK:STDOUT: inst_block0000000B: -// CHECK:STDOUT: 0: inst6000001B -// CHECK:STDOUT: 1: inst60000024 -// CHECK:STDOUT: inst_block0000000C: // CHECK:STDOUT: 0: inst6000001C -// CHECK:STDOUT: 1: inst60000024 +// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: inst_block0000000C: +// CHECK:STDOUT: 0: inst6000001D +// CHECK:STDOUT: 1: inst60000025 // CHECK:STDOUT: inst_block0000000D: -// CHECK:STDOUT: 0: inst60000031 -// CHECK:STDOUT: 1: inst60000033 +// CHECK:STDOUT: 0: inst60000032 +// CHECK:STDOUT: 1: inst60000034 // CHECK:STDOUT: inst_block0000000E: -// CHECK:STDOUT: 0: inst60000018 -// CHECK:STDOUT: 1: inst6000001F -// CHECK:STDOUT: 2: inst60000021 -// CHECK:STDOUT: 3: inst6000002E -// CHECK:STDOUT: 4: inst60000030 +// CHECK:STDOUT: 0: inst60000019 +// CHECK:STDOUT: 1: inst60000020 +// CHECK:STDOUT: 2: inst60000022 +// CHECK:STDOUT: 3: inst6000002F +// CHECK:STDOUT: 4: inst60000031 // CHECK:STDOUT: inst_block0000000F: -// CHECK:STDOUT: 0: inst60000022 -// CHECK:STDOUT: 1: inst60000023 -// CHECK:STDOUT: 2: inst60000025 -// CHECK:STDOUT: 3: inst60000027 -// CHECK:STDOUT: 4: inst60000029 -// CHECK:STDOUT: 5: inst6000002B -// CHECK:STDOUT: 6: inst60000012 -// CHECK:STDOUT: 7: inst60000014 -// CHECK:STDOUT: 8: inst60000031 -// CHECK:STDOUT: 9: inst60000032 -// CHECK:STDOUT: 10: inst6000001D -// CHECK:STDOUT: 11: inst60000033 -// CHECK:STDOUT: 12: inst60000034 +// CHECK:STDOUT: 0: inst60000023 +// CHECK:STDOUT: 1: inst60000024 +// CHECK:STDOUT: 2: inst60000026 +// CHECK:STDOUT: 3: inst60000028 +// CHECK:STDOUT: 4: inst6000002A +// CHECK:STDOUT: 5: inst6000002C +// CHECK:STDOUT: 6: inst60000013 +// CHECK:STDOUT: 7: inst60000015 +// CHECK:STDOUT: 8: inst60000032 +// CHECK:STDOUT: 9: inst60000033 +// CHECK:STDOUT: 10: inst6000001E +// CHECK:STDOUT: 11: inst60000034 +// CHECK:STDOUT: 12: inst60000035 // CHECK:STDOUT: inst_block00000010: -// CHECK:STDOUT: 0: inst60000014 -// CHECK:STDOUT: inst_block00000011: // CHECK:STDOUT: 0: inst60000015 +// CHECK:STDOUT: inst_block00000011: +// CHECK:STDOUT: 0: inst60000016 // CHECK:STDOUT: inst_block00000012: +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst6000001D +// CHECK:STDOUT: 2: inst60000021 +// CHECK:STDOUT: 3: inst6000002D +// CHECK:STDOUT: 4: inst60000030 +// CHECK:STDOUT: inst_block00000013: // CHECK:STDOUT: 0: inst60000016 // CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: 2: inst60000020 -// CHECK:STDOUT: 3: inst6000002C -// CHECK:STDOUT: 4: inst6000002F -// CHECK:STDOUT: inst_block00000013: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst6000001E -// CHECK:STDOUT: 3: inst6000002A -// CHECK:STDOUT: 4: inst6000002D +// CHECK:STDOUT: 2: inst6000001F +// CHECK:STDOUT: 3: inst6000002B +// CHECK:STDOUT: 4: inst6000002E // CHECK:STDOUT: inst_block00000014: -// CHECK:STDOUT: 0: inst6000003F -// CHECK:STDOUT: 1: inst60000040 -// CHECK:STDOUT: 2: inst60000041 -// CHECK:STDOUT: 3: inst6000013C -// CHECK:STDOUT: 4: inst60000141 -// CHECK:STDOUT: 5: inst60000142 -// CHECK:STDOUT: 6: inst60000145 -// CHECK:STDOUT: 7: inst60000147 -// CHECK:STDOUT: 8: inst60000043 -// CHECK:STDOUT: 9: inst60000148 -// CHECK:STDOUT: 10: inst60000149 -// CHECK:STDOUT: 11: inst6000014A -// CHECK:STDOUT: 12: inst6000014C -// CHECK:STDOUT: 13: inst6000014D -// CHECK:STDOUT: 14: inst6000014E -// CHECK:STDOUT: 15: inst6000014F +// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 1: inst60000041 +// CHECK:STDOUT: 2: inst60000042 +// CHECK:STDOUT: 3: inst6000013D +// CHECK:STDOUT: 4: inst60000142 +// CHECK:STDOUT: 5: inst60000143 +// CHECK:STDOUT: 6: inst60000146 +// CHECK:STDOUT: 7: inst60000148 +// CHECK:STDOUT: 8: inst60000044 +// CHECK:STDOUT: 9: inst60000149 +// CHECK:STDOUT: 10: inst6000014A +// CHECK:STDOUT: 11: inst6000014B +// CHECK:STDOUT: 12: inst6000014D +// CHECK:STDOUT: 13: inst6000014E +// CHECK:STDOUT: 14: inst6000014F +// CHECK:STDOUT: 15: inst60000150 // CHECK:STDOUT: inst_block00000015: -// CHECK:STDOUT: 0: inst6000003F -// CHECK:STDOUT: 1: inst60000040 +// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 1: inst60000041 // CHECK:STDOUT: inst_block00000016: -// CHECK:STDOUT: 0: inst6000004B +// CHECK:STDOUT: 0: inst6000004C // CHECK:STDOUT: inst_block00000017: -// CHECK:STDOUT: 0: inst60000057 -// CHECK:STDOUT: inst_block00000018: // CHECK:STDOUT: 0: inst60000058 -// CHECK:STDOUT: inst_block00000019: +// CHECK:STDOUT: inst_block00000018: // CHECK:STDOUT: 0: inst60000059 -// CHECK:STDOUT: 1: inst6000005A -// CHECK:STDOUT: 2: inst6000005B +// CHECK:STDOUT: inst_block00000019: +// CHECK:STDOUT: 0: inst6000005A +// CHECK:STDOUT: 1: inst6000005B +// CHECK:STDOUT: 2: inst6000005C // CHECK:STDOUT: inst_block0000001A: -// CHECK:STDOUT: 0: inst60000048 +// CHECK:STDOUT: 0: inst60000049 // CHECK:STDOUT: inst_block0000001B: -// CHECK:STDOUT: 0: inst60000048 -// CHECK:STDOUT: 1: inst60000052 -// CHECK:STDOUT: 2: inst60000053 +// CHECK:STDOUT: 0: inst60000049 +// CHECK:STDOUT: 1: inst60000053 +// CHECK:STDOUT: 2: inst60000054 // CHECK:STDOUT: inst_block0000001C: -// CHECK:STDOUT: 0: inst60000063 -// CHECK:STDOUT: inst_block0000001D: // CHECK:STDOUT: 0: inst60000064 +// CHECK:STDOUT: inst_block0000001D: +// CHECK:STDOUT: 0: inst60000065 // CHECK:STDOUT: inst_block0000001E: -// CHECK:STDOUT: 0: inst60000067 +// CHECK:STDOUT: 0: inst60000068 // CHECK:STDOUT: inst_block0000001F: -// CHECK:STDOUT: 0: inst6000005F +// CHECK:STDOUT: 0: inst60000060 // CHECK:STDOUT: inst_block00000020: -// CHECK:STDOUT: 0: inst6000006A +// CHECK:STDOUT: 0: inst6000006B // CHECK:STDOUT: inst_block00000021: -// CHECK:STDOUT: 0: inst6000006A -// CHECK:STDOUT: 1: inst6000006B -// CHECK:STDOUT: 2: inst6000006C -// CHECK:STDOUT: 3: inst6000006D +// CHECK:STDOUT: 0: inst6000006B +// CHECK:STDOUT: 1: inst6000006C +// CHECK:STDOUT: 2: inst6000006D +// CHECK:STDOUT: 3: inst6000006E // CHECK:STDOUT: inst_block00000022: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst60000061 -// CHECK:STDOUT: 3: inst60000069 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst60000062 +// CHECK:STDOUT: 3: inst6000006A // CHECK:STDOUT: inst_block00000023: -// CHECK:STDOUT: 0: inst60000075 -// CHECK:STDOUT: inst_block00000024: // CHECK:STDOUT: 0: inst60000076 +// CHECK:STDOUT: inst_block00000024: +// CHECK:STDOUT: 0: inst60000077 // CHECK:STDOUT: inst_block00000025: -// CHECK:STDOUT: 0: inst6000006A +// CHECK:STDOUT: 0: inst6000006B // CHECK:STDOUT: inst_block00000026: -// CHECK:STDOUT: 0: inst60000077 -// CHECK:STDOUT: 1: inst60000078 +// CHECK:STDOUT: 0: inst60000078 +// CHECK:STDOUT: 1: inst60000079 // CHECK:STDOUT: inst_block00000027: -// CHECK:STDOUT: 0: inst60000079 -// CHECK:STDOUT: 1: inst6000007A -// CHECK:STDOUT: 2: inst6000007B -// CHECK:STDOUT: 3: inst6000007C +// CHECK:STDOUT: 0: inst6000007A +// CHECK:STDOUT: 1: inst6000007B +// CHECK:STDOUT: 2: inst6000007C +// CHECK:STDOUT: 3: inst6000007D // CHECK:STDOUT: inst_block00000028: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst60000061 -// CHECK:STDOUT: 3: inst60000071 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst60000062 +// CHECK:STDOUT: 3: inst60000072 // CHECK:STDOUT: inst_block00000029: -// CHECK:STDOUT: 0: inst60000079 +// CHECK:STDOUT: 0: inst6000007A // CHECK:STDOUT: inst_block0000002A: -// CHECK:STDOUT: 0: inst60000083 -// CHECK:STDOUT: 1: inst60000084 -// CHECK:STDOUT: 2: inst60000085 -// CHECK:STDOUT: 3: inst60000086 -// CHECK:STDOUT: 4: inst60000087 -// CHECK:STDOUT: 5: inst60000088 +// CHECK:STDOUT: 0: inst60000084 +// CHECK:STDOUT: 1: inst60000085 +// CHECK:STDOUT: 2: inst60000086 +// CHECK:STDOUT: 3: inst60000087 +// CHECK:STDOUT: 4: inst60000088 +// CHECK:STDOUT: 5: inst60000089 // CHECK:STDOUT: inst_block0000002B: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst60000089 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst6000008A // CHECK:STDOUT: inst_block0000002C: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 +// CHECK:STDOUT: 0: inst60000070 +// CHECK:STDOUT: 1: inst60000071 // CHECK:STDOUT: inst_block0000002D: -// CHECK:STDOUT: 0: inst6000009C -// CHECK:STDOUT: inst_block0000002E: // CHECK:STDOUT: 0: inst6000009D +// CHECK:STDOUT: inst_block0000002E: +// CHECK:STDOUT: 0: inst6000009E // CHECK:STDOUT: inst_block0000002F: -// CHECK:STDOUT: 0: inst600000A0 +// CHECK:STDOUT: 0: inst600000A1 // CHECK:STDOUT: inst_block00000030: -// CHECK:STDOUT: 0: inst600000A3 +// CHECK:STDOUT: 0: inst600000A4 // CHECK:STDOUT: inst_block00000031: -// CHECK:STDOUT: 0: inst600000A3 -// CHECK:STDOUT: 1: inst600000A4 -// CHECK:STDOUT: 2: inst600000A5 +// CHECK:STDOUT: 0: inst600000A4 +// CHECK:STDOUT: 1: inst600000A5 +// CHECK:STDOUT: 2: inst600000A6 // CHECK:STDOUT: inst_block00000032: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst600000A2 +// CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 2: inst600000A3 // CHECK:STDOUT: inst_block00000033: -// CHECK:STDOUT: 0: inst600000AC -// CHECK:STDOUT: inst_block00000034: // CHECK:STDOUT: 0: inst600000AD +// CHECK:STDOUT: inst_block00000034: +// CHECK:STDOUT: 0: inst600000AE // CHECK:STDOUT: inst_block00000035: -// CHECK:STDOUT: 0: inst600000A3 +// CHECK:STDOUT: 0: inst600000A4 // CHECK:STDOUT: inst_block00000036: -// CHECK:STDOUT: 0: inst600000AE -// CHECK:STDOUT: 1: inst600000AF -// CHECK:STDOUT: 2: inst600000B0 +// CHECK:STDOUT: 0: inst600000AF +// CHECK:STDOUT: 1: inst600000B0 +// CHECK:STDOUT: 2: inst600000B1 // CHECK:STDOUT: inst_block00000037: -// CHECK:STDOUT: 0: inst600000B1 -// CHECK:STDOUT: 1: inst600000B2 -// CHECK:STDOUT: 2: inst600000B3 +// CHECK:STDOUT: 0: inst600000B2 +// CHECK:STDOUT: 1: inst600000B3 +// CHECK:STDOUT: 2: inst600000B4 // CHECK:STDOUT: inst_block00000038: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst6000001E +// CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 2: inst6000001F // CHECK:STDOUT: inst_block00000039: -// CHECK:STDOUT: 0: inst60000060 -// CHECK:STDOUT: 1: inst600000BF +// CHECK:STDOUT: 0: inst60000061 +// CHECK:STDOUT: 1: inst600000C0 // CHECK:STDOUT: inst_block0000003A: -// CHECK:STDOUT: 0: inst600000C2 -// CHECK:STDOUT: 1: inst600000C1 -// CHECK:STDOUT: inst_block0000003B: // CHECK:STDOUT: 0: inst600000C3 -// CHECK:STDOUT: 1: inst600000C4 +// CHECK:STDOUT: 1: inst600000C2 +// CHECK:STDOUT: inst_block0000003B: +// CHECK:STDOUT: 0: inst600000C4 +// CHECK:STDOUT: 1: inst600000C5 // CHECK:STDOUT: inst_block0000003C: -// CHECK:STDOUT: 0: inst600000C7 +// CHECK:STDOUT: 0: inst600000C8 // CHECK:STDOUT: inst_block0000003D: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst600000BF // CHECK:STDOUT: inst_block0000003E: -// CHECK:STDOUT: 0: inst600000CC -// CHECK:STDOUT: 1: inst600000CD +// CHECK:STDOUT: 0: inst600000CD +// CHECK:STDOUT: 1: inst600000CE // CHECK:STDOUT: inst_block0000003F: -// CHECK:STDOUT: 0: inst600000CA -// CHECK:STDOUT: 1: inst600000CB +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC // CHECK:STDOUT: inst_block00000040: -// CHECK:STDOUT: 0: inst600000CA -// CHECK:STDOUT: 1: inst600000CB -// CHECK:STDOUT: 2: inst600000CC -// CHECK:STDOUT: 3: inst600000CD -// CHECK:STDOUT: 4: inst600000CE -// CHECK:STDOUT: 5: inst600000CF +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC +// CHECK:STDOUT: 2: inst600000CD +// CHECK:STDOUT: 3: inst600000CE +// CHECK:STDOUT: 4: inst600000CF +// CHECK:STDOUT: 5: inst600000D0 // CHECK:STDOUT: inst_block00000041: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE -// CHECK:STDOUT: 2: inst60000060 -// CHECK:STDOUT: 3: inst600000BF -// CHECK:STDOUT: 4: inst600000C0 -// CHECK:STDOUT: 5: inst600000C9 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst600000BF +// CHECK:STDOUT: 2: inst60000061 +// CHECK:STDOUT: 3: inst600000C0 +// CHECK:STDOUT: 4: inst600000C1 +// CHECK:STDOUT: 5: inst600000CA // CHECK:STDOUT: inst_block00000042: -// CHECK:STDOUT: 0: inst600000D7 -// CHECK:STDOUT: inst_block00000043: // CHECK:STDOUT: 0: inst600000D8 -// CHECK:STDOUT: 1: inst600000D9 +// CHECK:STDOUT: inst_block00000043: +// CHECK:STDOUT: 0: inst600000D9 +// CHECK:STDOUT: 1: inst600000DA // CHECK:STDOUT: inst_block00000044: -// CHECK:STDOUT: 0: inst600000CA -// CHECK:STDOUT: 1: inst600000CB +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC // CHECK:STDOUT: inst_block00000045: -// CHECK:STDOUT: 0: inst600000DA -// CHECK:STDOUT: 1: inst600000DB +// CHECK:STDOUT: 0: inst600000DB +// CHECK:STDOUT: 1: inst600000DC // CHECK:STDOUT: inst_block00000046: -// CHECK:STDOUT: 0: inst600000DD -// CHECK:STDOUT: 1: inst600000DF +// CHECK:STDOUT: 0: inst600000DE +// CHECK:STDOUT: 1: inst600000E0 // CHECK:STDOUT: inst_block00000047: -// CHECK:STDOUT: 0: inst600000DC -// CHECK:STDOUT: 1: inst600000DD -// CHECK:STDOUT: 2: inst600000DE -// CHECK:STDOUT: 3: inst600000DF -// CHECK:STDOUT: 4: inst600000E0 -// CHECK:STDOUT: 5: inst600000E1 +// CHECK:STDOUT: 0: inst600000DD +// CHECK:STDOUT: 1: inst600000DE +// CHECK:STDOUT: 2: inst600000DF +// CHECK:STDOUT: 3: inst600000E0 +// CHECK:STDOUT: 4: inst600000E1 +// CHECK:STDOUT: 5: inst600000E2 // CHECK:STDOUT: inst_block00000048: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst600000BE -// CHECK:STDOUT: 3: inst600000BF -// CHECK:STDOUT: 4: inst600000C0 -// CHECK:STDOUT: 5: inst600000D3 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst600000BF +// CHECK:STDOUT: 3: inst600000C0 +// CHECK:STDOUT: 4: inst600000C1 +// CHECK:STDOUT: 5: inst600000D4 // CHECK:STDOUT: inst_block00000049: -// CHECK:STDOUT: 0: inst600000BE +// CHECK:STDOUT: 0: inst600000BF // CHECK:STDOUT: inst_block0000004A: -// CHECK:STDOUT: 0: inst600000DC +// CHECK:STDOUT: 0: inst600000DD // CHECK:STDOUT: inst_block0000004B: -// CHECK:STDOUT: 0: inst600000DE +// CHECK:STDOUT: 0: inst600000DF // CHECK:STDOUT: inst_block0000004C: -// CHECK:STDOUT: 0: inst600000E8 -// CHECK:STDOUT: 1: inst600000E9 -// CHECK:STDOUT: 2: inst600000EA -// CHECK:STDOUT: 3: inst600000EB -// CHECK:STDOUT: 4: inst600000EC -// CHECK:STDOUT: 5: inst600000ED -// CHECK:STDOUT: 6: inst600000EE -// CHECK:STDOUT: 7: inst600000EF -// CHECK:STDOUT: 8: inst600000F0 -// CHECK:STDOUT: 9: inst600000F1 -// CHECK:STDOUT: 10: inst600000F2 +// CHECK:STDOUT: 0: inst600000E9 +// CHECK:STDOUT: 1: inst600000EA +// CHECK:STDOUT: 2: inst600000EB +// CHECK:STDOUT: 3: inst600000EC +// CHECK:STDOUT: 4: inst600000ED +// CHECK:STDOUT: 5: inst600000EE +// CHECK:STDOUT: 6: inst600000EF +// CHECK:STDOUT: 7: inst600000F0 +// CHECK:STDOUT: 8: inst600000F1 +// CHECK:STDOUT: 9: inst600000F2 +// CHECK:STDOUT: 10: inst600000F3 // CHECK:STDOUT: inst_block0000004D: -// CHECK:STDOUT: 0: inst600000BE -// CHECK:STDOUT: 1: inst600000BF -// CHECK:STDOUT: 2: inst600000F3 +// CHECK:STDOUT: 0: inst600000BF +// CHECK:STDOUT: 1: inst600000C0 +// CHECK:STDOUT: 2: inst600000F4 // CHECK:STDOUT: inst_block0000004E: -// CHECK:STDOUT: 0: inst600000D1 -// CHECK:STDOUT: 1: inst600000D2 +// CHECK:STDOUT: 0: inst600000D2 +// CHECK:STDOUT: 1: inst600000D3 // CHECK:STDOUT: inst_block0000004F: -// CHECK:STDOUT: 0: inst60000060 -// CHECK:STDOUT: 1: inst600000BF -// CHECK:STDOUT: 2: inst600000F7 +// CHECK:STDOUT: 0: inst60000061 +// CHECK:STDOUT: 1: inst600000C0 +// CHECK:STDOUT: 2: inst600000F8 // CHECK:STDOUT: inst_block00000050: -// CHECK:STDOUT: 0: inst600000FB -// CHECK:STDOUT: 1: inst600000FA -// CHECK:STDOUT: 2: inst600000F9 -// CHECK:STDOUT: inst_block00000051: // CHECK:STDOUT: 0: inst600000FC -// CHECK:STDOUT: 1: inst600000FD -// CHECK:STDOUT: 2: inst600000FE +// CHECK:STDOUT: 1: inst600000FB +// CHECK:STDOUT: 2: inst600000FA +// CHECK:STDOUT: inst_block00000051: +// CHECK:STDOUT: 0: inst600000FD +// CHECK:STDOUT: 1: inst600000FE +// CHECK:STDOUT: 2: inst600000FF // CHECK:STDOUT: inst_block00000052: -// CHECK:STDOUT: 0: inst60000101 +// CHECK:STDOUT: 0: inst60000102 // CHECK:STDOUT: inst_block00000053: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE -// CHECK:STDOUT: 2: inst600000F6 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst600000BF +// CHECK:STDOUT: 2: inst600000F7 // CHECK:STDOUT: inst_block00000054: -// CHECK:STDOUT: 0: inst60000107 -// CHECK:STDOUT: 1: inst60000108 -// CHECK:STDOUT: 2: inst60000109 +// CHECK:STDOUT: 0: inst60000108 +// CHECK:STDOUT: 1: inst60000109 +// CHECK:STDOUT: 2: inst6000010A // CHECK:STDOUT: inst_block00000055: -// CHECK:STDOUT: 0: inst60000104 -// CHECK:STDOUT: 1: inst60000105 -// CHECK:STDOUT: 2: inst60000106 +// CHECK:STDOUT: 0: inst60000105 +// CHECK:STDOUT: 1: inst60000106 +// CHECK:STDOUT: 2: inst60000107 // CHECK:STDOUT: inst_block00000056: -// CHECK:STDOUT: 0: inst60000104 -// CHECK:STDOUT: 1: inst60000105 -// CHECK:STDOUT: 2: inst60000106 -// CHECK:STDOUT: 3: inst60000107 -// CHECK:STDOUT: 4: inst60000108 -// CHECK:STDOUT: 5: inst60000109 -// CHECK:STDOUT: 6: inst6000010A -// CHECK:STDOUT: 7: inst6000010B +// CHECK:STDOUT: 0: inst60000105 +// CHECK:STDOUT: 1: inst60000106 +// CHECK:STDOUT: 2: inst60000107 +// CHECK:STDOUT: 3: inst60000108 +// CHECK:STDOUT: 4: inst60000109 +// CHECK:STDOUT: 5: inst6000010A +// CHECK:STDOUT: 6: inst6000010B +// CHECK:STDOUT: 7: inst6000010C // CHECK:STDOUT: inst_block00000057: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE -// CHECK:STDOUT: 2: inst600000F6 -// CHECK:STDOUT: 3: inst60000060 -// CHECK:STDOUT: 4: inst600000BF -// CHECK:STDOUT: 5: inst600000F7 -// CHECK:STDOUT: 6: inst600000F8 -// CHECK:STDOUT: 7: inst60000103 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst600000BF +// CHECK:STDOUT: 2: inst600000F7 +// CHECK:STDOUT: 3: inst60000061 +// CHECK:STDOUT: 4: inst600000C0 +// CHECK:STDOUT: 5: inst600000F8 +// CHECK:STDOUT: 6: inst600000F9 +// CHECK:STDOUT: 7: inst60000104 // CHECK:STDOUT: inst_block00000058: -// CHECK:STDOUT: 0: inst60000113 -// CHECK:STDOUT: inst_block00000059: // CHECK:STDOUT: 0: inst60000114 -// CHECK:STDOUT: 1: inst60000115 -// CHECK:STDOUT: 2: inst60000116 +// CHECK:STDOUT: inst_block00000059: +// CHECK:STDOUT: 0: inst60000115 +// CHECK:STDOUT: 1: inst60000116 +// CHECK:STDOUT: 2: inst60000117 // CHECK:STDOUT: inst_block0000005A: -// CHECK:STDOUT: 0: inst60000104 -// CHECK:STDOUT: 1: inst60000105 -// CHECK:STDOUT: 2: inst60000106 +// CHECK:STDOUT: 0: inst60000105 +// CHECK:STDOUT: 1: inst60000106 +// CHECK:STDOUT: 2: inst60000107 // CHECK:STDOUT: inst_block0000005B: -// CHECK:STDOUT: 0: inst60000117 -// CHECK:STDOUT: 1: inst60000118 +// CHECK:STDOUT: 0: inst60000118 +// CHECK:STDOUT: 1: inst60000119 // CHECK:STDOUT: inst_block0000005C: -// CHECK:STDOUT: 0: inst6000011A -// CHECK:STDOUT: 1: inst6000011C -// CHECK:STDOUT: 2: inst6000011E +// CHECK:STDOUT: 0: inst6000011B +// CHECK:STDOUT: 1: inst6000011D +// CHECK:STDOUT: 2: inst6000011F // CHECK:STDOUT: inst_block0000005D: -// CHECK:STDOUT: 0: inst60000119 -// CHECK:STDOUT: 1: inst6000011A -// CHECK:STDOUT: 2: inst6000011B -// CHECK:STDOUT: 3: inst6000011C -// CHECK:STDOUT: 4: inst6000011D -// CHECK:STDOUT: 5: inst6000011E -// CHECK:STDOUT: 6: inst6000011F -// CHECK:STDOUT: 7: inst60000120 +// CHECK:STDOUT: 0: inst6000011A +// CHECK:STDOUT: 1: inst6000011B +// CHECK:STDOUT: 2: inst6000011C +// CHECK:STDOUT: 3: inst6000011D +// CHECK:STDOUT: 4: inst6000011E +// CHECK:STDOUT: 5: inst6000011F +// CHECK:STDOUT: 6: inst60000120 +// CHECK:STDOUT: 7: inst60000121 // CHECK:STDOUT: inst_block0000005E: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst600000BE -// CHECK:STDOUT: 3: inst600000BF -// CHECK:STDOUT: 4: inst600000F6 -// CHECK:STDOUT: 5: inst600000F7 -// CHECK:STDOUT: 6: inst600000F8 -// CHECK:STDOUT: 7: inst6000010F +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst600000BF +// CHECK:STDOUT: 3: inst600000C0 +// CHECK:STDOUT: 4: inst600000F7 +// CHECK:STDOUT: 5: inst600000F8 +// CHECK:STDOUT: 6: inst600000F9 +// CHECK:STDOUT: 7: inst60000110 // CHECK:STDOUT: inst_block0000005F: -// CHECK:STDOUT: 0: inst600000F6 +// CHECK:STDOUT: 0: inst600000F7 // CHECK:STDOUT: inst_block00000060: -// CHECK:STDOUT: 0: inst60000119 +// CHECK:STDOUT: 0: inst6000011A // CHECK:STDOUT: inst_block00000061: -// CHECK:STDOUT: 0: inst6000011B +// CHECK:STDOUT: 0: inst6000011C // CHECK:STDOUT: inst_block00000062: -// CHECK:STDOUT: 0: inst6000011D +// CHECK:STDOUT: 0: inst6000011E // CHECK:STDOUT: inst_block00000063: -// CHECK:STDOUT: 0: inst60000127 -// CHECK:STDOUT: 1: inst60000128 -// CHECK:STDOUT: 2: inst60000129 -// CHECK:STDOUT: 3: inst6000012A -// CHECK:STDOUT: 4: inst6000012B -// CHECK:STDOUT: 5: inst6000012C -// CHECK:STDOUT: 6: inst6000012D -// CHECK:STDOUT: 7: inst6000012E -// CHECK:STDOUT: 8: inst6000012F -// CHECK:STDOUT: 9: inst60000130 -// CHECK:STDOUT: 10: inst60000131 -// CHECK:STDOUT: 11: inst60000132 -// CHECK:STDOUT: 12: inst60000133 -// CHECK:STDOUT: 13: inst60000134 -// CHECK:STDOUT: 14: inst60000135 -// CHECK:STDOUT: 15: inst60000136 +// CHECK:STDOUT: 0: inst60000128 +// CHECK:STDOUT: 1: inst60000129 +// CHECK:STDOUT: 2: inst6000012A +// CHECK:STDOUT: 3: inst6000012B +// CHECK:STDOUT: 4: inst6000012C +// CHECK:STDOUT: 5: inst6000012D +// CHECK:STDOUT: 6: inst6000012E +// CHECK:STDOUT: 7: inst6000012F +// CHECK:STDOUT: 8: inst60000130 +// CHECK:STDOUT: 9: inst60000131 +// CHECK:STDOUT: 10: inst60000132 +// CHECK:STDOUT: 11: inst60000133 +// CHECK:STDOUT: 12: inst60000134 +// CHECK:STDOUT: 13: inst60000135 +// CHECK:STDOUT: 14: inst60000136 +// CHECK:STDOUT: 15: inst60000137 // CHECK:STDOUT: inst_block00000064: -// CHECK:STDOUT: 0: inst600000F6 -// CHECK:STDOUT: 1: inst600000F7 -// CHECK:STDOUT: 2: inst60000137 +// CHECK:STDOUT: 0: inst600000F7 +// CHECK:STDOUT: 1: inst600000F8 +// CHECK:STDOUT: 2: inst60000138 // CHECK:STDOUT: inst_block00000065: -// CHECK:STDOUT: 0: inst6000010D -// CHECK:STDOUT: 1: inst6000010E +// CHECK:STDOUT: 0: inst6000010E +// CHECK:STDOUT: 1: inst6000010F // CHECK:STDOUT: inst_block00000066: -// CHECK:STDOUT: 0: inst600000A7 -// CHECK:STDOUT: 1: inst600000A8 -// CHECK:STDOUT: 2: inst6000003D +// CHECK:STDOUT: 0: inst600000A8 +// CHECK:STDOUT: 1: inst600000A9 +// CHECK:STDOUT: 2: inst6000003E // CHECK:STDOUT: inst_block00000067: -// CHECK:STDOUT: 0: inst60000138 -// CHECK:STDOUT: inst_block00000068: // CHECK:STDOUT: 0: inst60000139 -// CHECK:STDOUT: inst_block00000069: +// CHECK:STDOUT: inst_block00000068: // CHECK:STDOUT: 0: inst6000013A +// CHECK:STDOUT: inst_block00000069: +// CHECK:STDOUT: 0: inst6000013B // CHECK:STDOUT: inst_block0000006A: -// CHECK:STDOUT: 0: inst6000013A -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst6000001E +// CHECK:STDOUT: 0: inst6000013B +// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 2: inst6000001F // CHECK:STDOUT: inst_block0000006B: -// CHECK:STDOUT: 0: inst6000013E +// CHECK:STDOUT: 0: inst6000013F // CHECK:STDOUT: inst_block0000006C: -// CHECK:STDOUT: 0: inst6000003F +// CHECK:STDOUT: 0: inst60000040 // CHECK:STDOUT: inst_block0000006D: -// CHECK:STDOUT: 0: inst60000148 -// CHECK:STDOUT: 1: inst6000014C +// CHECK:STDOUT: 0: inst60000149 +// CHECK:STDOUT: 1: inst6000014D // CHECK:STDOUT: inst_block0000006E: -// CHECK:STDOUT: 0: inst6000003B -// CHECK:STDOUT: 1: inst6000003E -// CHECK:STDOUT: 2: inst60000139 -// CHECK:STDOUT: 3: inst6000013E -// CHECK:STDOUT: 4: inst6000013F -// CHECK:STDOUT: 5: inst60000140 -// CHECK:STDOUT: 6: inst60000144 +// CHECK:STDOUT: 0: inst6000003C +// CHECK:STDOUT: 1: inst6000003F +// CHECK:STDOUT: 2: inst6000013A +// CHECK:STDOUT: 3: inst6000013F +// CHECK:STDOUT: 4: inst60000140 +// CHECK:STDOUT: 5: inst60000141 +// CHECK:STDOUT: 6: inst60000145 // CHECK:STDOUT: inst_block0000006F: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F -// CHECK:STDOUT: 2: inst60000035 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: 2: inst60000036 // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon index d62801c31282b..564f555bb650d 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon @@ -26,12 +26,12 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000025}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000026}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name00000000: {name: name00000001, parent_scope: name_scope, index: -1, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block00000009, return_slot_pattern: inst60000020, body: [inst_block0000000C]} +// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block00000009, return_slot_pattern: inst60000021, body: [inst_block0000000C]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} @@ -44,150 +44,150 @@ fn Foo(n: ()) -> ((), ()) { // 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(inst6000000F)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000000F)} -// CHECK:STDOUT: 'type(inst60000018)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000001A)} -// CHECK:STDOUT: 'type(inst6000001A)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000001A)} -// CHECK:STDOUT: 'type(inst60000026)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000000F)} +// CHECK:STDOUT: 'type(inst60000010)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000010)} +// CHECK:STDOUT: 'type(inst60000019)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000001B)} +// CHECK:STDOUT: 'type(inst6000001B)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000001B)} +// CHECK:STDOUT: 'type(inst60000027)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000010)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000010: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000011: {kind: Converted, arg0: inst60000010, arg1: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: BindName, arg0: entity_name00000000, arg1: inst60000021, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000013: {kind: PatternType, arg0: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst60000014: {kind: BindingPattern, arg0: entity_name00000000, type: type(inst60000013)} -// CHECK:STDOUT: inst60000015: {kind: ValueParamPattern, arg0: inst60000014, arg1: call_param0, type: type(inst60000013)} -// CHECK:STDOUT: inst60000016: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000017: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000018: {kind: TupleType, arg0: inst_block00000007, type: type(TypeType)} -// CHECK:STDOUT: inst60000019: {kind: TupleLiteral, arg0: inst_block00000006, type: type(inst60000018)} -// CHECK:STDOUT: inst6000001A: {kind: PointerType, arg0: inst60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: Converted, arg0: inst60000016, arg1: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst6000001C: {kind: Converted, arg0: inst60000017, arg1: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst6000001D: {kind: Converted, arg0: inst60000019, arg1: inst60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000001E: {kind: PatternType, arg0: inst60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000001F: {kind: ReturnSlotPattern, arg0: inst6000001D, type: type(inst6000001E)} -// CHECK:STDOUT: inst60000020: {kind: OutParamPattern, arg0: inst6000001F, arg1: call_param1, type: type(inst6000001E)} -// CHECK:STDOUT: inst60000021: {kind: ValueParam, arg0: call_param0, arg1: name00000001, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000022: {kind: SpliceBlock, arg0: inst_block00000004, arg1: inst60000011, type: type(TypeType)} -// CHECK:STDOUT: inst60000023: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(inst60000018)} -// CHECK:STDOUT: inst60000024: {kind: ReturnSlot, arg0: inst60000018, arg1: inst60000023, type: type(inst60000018)} -// CHECK:STDOUT: inst60000025: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block0000000B, type: type(inst60000026)} -// CHECK:STDOUT: inst60000026: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000027: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000026)} -// CHECK:STDOUT: inst60000028: {kind: NameRef, arg0: name00000001, arg1: inst60000012, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000029: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002A: {kind: TupleLiteral, arg0: inst_block0000000D, type: type(inst60000018)} -// CHECK:STDOUT: inst6000002B: {kind: TupleAccess, arg0: inst60000024, arg1: element0, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002C: {kind: TupleInit, arg0: inst_block0000000E, arg1: inst6000002B, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002D: {kind: TupleValue, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002E: {kind: Converted, arg0: inst60000028, arg1: inst6000002C, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002F: {kind: TupleAccess, arg0: inst60000024, arg1: element1, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000030: {kind: TupleInit, arg0: inst_block_empty, arg1: inst6000002F, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000031: {kind: Converted, arg0: inst60000029, arg1: inst60000030, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000032: {kind: TupleInit, arg0: inst_block0000000F, arg1: inst60000024, type: type(inst60000018)} -// CHECK:STDOUT: inst60000033: {kind: TupleValue, arg0: inst_block00000010, type: type(inst60000018)} -// CHECK:STDOUT: inst60000034: {kind: Converted, arg0: inst6000002A, arg1: inst60000032, type: type(inst60000018)} -// CHECK:STDOUT: inst60000035: {kind: ReturnExpr, arg0: inst60000034, arg1: inst60000024} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000011: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst60000012: {kind: Converted, arg0: inst60000011, arg1: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: BindName, arg0: entity_name00000000, arg1: inst60000022, type: type(inst60000010)} +// CHECK:STDOUT: inst60000014: {kind: PatternType, arg0: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst60000015: {kind: BindingPattern, arg0: entity_name00000000, type: type(inst60000014)} +// CHECK:STDOUT: inst60000016: {kind: ValueParamPattern, arg0: inst60000015, arg1: call_param0, type: type(inst60000014)} +// CHECK:STDOUT: inst60000017: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst60000018: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst60000019: {kind: TupleType, arg0: inst_block00000007, type: type(TypeType)} +// CHECK:STDOUT: inst6000001A: {kind: TupleLiteral, arg0: inst_block00000006, type: type(inst60000019)} +// CHECK:STDOUT: inst6000001B: {kind: PointerType, arg0: inst60000019, type: type(TypeType)} +// CHECK:STDOUT: inst6000001C: {kind: Converted, arg0: inst60000017, arg1: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst6000001D: {kind: Converted, arg0: inst60000018, arg1: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst6000001E: {kind: Converted, arg0: inst6000001A, arg1: inst60000019, type: type(TypeType)} +// CHECK:STDOUT: inst6000001F: {kind: PatternType, arg0: inst60000019, type: type(TypeType)} +// CHECK:STDOUT: inst60000020: {kind: ReturnSlotPattern, arg0: inst6000001E, type: type(inst6000001F)} +// CHECK:STDOUT: inst60000021: {kind: OutParamPattern, arg0: inst60000020, arg1: call_param1, type: type(inst6000001F)} +// CHECK:STDOUT: inst60000022: {kind: ValueParam, arg0: call_param0, arg1: name00000001, type: type(inst60000010)} +// CHECK:STDOUT: inst60000023: {kind: SpliceBlock, arg0: inst_block00000004, arg1: inst60000012, type: type(TypeType)} +// CHECK:STDOUT: inst60000024: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(inst60000019)} +// CHECK:STDOUT: inst60000025: {kind: ReturnSlot, arg0: inst60000019, arg1: inst60000024, type: type(inst60000019)} +// CHECK:STDOUT: inst60000026: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block0000000B, type: type(inst60000027)} +// CHECK:STDOUT: inst60000027: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000028: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000027)} +// CHECK:STDOUT: inst60000029: {kind: NameRef, arg0: name00000001, arg1: inst60000013, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002A: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002B: {kind: TupleLiteral, arg0: inst_block0000000D, type: type(inst60000019)} +// CHECK:STDOUT: inst6000002C: {kind: TupleAccess, arg0: inst60000025, arg1: element0, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002D: {kind: TupleInit, arg0: inst_block0000000E, arg1: inst6000002C, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002E: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002F: {kind: Converted, arg0: inst60000029, arg1: inst6000002D, type: type(inst60000010)} +// CHECK:STDOUT: inst60000030: {kind: TupleAccess, arg0: inst60000025, arg1: element1, type: type(inst60000010)} +// CHECK:STDOUT: inst60000031: {kind: TupleInit, arg0: inst_block_empty, arg1: inst60000030, type: type(inst60000010)} +// CHECK:STDOUT: inst60000032: {kind: Converted, arg0: inst6000002A, arg1: inst60000031, type: type(inst60000010)} +// CHECK:STDOUT: inst60000033: {kind: TupleInit, arg0: inst_block0000000F, arg1: inst60000025, type: type(inst60000019)} +// CHECK:STDOUT: inst60000034: {kind: TupleValue, arg0: inst_block00000010, type: type(inst60000019)} +// CHECK:STDOUT: inst60000035: {kind: Converted, arg0: inst6000002B, arg1: inst60000033, type: type(inst60000019)} +// CHECK:STDOUT: inst60000036: {kind: ReturnExpr, arg0: inst60000035, arg1: inst60000025} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst6000000F: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst60000011: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst60000012: concrete_constant(inst60000010) // CHECK:STDOUT: inst60000014: concrete_constant(inst60000014) // CHECK:STDOUT: inst60000015: concrete_constant(inst60000015) -// CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst6000001A: concrete_constant(inst6000001A) -// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst6000001D: concrete_constant(inst60000018) -// CHECK:STDOUT: inst6000001E: concrete_constant(inst6000001E) +// CHECK:STDOUT: inst60000016: concrete_constant(inst60000016) +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000001B) +// CHECK:STDOUT: inst6000001C: concrete_constant(inst60000010) +// CHECK:STDOUT: inst6000001D: concrete_constant(inst60000010) +// CHECK:STDOUT: inst6000001E: concrete_constant(inst60000019) // CHECK:STDOUT: inst6000001F: concrete_constant(inst6000001F) // CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) -// CHECK:STDOUT: inst60000022: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst60000025: concrete_constant(inst60000027) -// CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) +// CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) +// CHECK:STDOUT: inst60000023: concrete_constant(inst60000010) +// CHECK:STDOUT: inst60000026: concrete_constant(inst60000028) // CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) -// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst60000030: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst60000031: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst60000032: concrete_constant(inst60000033) -// CHECK:STDOUT: inst60000033: concrete_constant(inst60000033) -// CHECK:STDOUT: inst60000034: concrete_constant(inst60000033) +// CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) +// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst6000002F: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst60000031: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst60000032: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst60000033: concrete_constant(inst60000034) +// CHECK:STDOUT: inst60000034: concrete_constant(inst60000034) +// CHECK:STDOUT: inst60000035: concrete_constant(inst60000034) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst60000025 +// CHECK:STDOUT: 0: inst60000026 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: -// CHECK:STDOUT: 0: inst60000010 -// CHECK:STDOUT: 1: inst60000011 +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000012 // CHECK:STDOUT: inst_block00000005: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: inst_block00000006: // CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst60000017 +// CHECK:STDOUT: inst_block00000006: +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst60000018 // CHECK:STDOUT: inst_block00000007: -// CHECK:STDOUT: 0: inst6000000F -// CHECK:STDOUT: 1: inst6000000F +// CHECK:STDOUT: 0: inst60000010 +// CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: inst_block00000008: -// CHECK:STDOUT: 0: inst6000001B -// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 0: inst6000001C +// CHECK:STDOUT: 1: inst6000001D // CHECK:STDOUT: inst_block00000009: -// CHECK:STDOUT: 0: inst60000021 -// CHECK:STDOUT: 1: inst60000023 +// CHECK:STDOUT: 0: inst60000022 +// CHECK:STDOUT: 1: inst60000024 // CHECK:STDOUT: inst_block0000000A: -// CHECK:STDOUT: 0: inst60000014 -// CHECK:STDOUT: 1: inst60000015 -// CHECK:STDOUT: 2: inst6000001F -// CHECK:STDOUT: 3: inst60000020 +// CHECK:STDOUT: 0: inst60000015 +// CHECK:STDOUT: 1: inst60000016 +// CHECK:STDOUT: 2: inst60000020 +// CHECK:STDOUT: 3: inst60000021 // CHECK:STDOUT: inst_block0000000B: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst60000017 -// CHECK:STDOUT: 2: inst60000019 -// CHECK:STDOUT: 3: inst6000001B -// CHECK:STDOUT: 4: inst6000001C -// CHECK:STDOUT: 5: inst6000001D -// CHECK:STDOUT: 6: inst60000021 -// CHECK:STDOUT: 7: inst60000022 -// CHECK:STDOUT: 8: inst60000012 -// CHECK:STDOUT: 9: inst60000023 -// CHECK:STDOUT: 10: inst60000024 +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst60000018 +// CHECK:STDOUT: 2: inst6000001A +// CHECK:STDOUT: 3: inst6000001C +// CHECK:STDOUT: 4: inst6000001D +// CHECK:STDOUT: 5: inst6000001E +// CHECK:STDOUT: 6: inst60000022 +// CHECK:STDOUT: 7: inst60000023 +// CHECK:STDOUT: 8: inst60000013 +// CHECK:STDOUT: 9: inst60000024 +// CHECK:STDOUT: 10: inst60000025 // CHECK:STDOUT: inst_block0000000C: -// CHECK:STDOUT: 0: inst60000028 -// CHECK:STDOUT: 1: inst60000029 -// CHECK:STDOUT: 2: inst6000002A -// CHECK:STDOUT: 3: inst6000002B -// CHECK:STDOUT: 4: inst6000002C -// CHECK:STDOUT: 5: inst6000002E -// CHECK:STDOUT: 6: inst6000002F -// CHECK:STDOUT: 7: inst60000030 -// CHECK:STDOUT: 8: inst60000031 -// CHECK:STDOUT: 9: inst60000032 -// CHECK:STDOUT: 10: inst60000034 -// CHECK:STDOUT: 11: inst60000035 +// CHECK:STDOUT: 0: inst60000029 +// CHECK:STDOUT: 1: inst6000002A +// CHECK:STDOUT: 2: inst6000002B +// CHECK:STDOUT: 3: inst6000002C +// CHECK:STDOUT: 4: inst6000002D +// CHECK:STDOUT: 5: inst6000002F +// CHECK:STDOUT: 6: inst60000030 +// CHECK:STDOUT: 7: inst60000031 +// CHECK:STDOUT: 8: inst60000032 +// CHECK:STDOUT: 9: inst60000033 +// CHECK:STDOUT: 10: inst60000035 +// CHECK:STDOUT: 11: inst60000036 // CHECK:STDOUT: inst_block0000000D: -// CHECK:STDOUT: 0: inst60000028 -// CHECK:STDOUT: 1: inst60000029 +// CHECK:STDOUT: 0: inst60000029 +// CHECK:STDOUT: 1: inst6000002A // CHECK:STDOUT: inst_block0000000E: {} // CHECK:STDOUT: inst_block0000000F: -// CHECK:STDOUT: 0: inst6000002E -// CHECK:STDOUT: 1: inst60000031 +// CHECK:STDOUT: 0: inst6000002F +// CHECK:STDOUT: 1: inst60000032 // CHECK:STDOUT: inst_block00000010: -// CHECK:STDOUT: 0: inst6000002D -// CHECK:STDOUT: 1: inst6000002D +// CHECK:STDOUT: 0: inst6000002E +// CHECK:STDOUT: 1: inst6000002E // CHECK:STDOUT: inst_block00000011: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000026 // CHECK:STDOUT: ... // CHECK:STDOUT: --- one_file_with_textual_ir.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon index ed9bdd16128ca..24f51bd41e570 100644 --- a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon +++ b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon @@ -130,7 +130,7 @@ fn F() { // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @C(.inst68000014.loc4_14: type) { +// CHECK:STDOUT: generic class @C(.inst68000015.loc4_14: type) { // CHECK:STDOUT: %T: type = bind_symbolic_name T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -145,7 +145,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B { -// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst68000019.loc4_24 [concrete = constants.%C.generic] +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst6800001A.loc4_24 [concrete = constants.%C.generic] // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: if %true br !if.expr.then else br !if.expr.else // CHECK:STDOUT: complete_type_witness = invalid diff --git a/toolchain/check/testdata/interop/cpp/builtins.carbon b/toolchain/check/testdata/interop/cpp/builtins.carbon index da559bbc27330..0429c8cfd2f9b 100644 --- a/toolchain/check/testdata/interop/cpp/builtins.carbon +++ b/toolchain/check/testdata/interop/cpp/builtins.carbon @@ -52,6 +52,22 @@ import Cpp inline ""; fn F() { //@dump-sem-ir-begin + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:39: error: cannot convert expression of type `i64` to `` with `as` [ConversionFailure] + // CHECK:STDERR: let cpp_long_long : Cpp.long_long = (1 as i64) as Cpp.long_long; + // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~ + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:39: note: type `i64` does not implement interface `Core.As()` [MissingImplInMemberAccessNote] + // CHECK:STDERR: let cpp_long_long : Cpp.long_long = (1 as i64) as Cpp.long_long; + // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~ + // CHECK:STDERR: + let cpp_long_long : Cpp.long_long = (1 as i64) as Cpp.long_long; + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:31: error: cannot convert expression of type `` to `i64` with `as` [ConversionFailure] + // CHECK:STDERR: let carbon_long_long: i64 = cpp_long_long as i64; + // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~ + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:31: note: type `` does not implement interface `Core.As(i64)` [MissingImplInMemberAccessNote] + // CHECK:STDERR: let carbon_long_long: i64 = cpp_long_long as i64; + // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~ + // CHECK:STDERR: + let carbon_long_long: i64 = cpp_long_long as i64; // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:25: error: semantics TODO: `Unsupported: builtin type: long double` [SemanticsTodo] // CHECK:STDERR: let cpp_long_double : Cpp.long_double = 1.0 as f64; // CHECK:STDERR: ^~~~~~~~~~~~~~~ @@ -486,55 +502,113 @@ fn F() { // CHECK:STDOUT: --- fail_todo_unsupported_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { -// CHECK:STDOUT: %float.674: Core.FloatLiteral = float_literal_value 10e-1 [concrete] +// CHECK:STDOUT: %pattern_type.fb7: type = pattern_type custom_cpp_long_long_type [concrete] +// CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] +// CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] +// CHECK:STDOUT: %As.type.bbb: type = facet_type <@As, @As(%i64)> [concrete] +// CHECK:STDOUT: %As.Convert.type.d57: type = fn_type @As.Convert, @As(%i64) [concrete] +// CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.565: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%To) [symbolic] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.d2c: %Core.IntLiteral.as.As.impl.Convert.type.565 = struct_value () [symbolic] +// CHECK:STDOUT: %As.impl_witness.4f1: = impl_witness imports.%As.impl_witness_table.5ad, @Core.IntLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.type.9ac: type = fn_type @Core.IntLiteral.as.As.impl.Convert, @Core.IntLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.fe2: %Core.IntLiteral.as.As.impl.Convert.type.9ac = struct_value () [concrete] +// CHECK:STDOUT: %As.facet.888: %As.type.bbb = facet_value Core.IntLiteral, (%As.impl_witness.4f1) [concrete] +// CHECK:STDOUT: %.b12: type = fn_type_with_self_type %As.Convert.type.d57, %As.facet.888 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.bound: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.fe2 [concrete] +// CHECK:STDOUT: %pattern_type.95b: type = pattern_type %i64 [concrete] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.IntLiteral.as.As.impl.Convert.fe2, @Core.IntLiteral.as.As.impl.Convert(%int_64) [concrete] +// CHECK:STDOUT: %bound_method.b11: = bound_method %int_1.5b8, %Core.IntLiteral.as.As.impl.Convert.specific_fn [concrete] +// CHECK:STDOUT: %int_1.41a: %i64 = int_value 1 [concrete] +// CHECK:STDOUT: %float.674: Core.FloatLiteral = float_literal_value 10e-1 [concrete] // CHECK:STDOUT: %f64.d77: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %As.type.6a8: type = facet_type <@As, @As(%f64.d77)> [concrete] // CHECK:STDOUT: %As.Convert.type.8fc: type = fn_type @As.Convert, @As(%f64.d77) [concrete] -// CHECK:STDOUT: %To: Core.IntLiteral = bind_symbolic_name To, 0 [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.d83: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%To) [symbolic] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.f91: %Core.FloatLiteral.as.As.impl.Convert.type.d83 = struct_value () [symbolic] -// CHECK:STDOUT: %As.impl_witness.6b0: = impl_witness imports.%As.impl_witness_table, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] +// CHECK:STDOUT: %As.impl_witness.6b0: = impl_witness imports.%As.impl_witness_table.e98, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.type.50a: type = fn_type @Core.FloatLiteral.as.As.impl.Convert, @Core.FloatLiteral.as.As.impl(%int_64) [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.09c: %Core.FloatLiteral.as.As.impl.Convert.type.50a = struct_value () [concrete] -// CHECK:STDOUT: %As.facet: %As.type.6a8 = facet_value Core.FloatLiteral, (%As.impl_witness.6b0) [concrete] -// CHECK:STDOUT: %.bee: type = fn_type_with_self_type %As.Convert.type.8fc, %As.facet [concrete] +// CHECK:STDOUT: %As.facet.2ea: %As.type.6a8 = facet_value Core.FloatLiteral, (%As.impl_witness.6b0) [concrete] +// CHECK:STDOUT: %.bee: type = fn_type_with_self_type %As.Convert.type.8fc, %As.facet.2ea [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.bound: = bound_method %float.674, %Core.FloatLiteral.as.As.impl.Convert.09c [concrete] // CHECK:STDOUT: %pattern_type.0ae: type = pattern_type %f64.d77 [concrete] // CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.specific_fn: = specific_function %Core.FloatLiteral.as.As.impl.Convert.09c, @Core.FloatLiteral.as.As.impl.Convert(%int_64) [concrete] -// CHECK:STDOUT: %bound_method: = bound_method %float.674, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] +// CHECK:STDOUT: %bound_method.60f: = bound_method %float.674, %Core.FloatLiteral.as.As.impl.Convert.specific_fn [concrete] // CHECK:STDOUT: %float.d20: %f64.d77 = float_value 1 [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .long_long = custom_cpp_long_long_type +// CHECK:STDOUT: .long_double = +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import_ref.99c: @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.565) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.d2c)] +// CHECK:STDOUT: %As.impl_witness_table.5ad = impl_witness_table (%Core.import_ref.99c), @Core.IntLiteral.as.As.impl [concrete] // CHECK:STDOUT: %Core.import_ref.ea0: @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert.type (%Core.FloatLiteral.as.As.impl.Convert.type.d83) = import_ref Core//prelude/parts/float, loc{{\d+_\d+}}, loaded [symbolic = @Core.FloatLiteral.as.As.impl.%Core.FloatLiteral.as.As.impl.Convert (constants.%Core.FloatLiteral.as.As.impl.Convert.f91)] -// CHECK:STDOUT: %As.impl_witness_table = impl_witness_table (%Core.import_ref.ea0), @Core.FloatLiteral.as.As.impl [concrete] +// CHECK:STDOUT: %As.impl_witness_table.e98 = impl_witness_table (%Core.import_ref.ea0), @Core.FloatLiteral.as.As.impl [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %cpp_long_long.patt: %pattern_type.fb7 = binding_pattern cpp_long_long [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] +// 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: %impl.elem0.loc15: %.b12 = impl_witness_access constants.%As.impl_witness.4f1, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.fe2] +// CHECK:STDOUT: %bound_method.loc15_42.1: = bound_method %int_1, %impl.elem0.loc15 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound] +// CHECK:STDOUT: %specific_fn.loc15: = specific_function %impl.elem0.loc15, @Core.IntLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn] +// CHECK:STDOUT: %bound_method.loc15_42.2: = bound_method %int_1, %specific_fn.loc15 [concrete = constants.%bound_method.b11] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call: init %i64 = call %bound_method.loc15_42.2(%int_1) [concrete = constants.%int_1.41a] +// CHECK:STDOUT: %.loc15_42.1: %i64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call [concrete = constants.%int_1.41a] +// CHECK:STDOUT: %.loc15_42.2: %i64 = converted %int_1, %.loc15_42.1 [concrete = constants.%int_1.41a] +// CHECK:STDOUT: %Cpp.ref.loc15_53: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %long_long.ref.loc15_56: type = name_ref long_long, custom_cpp_long_long_type [concrete = custom_cpp_long_long_type] +// CHECK:STDOUT: %.loc15_50: custom_cpp_long_long_type = converted %.loc15_42.2, [concrete = ] +// CHECK:STDOUT: %.loc15_26: type = splice_block %long_long.ref.loc15_26 [concrete = custom_cpp_long_long_type] { +// CHECK:STDOUT: %Cpp.ref.loc15_23: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: +// CHECK:STDOUT: %long_long.ref.loc15_26: type = name_ref long_long, custom_cpp_long_long_type [concrete = custom_cpp_long_long_type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %cpp_long_long: custom_cpp_long_long_type = bind_name cpp_long_long, [concrete = ] +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %carbon_long_long.patt: %pattern_type.95b = binding_pattern carbon_long_long [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %cpp_long_long.ref: custom_cpp_long_long_type = name_ref cpp_long_long, %cpp_long_long [concrete = ] +// CHECK:STDOUT: %int_64.loc23_48: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %i64.loc23_48: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %.loc23_45: %i64 = converted %cpp_long_long.ref, [concrete = ] +// CHECK:STDOUT: %.loc23_25: type = splice_block %i64.loc23_25 [concrete = constants.%i64] { +// CHECK:STDOUT: %int_64.loc23_25: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %i64.loc23_25: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: } +// CHECK:STDOUT: %carbon_long_long: %i64 = bind_name carbon_long_long, [concrete = ] +// CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_long_double.patt: = 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: %impl.elem0: %.bee = impl_witness_access constants.%As.impl_witness.6b0, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.09c] -// 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] -// CHECK:STDOUT: %bound_method.loc15_47.2: = bound_method %float, %specific_fn [concrete = constants.%bound_method] -// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.call: init %f64.d77 = call %bound_method.loc15_47.2(%float) [concrete = constants.%float.d20] -// CHECK:STDOUT: %.loc15_47.1: %f64.d77 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.d20] -// CHECK:STDOUT: %.loc15_47.2: %f64.d77 = converted %float, %.loc15_47.1 [concrete = constants.%float.d20] +// CHECK:STDOUT: %int_64.loc31: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %f64.loc31: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] +// CHECK:STDOUT: %impl.elem0.loc31: %.bee = impl_witness_access constants.%As.impl_witness.6b0, element0 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.09c] +// CHECK:STDOUT: %bound_method.loc31_47.1: = bound_method %float, %impl.elem0.loc31 [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.bound] +// CHECK:STDOUT: %specific_fn.loc31: = specific_function %impl.elem0.loc31, @Core.FloatLiteral.as.As.impl.Convert(constants.%int_64) [concrete = constants.%Core.FloatLiteral.as.As.impl.Convert.specific_fn] +// CHECK:STDOUT: %bound_method.loc31_47.2: = bound_method %float, %specific_fn.loc31 [concrete = constants.%bound_method.60f] +// CHECK:STDOUT: %Core.FloatLiteral.as.As.impl.Convert.call: init %f64.d77 = call %bound_method.loc31_47.2(%float) [concrete = constants.%float.d20] +// CHECK:STDOUT: %.loc31_47.1: %f64.d77 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.d20] +// CHECK:STDOUT: %.loc31_47.2: %f64.d77 = converted %float, %.loc31_47.1 [concrete = constants.%float.d20] // CHECK:STDOUT: // CHECK:STDOUT: %cpp_long_double: = bind_name cpp_long_double, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_long_double.patt: %pattern_type.0ae = 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: %.loc32: type = splice_block %f64.loc32 [concrete = constants.%f64.d77] { +// CHECK:STDOUT: %int_64.loc32: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %f64.loc32: type = class_type @Float, @Float(constants.%int_64) [concrete = constants.%f64.d77] // CHECK:STDOUT: } // CHECK:STDOUT: %carbon_long_double: %f64.d77 = bind_name carbon_long_double, [concrete = ] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon b/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon index 4e55445ef91ed..e4f8ae5cdaa9c 100644 --- a/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon +++ b/toolchain/check/testdata/interop/cpp/builtins.lp64.carbon @@ -35,14 +35,21 @@ import Cpp inline ""; fn F() { //@dump-sem-ir-begin - // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:23: error: semantics TODO: `Unsupported: builtin type: long long` [SemanticsTodo] + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:39: error: cannot implicitly convert expression of type `i64` to `` [ConversionFailure] // CHECK:STDERR: let cpp_long_long : Cpp.long_long = 1 as i64; - // CHECK:STDERR: ^~~~~~~~~~~~~ - // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:23: note: in `Cpp` name lookup for `long_long` [InCppNameLookup] + // CHECK:STDERR: ^~~~~~~~ + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:39: note: type `i64` does not implement interface `Core.ImplicitAs()` [MissingImplInMemberAccessNote] // CHECK:STDERR: let cpp_long_long : Cpp.long_long = 1 as i64; - // CHECK:STDERR: ^~~~~~~~~~~~~ + // CHECK:STDERR: ^~~~~~~~ // CHECK:STDERR: let cpp_long_long : Cpp.long_long = 1 as i64; + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:31: error: cannot implicitly convert expression of type `` to `i64` [ConversionFailure] + // CHECK:STDERR: let carbon_long_long: i64 = cpp_long_long; + // CHECK:STDERR: ^~~~~~~~~~~~~ + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:31: note: type `` does not implement interface `Core.ImplicitAs(i64)` [MissingImplInMemberAccessNote] + // CHECK:STDERR: let carbon_long_long: i64 = cpp_long_long; + // CHECK:STDERR: ^~~~~~~~~~~~~ + // CHECK:STDERR: let carbon_long_long: i64 = cpp_long_long; // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:32: error: semantics TODO: `Unsupported: builtin type: unsigned long long` [SemanticsTodo] @@ -171,6 +178,7 @@ fn F() { // CHECK:STDOUT: --- fail_todo_unsupported_types.carbon // CHECK:STDOUT: // CHECK:STDOUT: constants { +// CHECK:STDOUT: %pattern_type.fb7: type = pattern_type custom_cpp_long_long_type [concrete] // CHECK:STDOUT: %int_1.5b8: Core.IntLiteral = int_value 1 [concrete] // CHECK:STDOUT: %int_64: Core.IntLiteral = int_value 64 [concrete] // CHECK:STDOUT: %i64: type = class_type @Int, @Int(%int_64) [concrete] @@ -207,6 +215,11 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .long_long = custom_cpp_long_long_type +// CHECK:STDOUT: .unsigned_long_long = +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } // CHECK:STDOUT: %Core.import_ref.99c: @Core.IntLiteral.as.As.impl.dc4.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.565) = import_ref Core//prelude/parts/int, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.dc4.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.d2c)] // CHECK:STDOUT: %As.impl_witness_table.5ad = impl_witness_table (%Core.import_ref.99c), @Core.IntLiteral.as.As.impl.dc4 [concrete] // CHECK:STDOUT: %Core.import_ref.611: @Core.IntLiteral.as.As.impl.cc4.%Core.IntLiteral.as.As.impl.Convert.type (%Core.IntLiteral.as.As.impl.Convert.type.972) = import_ref Core//prelude/parts/uint, loc{{\d+_\d+}}, loaded [symbolic = @Core.IntLiteral.as.As.impl.cc4.%Core.IntLiteral.as.As.impl.Convert (constants.%Core.IntLiteral.as.As.impl.Convert.276)] @@ -216,7 +229,7 @@ fn F() { // CHECK:STDOUT: fn @F() { // CHECK:STDOUT: !entry: // CHECK:STDOUT: name_binding_decl { -// CHECK:STDOUT: %cpp_long_long.patt: = binding_pattern cpp_long_long [concrete] +// CHECK:STDOUT: %cpp_long_long.patt: %pattern_type.fb7 = binding_pattern cpp_long_long [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %int_1.loc15: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] // CHECK:STDOUT: %int_64.loc15: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] @@ -228,39 +241,45 @@ fn F() { // CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc15: init %i64 = call %bound_method.loc15_41.2(%int_1.loc15) [concrete = constants.%int_1.41a] // CHECK:STDOUT: %.loc15_41.1: %i64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc15 [concrete = constants.%int_1.41a] // CHECK:STDOUT: %.loc15_41.2: %i64 = converted %int_1.loc15, %.loc15_41.1 [concrete = constants.%int_1.41a] -// CHECK:STDOUT: -// CHECK:STDOUT: %cpp_long_long: = bind_name cpp_long_long, [concrete = ] +// CHECK:STDOUT: %.loc15_26: type = splice_block %long_long.ref [concrete = custom_cpp_long_long_type] { +// CHECK:STDOUT: %Cpp.ref.loc15: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: +// CHECK:STDOUT: %long_long.ref: type = name_ref long_long, custom_cpp_long_long_type [concrete = custom_cpp_long_long_type] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc15_41.3: custom_cpp_long_long_type = converted %.loc15_41.2, [concrete = ] +// CHECK:STDOUT: %cpp_long_long: custom_cpp_long_long_type = bind_name cpp_long_long, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_long_long.patt: %pattern_type.95b = binding_pattern carbon_long_long [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %cpp_long_long.ref: = name_ref cpp_long_long, %cpp_long_long [concrete = ] -// CHECK:STDOUT: %.loc16: type = splice_block %i64.loc16 [concrete = constants.%i64] { -// CHECK:STDOUT: %int_64.loc16: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %i64.loc16: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] +// CHECK:STDOUT: %cpp_long_long.ref: custom_cpp_long_long_type = name_ref cpp_long_long, %cpp_long_long [concrete = ] +// CHECK:STDOUT: %.loc23_25: type = splice_block %i64.loc23 [concrete = constants.%i64] { +// CHECK:STDOUT: %int_64.loc23: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %i64.loc23: type = class_type @Int, @Int(constants.%int_64) [concrete = constants.%i64] // CHECK:STDOUT: } +// CHECK:STDOUT: %.loc23_31: %i64 = converted %cpp_long_long.ref, [concrete = ] // CHECK:STDOUT: %carbon_long_long: %i64 = bind_name carbon_long_long, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %cpp_unsigned_long_long.patt: = binding_pattern cpp_unsigned_long_long [concrete] // CHECK:STDOUT: } -// CHECK:STDOUT: %int_1.loc25: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] -// CHECK:STDOUT: %int_64.loc25: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %u64.loc25: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] -// CHECK:STDOUT: %impl.elem0.loc25: %.e88 = impl_witness_access constants.%As.impl_witness.feb, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.467] -// CHECK:STDOUT: %bound_method.loc25_59.1: = bound_method %int_1.loc25, %impl.elem0.loc25 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.fec] -// CHECK:STDOUT: %specific_fn.loc25: = specific_function %impl.elem0.loc25, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.6f5] -// CHECK:STDOUT: %bound_method.loc25_59.2: = bound_method %int_1.loc25, %specific_fn.loc25 [concrete = constants.%bound_method.290] -// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc25: init %u64 = call %bound_method.loc25_59.2(%int_1.loc25) [concrete = constants.%int_1.f23] -// CHECK:STDOUT: %.loc25_59.1: %u64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc25 [concrete = constants.%int_1.f23] -// CHECK:STDOUT: %.loc25_59.2: %u64 = converted %int_1.loc25, %.loc25_59.1 [concrete = constants.%int_1.f23] +// CHECK:STDOUT: %int_1.loc32: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8] +// CHECK:STDOUT: %int_64.loc32: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %u64.loc32: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] +// CHECK:STDOUT: %impl.elem0.loc32: %.e88 = impl_witness_access constants.%As.impl_witness.feb, element0 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.467] +// CHECK:STDOUT: %bound_method.loc32_59.1: = bound_method %int_1.loc32, %impl.elem0.loc32 [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.bound.fec] +// CHECK:STDOUT: %specific_fn.loc32: = specific_function %impl.elem0.loc32, @Core.IntLiteral.as.As.impl.Convert.2(constants.%int_64) [concrete = constants.%Core.IntLiteral.as.As.impl.Convert.specific_fn.6f5] +// CHECK:STDOUT: %bound_method.loc32_59.2: = bound_method %int_1.loc32, %specific_fn.loc32 [concrete = constants.%bound_method.290] +// CHECK:STDOUT: %Core.IntLiteral.as.As.impl.Convert.call.loc32: init %u64 = call %bound_method.loc32_59.2(%int_1.loc32) [concrete = constants.%int_1.f23] +// CHECK:STDOUT: %.loc32_59.1: %u64 = value_of_initializer %Core.IntLiteral.as.As.impl.Convert.call.loc32 [concrete = constants.%int_1.f23] +// CHECK:STDOUT: %.loc32_59.2: %u64 = converted %int_1.loc32, %.loc32_59.1 [concrete = constants.%int_1.f23] // CHECK:STDOUT: // CHECK:STDOUT: %cpp_unsigned_long_long: = bind_name cpp_unsigned_long_long, [concrete = ] // CHECK:STDOUT: name_binding_decl { // CHECK:STDOUT: %carbon_unsigned_long_long.patt: %pattern_type.157 = binding_pattern carbon_unsigned_long_long [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: %cpp_unsigned_long_long.ref: = name_ref cpp_unsigned_long_long, %cpp_unsigned_long_long [concrete = ] -// CHECK:STDOUT: %.loc26: type = splice_block %u64.loc26 [concrete = constants.%u64] { -// CHECK:STDOUT: %int_64.loc26: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] -// CHECK:STDOUT: %u64.loc26: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] +// CHECK:STDOUT: %.loc33: type = splice_block %u64.loc33 [concrete = constants.%u64] { +// CHECK:STDOUT: %int_64.loc33: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %u64.loc33: type = class_type @UInt, @UInt(constants.%int_64) [concrete = constants.%u64] // CHECK:STDOUT: } // CHECK:STDOUT: %carbon_unsigned_long_long: %u64 = bind_name carbon_unsigned_long_long, [concrete = ] // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/longlong.carbon b/toolchain/check/testdata/interop/cpp/longlong.carbon new file mode 100644 index 0000000000000..e20fc45bc7783 --- /dev/null +++ b/toolchain/check/testdata/interop/cpp/longlong.carbon @@ -0,0 +1,24 @@ +// Part of the Carbon Language project, under the Apache License v2.0 with LLVM +// Exceptions. See /LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/primitives.carbon +// EXTRA-ARGS: --target=x86_64-linux-gnu +// +// AUTOUPDATE +// TIP: To test this file alone, run: +// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/interop/cpp/longlong.carbon +// TIP: To dump output, run: +// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/interop/cpp/longlong.carbon + +// --- long_long.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto foo(long long x) -> long long; +'''; + +fn F(cpp_long_long: Cpp.long_long) { + let x: Cpp.long_long = Cpp.foo(cpp_long_long); +} diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index ccd1073f3fee1..314475e51acac 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -632,12 +632,12 @@ impl i32 as Empty { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .F = %C.F.decl -// CHECK:STDOUT: .x = .inst48000023.loc14_7 +// CHECK:STDOUT: .x = .inst48000024.loc14_7 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @C.F() -> %empty_tuple.type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, .inst48000023.loc14_7 +// CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, .inst48000024.loc14_7 // CHECK:STDOUT: %.loc5_25: init %empty_tuple.type = tuple_init () to %return [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_26: init %empty_tuple.type = converted %x.ref, %.loc5_25 [concrete = constants.%empty_tuple] // CHECK:STDOUT: return %.loc5_26 to %return diff --git a/toolchain/check/testdata/let/fail_missing_value.carbon b/toolchain/check/testdata/let/fail_missing_value.carbon index f268aeaa9f4b8..7d4f7964b2753 100644 --- a/toolchain/check/testdata/let/fail_missing_value.carbon +++ b/toolchain/check/testdata/let/fail_missing_value.carbon @@ -50,7 +50,7 @@ fn F() { // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .Core = imports.%Core -// CHECK:STDOUT: .n = .inst6000002C.loc19_5 +// CHECK:STDOUT: .n = .inst6000002D.loc19_5 // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core 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 b89c329fa0a62..f5d063e781ac2 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 @@ -96,7 +96,7 @@ fn F() { // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.Op.type: type = fn_type @Copy.Op [concrete] -// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst60000155 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst60000156 [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.de9) [concrete] // CHECK:STDOUT: %.98f: type = fn_type_with_self_type %Copy.Op.type, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] @@ -105,7 +105,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%b.param: bool) -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst6000001B.loc5_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst6000001C.loc5_6 // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: @@ -123,7 +123,7 @@ fn F() { // CHECK:STDOUT: %impl.elem0: %.98f = impl_witness_access constants.%Copy.impl_witness.de9, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) -// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst60000024.loc5_15 +// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst60000025.loc5_15 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_and_val.carbon @@ -140,7 +140,7 @@ fn F() { // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.Op.type: type = fn_type @Copy.Op [concrete] -// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst70000155 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst70000156 [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.de9) [concrete] // CHECK:STDOUT: %.98f: type = fn_type_with_self_type %Copy.Op.type, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] @@ -149,7 +149,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%b.param: bool) -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst7000001B.loc5_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst7000001C.loc5_6 // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: @@ -167,7 +167,7 @@ fn F() { // CHECK:STDOUT: %impl.elem0: %.98f = impl_witness_access constants.%Copy.impl_witness.de9, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) -// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst70000024.loc5_15 +// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst70000025.loc5_15 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_or_val.carbon @@ -189,7 +189,7 @@ fn F() { // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @C(.inst6800001E.loc4_14: bool) { +// CHECK:STDOUT: generic class @C(.inst6800001F.loc4_14: bool) { // CHECK:STDOUT: %B: bool = bind_symbolic_name B, 0 [symbolic = %B (constants.%B.7dd)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -204,7 +204,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B { -// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst68000024.loc4_24 [concrete = constants.%C.generic] +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst68000025.loc4_24 [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc12_20: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %.loc12: bool = not %true.loc12_20 [concrete = constants.%false] // CHECK:STDOUT: %true.loc12_25: bool = bool_literal true [concrete = constants.%true] diff --git a/toolchain/check/type_completion.cpp b/toolchain/check/type_completion.cpp index 98de1241fde31..3fd61d382932f 100644 --- a/toolchain/check/type_completion.cpp +++ b/toolchain/check/type_completion.cpp @@ -91,11 +91,12 @@ class TypeCompleter { template requires(InstT::Kind.template IsAnyOf< SemIR::AutoType, SemIR::BoolType, SemIR::BoundMethodType, - SemIR::CharLiteralType, SemIR::ErrorInst, SemIR::FacetType, - SemIR::FloatLiteralType, SemIR::FloatType, SemIR::IntType, - SemIR::IntLiteralType, SemIR::NamespaceType, SemIR::PatternType, - SemIR::PointerType, SemIR::SpecificFunctionType, SemIR::TypeType, - SemIR::VtableType, SemIR::WitnessType>()) + SemIR::CharLiteralType, SemIR::CustomCppLongLongType, + SemIR::ErrorInst, SemIR::FacetType, SemIR::FloatLiteralType, + SemIR::FloatType, SemIR::IntType, SemIR::IntLiteralType, + SemIR::NamespaceType, SemIR::PatternType, SemIR::PointerType, + SemIR::SpecificFunctionType, SemIR::TypeType, SemIR::VtableType, + SemIR::WitnessType>()) auto BuildInfoForInst(SemIR::TypeId type_id, InstT /*inst*/) const -> SemIR::CompleteTypeInfo { return {.value_repr = MakeCopyValueRepr(type_id)}; diff --git a/toolchain/driver/testdata/stdin.carbon b/toolchain/driver/testdata/stdin.carbon index 55d17104bc087..3af8bbbffd202 100644 --- a/toolchain/driver/testdata/stdin.carbon +++ b/toolchain/driver/testdata/stdin.carbon @@ -32,7 +32,7 @@ // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: {} @@ -49,10 +49,10 @@ // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -60,7 +60,7 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block00000004: -// CHECK:STDOUT: 0: inst0000000E +// CHECK:STDOUT: 0: inst0000000F // CHECK:STDOUT: ... // CHECK:STDOUT: --- - // CHECK:STDOUT: diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index 68818f5ab80bc..e766c15179cae 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -846,6 +846,15 @@ static auto BuildTypeForInst(FileContext& context, SemIR::IntType inst) context.sem_ir().ints().Get(width->int_id).getZExtValue()); } +static auto BuildTypeForInst(FileContext& context, + SemIR::CustomCppLongLongType /*inst*/) + -> llvm::Type* { + return llvm::Type::getIntNTy( + context.llvm_context(), + context.clang_ast_unit()->getASTContext().getIntWidth( + context.clang_ast_unit()->getASTContext().LongLongTy)); +} + static auto BuildTypeForInst(FileContext& context, SemIR::PointerType /*inst*/) -> llvm::Type* { return llvm::PointerType::get(context.llvm_context(), /*AddressSpace=*/0); diff --git a/toolchain/sem_ir/expr_info.cpp b/toolchain/sem_ir/expr_info.cpp index 4be902a4728ea..4fa29bb832ebf 100644 --- a/toolchain/sem_ir/expr_info.cpp +++ b/toolchain/sem_ir/expr_info.cpp @@ -114,6 +114,7 @@ auto GetExprCategory(const File& file, InstId inst_id) -> ExprCategory { case ConvertToValueAction::Kind: case CppOverloadSetType::Kind: case CppOverloadSetValue::Kind: + case CustomCppLongLongType::Kind: case CustomLayoutType::Kind: case FacetAccessType::Kind: case FacetType::Kind: diff --git a/toolchain/sem_ir/inst_kind.def b/toolchain/sem_ir/inst_kind.def index 6c041cbeda770..6c86aac3d00e2 100644 --- a/toolchain/sem_ir/inst_kind.def +++ b/toolchain/sem_ir/inst_kind.def @@ -59,6 +59,7 @@ CARBON_SEM_IR_INST_KIND(ConvertToValueAction) CARBON_SEM_IR_INST_KIND(Converted) CARBON_SEM_IR_INST_KIND(CppOverloadSetType) CARBON_SEM_IR_INST_KIND(CppOverloadSetValue) +CARBON_SEM_IR_INST_KIND(CustomCppLongLongType) CARBON_SEM_IR_INST_KIND(CustomLayoutType) CARBON_SEM_IR_INST_KIND(Deref) CARBON_SEM_IR_INST_KIND(ErrorInst) diff --git a/toolchain/sem_ir/singleton_insts.h b/toolchain/sem_ir/singleton_insts.h index 12d53d239bee0..36603e51287ec 100644 --- a/toolchain/sem_ir/singleton_insts.h +++ b/toolchain/sem_ir/singleton_insts.h @@ -13,13 +13,21 @@ namespace Carbon::SemIR { // The canonical list of singleton kinds. The order of `TypeType` is // significant because other singletons use it as a type. static constexpr std::array SingletonInstKinds = { - InstKind::TypeType, InstKind::AutoType, - InstKind::BoolType, InstKind::BoundMethodType, - InstKind::CharLiteralType, InstKind::ErrorInst, - InstKind::FloatLiteralType, InstKind::ImplWitnessTablePlaceholder, - InstKind::InstType, InstKind::IntLiteralType, - InstKind::NamespaceType, InstKind::SpecificFunctionType, - InstKind::VtableType, InstKind::WitnessType, + InstKind::TypeType, + InstKind::AutoType, + InstKind::BoolType, + InstKind::BoundMethodType, + InstKind::CharLiteralType, + InstKind::CustomCppLongLongType, + InstKind::ErrorInst, + InstKind::FloatLiteralType, + InstKind::ImplWitnessTablePlaceholder, + InstKind::InstType, + InstKind::IntLiteralType, + InstKind::NamespaceType, + InstKind::SpecificFunctionType, + InstKind::VtableType, + InstKind::WitnessType, }; // Returns true if the InstKind is a singleton. diff --git a/toolchain/sem_ir/stringify.cpp b/toolchain/sem_ir/stringify.cpp index 5fbf0dd258c47..62520980a888d 100644 --- a/toolchain/sem_ir/stringify.cpp +++ b/toolchain/sem_ir/stringify.cpp @@ -377,6 +377,11 @@ class Stringifier { step_stack_->Push(inst.type_inst_id, " as ", inst.type_id); } + auto StringifyInst(InstId /*inst_id*/, CustomCppLongLongType /*inst*/) + -> void { + *out_ << ""; + } + auto StringifyInst(InstId /*inst_id*/, FloatType inst) -> void { *out_ << "PushString(">"); diff --git a/toolchain/sem_ir/type_iterator.cpp b/toolchain/sem_ir/type_iterator.cpp index 66c78d5039c79..07267235d011f 100644 --- a/toolchain/sem_ir/type_iterator.cpp +++ b/toolchain/sem_ir/type_iterator.cpp @@ -86,6 +86,7 @@ auto TypeIterator::ProcessTypeId(TypeId type_id) -> std::optional { case BoolType::Kind: case CharLiteralType::Kind: case CppOverloadSetType::Kind: + case CustomCppLongLongType::Kind: case FacetType::Kind: case FloatLiteralType::Kind: case FloatType::Kind: diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index d54c12e5889a2..5c30856220396 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -581,6 +581,21 @@ struct ConvertToValueAction { TypeInstId target_type_inst_id; }; +// A type for C++ `long long`. +struct CustomCppLongLongType { + static constexpr auto Kind = + InstKind::CustomCppLongLongType.Define( + {.ir_name = "custom_cpp_long_long_type", + .is_type = InstIsType::Always, + .constant_kind = InstConstantKind::Always}); + + static constexpr auto TypeInstId = MakeSingletonTypeInstId(); + static constexpr auto TypeId = + TypeId::ForTypeConstant(ConstantId::ForConcreteConstant(TypeInstId)); + + SemIR::TypeId type_id; +}; + // A type whose layout is determined externally. This is used as the object // representation of class types imported from C++. struct CustomLayoutType {