diff --git a/toolchain/check/cpp/import.cpp b/toolchain/check/cpp/import.cpp index e0b1d51189a0c..d5853fa1fa0f9 100644 --- a/toolchain/check/cpp/import.cpp +++ b/toolchain/check/cpp/import.cpp @@ -1084,27 +1084,47 @@ static auto MakeIntType(Context& context, IntId size_id, bool is_signed) static auto MapBuiltinIntegerType(Context& context, SemIR::LocId loc_id, clang::QualType qual_type, const clang::BuiltinType& type) -> TypeExpr { + // llvm::errs() << "A1 " << qual_type.getAsString() << "\n"; clang::ASTContext& ast_context = context.ast_context(); unsigned width = ast_context.getIntWidth(qual_type); bool is_signed = type.isSignedInteger(); auto int_n_type = ast_context.getIntTypeForBitwidth(width, is_signed); if (ast_context.hasSameType(qual_type, int_n_type)) { + // llvm::errs() << "A2\n"; TypeExpr type_expr = MakeIntType(context, context.ints().Add(width), is_signed); // Try to make sure integer types of 32 or 64 bits are complete so we can // check against them when deciding whether we need to generate a thunk. if (width == 32 || width == 64) { + // llvm::errs() << "A3\n"; SemIR::TypeId type_id = type_expr.type_id; if (!context.types().IsComplete(type_id)) { + // llvm::errs() << "A4\n"; TryToCompleteType(context, type_id, loc_id); } } return type_expr; } + // llvm::errs() << "A5\n"; if (ast_context.hasSameType(qual_type, ast_context.CharTy)) { + // llvm::errs() << "A6\n"; return ExprAsType(context, Parse::NodeId::None, MakeCharTypeLiteral(context, Parse::NodeId::None)); } + // llvm::errs() << "A7\n"; + // Special handling for long long: map to a distinct Carbon type convertible + // to i64. + if (qual_type == context.ast_context().LongLongTy) { + // llvm::errs() << "A8\n"; + // Create a distinct type for long long, convertible to i64. + // We'll use a custom type id for C++ long long. + // auto longlong_type_id = SemIR::CustomCppLongLongType::TypeInstId; + // 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/testdata/basics/raw_sem_ir/builtins.carbon b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon index 193333556a685..a3afd95707272 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_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: {} // CHECK:STDOUT: classes: {} @@ -41,6 +41,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)} @@ -50,7 +51,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: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) @@ -58,6 +59,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)) @@ -67,7 +69,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: inst14: concrete_constant(inst14) +// CHECK:STDOUT: inst15: concrete_constant(inst15) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -75,5 +77,5 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: -// CHECK:STDOUT: 0: inst14 +// CHECK:STDOUT: 0: inst15 // 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 ecd148b9d0dfa..37782c685bdd7 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon @@ -38,16 +38,16 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: import_ir_insts: // CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc0} // CHECK:STDOUT: clang_decls: -// CHECK:STDOUT: clang_decl_id0: {key: "", inst_id: ir0.inst16} -// CHECK:STDOUT: clang_decl_id1: {key: "struct X {}", inst_id: ir0.inst18} -// CHECK:STDOUT: clang_decl_id2: {key: {decl: "void f(X x = {})", num_params: 0}, inst_id: ir0.inst41} -// CHECK:STDOUT: clang_decl_id3: {key: {decl: "extern void f__carbon_thunk()", num_params: 0}, inst_id: ir0.inst44} -// CHECK:STDOUT: clang_decl_id4: {key: {decl: "void f(X x = {})", num_params: 1}, inst_id: ir0.inst55} -// CHECK:STDOUT: clang_decl_id5: {key: {decl: "extern void f__carbon_thunk(X * _Nonnull x)", num_params: 1}, inst_id: ir0.inst64} +// CHECK:STDOUT: clang_decl_id0: {key: "", inst_id: ir0.inst17} +// CHECK:STDOUT: clang_decl_id1: {key: "struct X {}", inst_id: ir0.inst19} +// CHECK:STDOUT: clang_decl_id2: {key: {decl: "void f(X x = {})", num_params: 0}, inst_id: ir0.inst42} +// CHECK:STDOUT: clang_decl_id3: {key: {decl: "extern void f__carbon_thunk()", num_params: 0}, inst_id: ir0.inst45} +// CHECK:STDOUT: clang_decl_id4: {key: {decl: "void f(X x = {})", num_params: 1}, inst_id: ir0.inst56} +// CHECK:STDOUT: clang_decl_id5: {key: {decl: "extern void f__carbon_thunk(X * _Nonnull x)", num_params: 1}, inst_id: ir0.inst65} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst16, name1: ir0.inst27}} -// CHECK:STDOUT: name_scope1: {inst: ir0.inst16, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: ir0.inst18, name4: ir0.inst38}} -// CHECK:STDOUT: name_scope2: {inst: ir0.inst18, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst17, name1: ir0.inst28}} +// CHECK:STDOUT: name_scope1: {inst: ir0.inst17, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: ir0.inst19, name4: ir0.inst39}} +// CHECK:STDOUT: name_scope2: {inst: ir0.inst19, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name0: {name: name2, parent_scope: name_scope, index: -1, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: entity_name1: {name: name2, parent_scope: name_scope, index: -1, is_template: 0, clang_decl_id: clang_decl_id} @@ -59,7 +59,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: function3: {name: name4, parent_scope: name_scope1, call_params_id: inst_block13} // CHECK:STDOUT: function4: {name: name6, parent_scope: name_scope1, call_params_id: inst_block18} // CHECK:STDOUT: classes: -// CHECK:STDOUT: class0: {name: name3, parent_scope: name_scope1, self_type_id: type(ir0.inst19), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope2, body_block_id: inst_block10, adapt_id: inst, base_id: inst, complete_type_witness_id: ir0.inst33, vtable_decl_id: inst}} +// CHECK:STDOUT: class0: {name: name3, parent_scope: name_scope1, self_type_id: type(ir0.inst20), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope2, body_block_id: inst_block10, adapt_id: inst, base_id: inst, complete_type_witness_id: ir0.inst34, vtable_decl_id: inst}} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} // CHECK:STDOUT: struct_type_fields: @@ -71,36 +71,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(ir0.inst28)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} // CHECK:STDOUT: 'type(ir0.inst29)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} +// CHECK:STDOUT: 'type(ir0.inst30)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} // CHECK:STDOUT: 'type(inst(WitnessType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(WitnessType))} -// CHECK:STDOUT: 'type(ir0.inst32)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst35)} -// CHECK:STDOUT: 'type(ir0.inst35)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst35)} -// CHECK:STDOUT: 'type(ir0.inst19)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst35)} -// CHECK:STDOUT: 'type(ir0.inst37)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} -// CHECK:STDOUT: 'type(ir0.inst42)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} -// CHECK:STDOUT: 'type(ir0.inst45)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} -// CHECK:STDOUT: 'type(ir0.inst56)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} -// CHECK:STDOUT: 'type(ir0.inst65)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst29)} -// CHECK:STDOUT: 'type(ir0.inst58)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst58)} +// CHECK:STDOUT: 'type(ir0.inst33)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst36)} +// CHECK:STDOUT: 'type(ir0.inst36)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst36)} +// CHECK:STDOUT: 'type(ir0.inst20)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst36)} +// CHECK:STDOUT: 'type(ir0.inst38)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} +// CHECK:STDOUT: 'type(ir0.inst43)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} +// CHECK:STDOUT: 'type(ir0.inst46)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} +// CHECK:STDOUT: 'type(ir0.inst57)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} +// CHECK:STDOUT: 'type(ir0.inst66)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst30)} +// CHECK:STDOUT: 'type(ir0.inst59)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst59)} // 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)} @@ -110,63 +111,63 @@ 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: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst15: {kind: ImportCppDecl} -// CHECK:STDOUT: ir0.inst16: {kind: Namespace, arg0: name_scope1, arg1: ir0.inst15, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst17: {kind: NameRef, arg0: name0, arg1: ir0.inst16, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst18: {kind: ClassDecl, arg0: class0, arg1: inst_block, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst19: {kind: ClassType, arg0: class0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst20: {kind: NameRef, arg0: name3, arg1: ir0.inst18, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst21: {kind: BindName, arg0: entity_name0, arg1: ir0.inst25, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst22: {kind: PatternType, arg0: ir0.inst19, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst23: {kind: BindingPattern, arg0: entity_name0, type: type(ir0.inst22)} -// CHECK:STDOUT: ir0.inst24: {kind: ValueParamPattern, arg0: ir0.inst23, arg1: call_param0, type: type(ir0.inst22)} -// CHECK:STDOUT: ir0.inst25: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst26: {kind: SpliceBlock, arg0: inst_block4, arg1: ir0.inst20, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst27: {kind: FunctionDecl, arg0: function0, arg1: inst_block8, type: type(ir0.inst28)} -// CHECK:STDOUT: ir0.inst28: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst29: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst30: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst28)} -// CHECK:STDOUT: ir0.inst31: {kind: CustomLayoutType, arg0: struct_type_fields0, arg1: custom_layout1, type: type(TypeType)} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst16: {kind: ImportCppDecl} +// CHECK:STDOUT: ir0.inst17: {kind: Namespace, arg0: name_scope1, arg1: ir0.inst16, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst18: {kind: NameRef, arg0: name0, arg1: ir0.inst17, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst19: {kind: ClassDecl, arg0: class0, arg1: inst_block, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst20: {kind: ClassType, arg0: class0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst21: {kind: NameRef, arg0: name3, arg1: ir0.inst19, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst22: {kind: BindName, arg0: entity_name0, arg1: ir0.inst26, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst23: {kind: PatternType, arg0: ir0.inst20, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst24: {kind: BindingPattern, arg0: entity_name0, type: type(ir0.inst23)} +// CHECK:STDOUT: ir0.inst25: {kind: ValueParamPattern, arg0: ir0.inst24, arg1: call_param0, type: type(ir0.inst23)} +// CHECK:STDOUT: ir0.inst26: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst27: {kind: SpliceBlock, arg0: inst_block4, arg1: ir0.inst21, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst28: {kind: FunctionDecl, arg0: function0, arg1: inst_block8, type: type(ir0.inst29)} +// CHECK:STDOUT: ir0.inst29: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst30: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst31: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst29)} // CHECK:STDOUT: ir0.inst32: {kind: CustomLayoutType, arg0: struct_type_fields0, arg1: custom_layout1, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst33: {kind: CompleteTypeWitness, arg0: ir0.inst31, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst33: {kind: CustomLayoutType, arg0: struct_type_fields0, arg1: custom_layout1, type: type(TypeType)} // CHECK:STDOUT: ir0.inst34: {kind: CompleteTypeWitness, arg0: ir0.inst32, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst35: {kind: PointerType, arg0: ir0.inst32, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst36: {kind: NameRef, arg0: name0, arg1: ir0.inst16, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst37: {kind: CppOverloadSetType, arg0: cpp_overload_set0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst38: {kind: CppOverloadSetValue, arg0: cpp_overload_set0, type: type(ir0.inst37)} -// CHECK:STDOUT: ir0.inst39: {kind: CppOverloadSetValue, arg0: cpp_overload_set0, type: type(ir0.inst37)} -// CHECK:STDOUT: ir0.inst40: {kind: NameRef, arg0: name4, arg1: ir0.inst38, type: type(ir0.inst37)} -// CHECK:STDOUT: ir0.inst41: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir0.inst42)} -// CHECK:STDOUT: ir0.inst42: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst43: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst42)} -// CHECK:STDOUT: ir0.inst44: {kind: FunctionDecl, arg0: function2, arg1: inst_block_empty, type: type(ir0.inst45)} -// CHECK:STDOUT: ir0.inst45: {kind: FunctionType, arg0: function2, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst46: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst45)} -// CHECK:STDOUT: ir0.inst47: {kind: Call, arg0: ir0.inst44, arg1: inst_block_empty, type: type(ir0.inst29)} -// CHECK:STDOUT: ir0.inst48: {kind: NameRef, arg0: name0, arg1: ir0.inst16, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst49: {kind: NameRef, arg0: name4, arg1: ir0.inst38, type: type(ir0.inst37)} -// CHECK:STDOUT: ir0.inst50: {kind: NameRef, arg0: name2, arg1: ir0.inst21, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst51: {kind: BindName, arg0: entity_name1, arg1: ir0.inst54, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst52: {kind: BindingPattern, arg0: entity_name1, type: type(ir0.inst22)} -// CHECK:STDOUT: ir0.inst53: {kind: ValueParamPattern, arg0: ir0.inst52, arg1: call_param0, type: type(ir0.inst22)} -// CHECK:STDOUT: ir0.inst54: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst55: {kind: FunctionDecl, arg0: function3, arg1: inst_block15, type: type(ir0.inst56)} -// CHECK:STDOUT: ir0.inst56: {kind: FunctionType, arg0: function3, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst57: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst56)} -// CHECK:STDOUT: ir0.inst58: {kind: PointerType, arg0: ir0.inst19, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst59: {kind: BindName, arg0: entity_name2, arg1: ir0.inst63, type: type(ir0.inst58)} -// CHECK:STDOUT: ir0.inst60: {kind: PatternType, arg0: ir0.inst58, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst61: {kind: BindingPattern, arg0: entity_name2, type: type(ir0.inst60)} -// CHECK:STDOUT: ir0.inst62: {kind: ValueParamPattern, arg0: ir0.inst61, arg1: call_param0, type: type(ir0.inst60)} -// CHECK:STDOUT: ir0.inst63: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(ir0.inst58)} -// CHECK:STDOUT: ir0.inst64: {kind: FunctionDecl, arg0: function4, arg1: inst_block20, type: type(ir0.inst65)} -// CHECK:STDOUT: ir0.inst65: {kind: FunctionType, arg0: function4, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst66: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst65)} -// CHECK:STDOUT: ir0.inst67: {kind: ValueAsRef, arg0: ir0.inst50, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst68: {kind: AddrOf, arg0: ir0.inst67, type: type(ir0.inst58)} -// CHECK:STDOUT: ir0.inst69: {kind: Call, arg0: ir0.inst64, arg1: inst_block22, type: type(ir0.inst29)} -// CHECK:STDOUT: ir0.inst70: {kind: Return} +// CHECK:STDOUT: ir0.inst35: {kind: CompleteTypeWitness, arg0: ir0.inst33, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst36: {kind: PointerType, arg0: ir0.inst33, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst37: {kind: NameRef, arg0: name0, arg1: ir0.inst17, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst38: {kind: CppOverloadSetType, arg0: cpp_overload_set0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst39: {kind: CppOverloadSetValue, arg0: cpp_overload_set0, type: type(ir0.inst38)} +// CHECK:STDOUT: ir0.inst40: {kind: CppOverloadSetValue, arg0: cpp_overload_set0, type: type(ir0.inst38)} +// CHECK:STDOUT: ir0.inst41: {kind: NameRef, arg0: name4, arg1: ir0.inst39, type: type(ir0.inst38)} +// CHECK:STDOUT: ir0.inst42: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir0.inst43)} +// CHECK:STDOUT: ir0.inst43: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst44: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst43)} +// CHECK:STDOUT: ir0.inst45: {kind: FunctionDecl, arg0: function2, arg1: inst_block_empty, type: type(ir0.inst46)} +// CHECK:STDOUT: ir0.inst46: {kind: FunctionType, arg0: function2, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst47: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst46)} +// CHECK:STDOUT: ir0.inst48: {kind: Call, arg0: ir0.inst45, arg1: inst_block_empty, type: type(ir0.inst30)} +// CHECK:STDOUT: ir0.inst49: {kind: NameRef, arg0: name0, arg1: ir0.inst17, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst50: {kind: NameRef, arg0: name4, arg1: ir0.inst39, type: type(ir0.inst38)} +// CHECK:STDOUT: ir0.inst51: {kind: NameRef, arg0: name2, arg1: ir0.inst22, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst52: {kind: BindName, arg0: entity_name1, arg1: ir0.inst55, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst53: {kind: BindingPattern, arg0: entity_name1, type: type(ir0.inst23)} +// CHECK:STDOUT: ir0.inst54: {kind: ValueParamPattern, arg0: ir0.inst53, arg1: call_param0, type: type(ir0.inst23)} +// CHECK:STDOUT: ir0.inst55: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst56: {kind: FunctionDecl, arg0: function3, arg1: inst_block15, type: type(ir0.inst57)} +// CHECK:STDOUT: ir0.inst57: {kind: FunctionType, arg0: function3, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst58: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst57)} +// CHECK:STDOUT: ir0.inst59: {kind: PointerType, arg0: ir0.inst20, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst60: {kind: BindName, arg0: entity_name2, arg1: ir0.inst64, type: type(ir0.inst59)} +// CHECK:STDOUT: ir0.inst61: {kind: PatternType, arg0: ir0.inst59, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst62: {kind: BindingPattern, arg0: entity_name2, type: type(ir0.inst61)} +// CHECK:STDOUT: ir0.inst63: {kind: ValueParamPattern, arg0: ir0.inst62, arg1: call_param0, type: type(ir0.inst61)} +// CHECK:STDOUT: ir0.inst64: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(ir0.inst59)} +// CHECK:STDOUT: ir0.inst65: {kind: FunctionDecl, arg0: function4, arg1: inst_block20, type: type(ir0.inst66)} +// CHECK:STDOUT: ir0.inst66: {kind: FunctionType, arg0: function4, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst67: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst66)} +// CHECK:STDOUT: ir0.inst68: {kind: ValueAsRef, arg0: ir0.inst51, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst69: {kind: AddrOf, arg0: ir0.inst68, type: type(ir0.inst59)} +// CHECK:STDOUT: ir0.inst70: {kind: Call, arg0: ir0.inst65, arg1: inst_block22, type: type(ir0.inst30)} +// CHECK:STDOUT: ir0.inst71: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) @@ -174,6 +175,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)) @@ -183,120 +185,120 @@ 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: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst16) -// CHECK:STDOUT: ir0.inst17: concrete_constant(ir0.inst16) -// CHECK:STDOUT: ir0.inst18: concrete_constant(ir0.inst19) -// CHECK:STDOUT: ir0.inst19: concrete_constant(ir0.inst19) -// CHECK:STDOUT: ir0.inst20: concrete_constant(ir0.inst19) -// CHECK:STDOUT: ir0.inst22: concrete_constant(ir0.inst22) +// CHECK:STDOUT: inst15: concrete_constant(inst15) +// CHECK:STDOUT: ir0.inst17: concrete_constant(ir0.inst17) +// CHECK:STDOUT: ir0.inst18: concrete_constant(ir0.inst17) +// CHECK:STDOUT: ir0.inst19: concrete_constant(ir0.inst20) +// CHECK:STDOUT: ir0.inst20: concrete_constant(ir0.inst20) +// CHECK:STDOUT: ir0.inst21: concrete_constant(ir0.inst20) // CHECK:STDOUT: ir0.inst23: concrete_constant(ir0.inst23) // CHECK:STDOUT: ir0.inst24: concrete_constant(ir0.inst24) -// CHECK:STDOUT: ir0.inst26: concrete_constant(ir0.inst19) -// CHECK:STDOUT: ir0.inst27: concrete_constant(ir0.inst30) -// CHECK:STDOUT: ir0.inst28: concrete_constant(ir0.inst28) +// CHECK:STDOUT: ir0.inst25: concrete_constant(ir0.inst25) +// CHECK:STDOUT: ir0.inst27: concrete_constant(ir0.inst20) +// CHECK:STDOUT: ir0.inst28: concrete_constant(ir0.inst31) // CHECK:STDOUT: ir0.inst29: concrete_constant(ir0.inst29) // CHECK:STDOUT: ir0.inst30: concrete_constant(ir0.inst30) -// CHECK:STDOUT: ir0.inst31: concrete_constant(ir0.inst32) -// CHECK:STDOUT: ir0.inst32: concrete_constant(ir0.inst32) -// CHECK:STDOUT: ir0.inst33: concrete_constant(ir0.inst34) -// CHECK:STDOUT: ir0.inst34: concrete_constant(ir0.inst34) +// CHECK:STDOUT: ir0.inst31: concrete_constant(ir0.inst31) +// CHECK:STDOUT: ir0.inst32: concrete_constant(ir0.inst33) +// CHECK:STDOUT: ir0.inst33: concrete_constant(ir0.inst33) +// CHECK:STDOUT: ir0.inst34: concrete_constant(ir0.inst35) // CHECK:STDOUT: ir0.inst35: concrete_constant(ir0.inst35) -// CHECK:STDOUT: ir0.inst36: concrete_constant(ir0.inst16) -// CHECK:STDOUT: ir0.inst37: concrete_constant(ir0.inst37) -// CHECK:STDOUT: ir0.inst38: concrete_constant(ir0.inst39) -// CHECK:STDOUT: ir0.inst39: concrete_constant(ir0.inst39) -// CHECK:STDOUT: ir0.inst40: concrete_constant(ir0.inst39) -// CHECK:STDOUT: ir0.inst41: concrete_constant(ir0.inst43) -// CHECK:STDOUT: ir0.inst42: concrete_constant(ir0.inst42) +// CHECK:STDOUT: ir0.inst36: concrete_constant(ir0.inst36) +// CHECK:STDOUT: ir0.inst37: concrete_constant(ir0.inst17) +// CHECK:STDOUT: ir0.inst38: concrete_constant(ir0.inst38) +// CHECK:STDOUT: ir0.inst39: concrete_constant(ir0.inst40) +// CHECK:STDOUT: ir0.inst40: concrete_constant(ir0.inst40) +// CHECK:STDOUT: ir0.inst41: concrete_constant(ir0.inst40) +// CHECK:STDOUT: ir0.inst42: concrete_constant(ir0.inst44) // CHECK:STDOUT: ir0.inst43: concrete_constant(ir0.inst43) -// CHECK:STDOUT: ir0.inst44: concrete_constant(ir0.inst46) -// CHECK:STDOUT: ir0.inst45: concrete_constant(ir0.inst45) +// CHECK:STDOUT: ir0.inst44: concrete_constant(ir0.inst44) +// CHECK:STDOUT: ir0.inst45: concrete_constant(ir0.inst47) // CHECK:STDOUT: ir0.inst46: concrete_constant(ir0.inst46) -// CHECK:STDOUT: ir0.inst48: concrete_constant(ir0.inst16) -// CHECK:STDOUT: ir0.inst49: concrete_constant(ir0.inst39) -// CHECK:STDOUT: ir0.inst52: concrete_constant(ir0.inst52) +// CHECK:STDOUT: ir0.inst47: concrete_constant(ir0.inst47) +// CHECK:STDOUT: ir0.inst49: concrete_constant(ir0.inst17) +// CHECK:STDOUT: ir0.inst50: concrete_constant(ir0.inst40) // CHECK:STDOUT: ir0.inst53: concrete_constant(ir0.inst53) -// CHECK:STDOUT: ir0.inst55: concrete_constant(ir0.inst57) -// CHECK:STDOUT: ir0.inst56: concrete_constant(ir0.inst56) +// CHECK:STDOUT: ir0.inst54: concrete_constant(ir0.inst54) +// CHECK:STDOUT: ir0.inst56: concrete_constant(ir0.inst58) // CHECK:STDOUT: ir0.inst57: concrete_constant(ir0.inst57) // CHECK:STDOUT: ir0.inst58: concrete_constant(ir0.inst58) -// CHECK:STDOUT: ir0.inst60: concrete_constant(ir0.inst60) +// CHECK:STDOUT: ir0.inst59: concrete_constant(ir0.inst59) // CHECK:STDOUT: ir0.inst61: concrete_constant(ir0.inst61) // CHECK:STDOUT: ir0.inst62: concrete_constant(ir0.inst62) -// CHECK:STDOUT: ir0.inst64: concrete_constant(ir0.inst66) -// CHECK:STDOUT: ir0.inst65: concrete_constant(ir0.inst65) +// CHECK:STDOUT: ir0.inst63: concrete_constant(ir0.inst63) +// CHECK:STDOUT: ir0.inst65: concrete_constant(ir0.inst67) // CHECK:STDOUT: ir0.inst66: concrete_constant(ir0.inst66) +// CHECK:STDOUT: ir0.inst67: concrete_constant(ir0.inst67) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir0.inst27 +// CHECK:STDOUT: 0: ir0.inst28 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: ir0.inst16 -// CHECK:STDOUT: 1: ir0.inst18 -// CHECK:STDOUT: 2: ir0.inst38 -// CHECK:STDOUT: 3: ir0.inst41 -// CHECK:STDOUT: 4: ir0.inst44 -// CHECK:STDOUT: 5: ir0.inst55 -// CHECK:STDOUT: 6: ir0.inst64 +// CHECK:STDOUT: 0: ir0.inst17 +// CHECK:STDOUT: 1: ir0.inst19 +// CHECK:STDOUT: 2: ir0.inst39 +// CHECK:STDOUT: 3: ir0.inst42 +// CHECK:STDOUT: 4: ir0.inst45 +// CHECK:STDOUT: 5: ir0.inst56 +// CHECK:STDOUT: 6: ir0.inst65 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: -// CHECK:STDOUT: 0: ir0.inst17 -// CHECK:STDOUT: 1: ir0.inst20 +// CHECK:STDOUT: 0: ir0.inst18 +// CHECK:STDOUT: 1: ir0.inst21 // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir0.inst24 -// CHECK:STDOUT: inst_block6: // CHECK:STDOUT: 0: ir0.inst25 +// CHECK:STDOUT: inst_block6: +// CHECK:STDOUT: 0: ir0.inst26 // CHECK:STDOUT: inst_block7: -// CHECK:STDOUT: 0: ir0.inst23 -// CHECK:STDOUT: 1: ir0.inst24 +// CHECK:STDOUT: 0: ir0.inst24 +// CHECK:STDOUT: 1: ir0.inst25 // CHECK:STDOUT: inst_block8: -// CHECK:STDOUT: 0: ir0.inst25 -// CHECK:STDOUT: 1: ir0.inst26 -// CHECK:STDOUT: 2: ir0.inst21 +// CHECK:STDOUT: 0: ir0.inst26 +// CHECK:STDOUT: 1: ir0.inst27 +// CHECK:STDOUT: 2: ir0.inst22 // CHECK:STDOUT: inst_block9: -// CHECK:STDOUT: 0: ir0.inst36 -// CHECK:STDOUT: 1: ir0.inst40 -// CHECK:STDOUT: 2: ir0.inst47 -// CHECK:STDOUT: 3: ir0.inst48 -// CHECK:STDOUT: 4: ir0.inst49 -// CHECK:STDOUT: 5: ir0.inst50 -// CHECK:STDOUT: 6: ir0.inst67 -// CHECK:STDOUT: 7: ir0.inst68 -// CHECK:STDOUT: 8: ir0.inst69 -// CHECK:STDOUT: 9: ir0.inst70 +// CHECK:STDOUT: 0: ir0.inst37 +// CHECK:STDOUT: 1: ir0.inst41 +// CHECK:STDOUT: 2: ir0.inst48 +// CHECK:STDOUT: 3: ir0.inst49 +// CHECK:STDOUT: 4: ir0.inst50 +// CHECK:STDOUT: 5: ir0.inst51 +// CHECK:STDOUT: 6: ir0.inst68 +// CHECK:STDOUT: 7: ir0.inst69 +// CHECK:STDOUT: 8: ir0.inst70 +// CHECK:STDOUT: 9: ir0.inst71 // CHECK:STDOUT: inst_block10: -// CHECK:STDOUT: 0: ir0.inst31 -// CHECK:STDOUT: 1: ir0.inst33 +// CHECK:STDOUT: 0: ir0.inst32 +// CHECK:STDOUT: 1: ir0.inst34 // CHECK:STDOUT: inst_block11: {} // CHECK:STDOUT: inst_block12: -// CHECK:STDOUT: 0: ir0.inst53 -// CHECK:STDOUT: inst_block13: // CHECK:STDOUT: 0: ir0.inst54 +// CHECK:STDOUT: inst_block13: +// CHECK:STDOUT: 0: ir0.inst55 // CHECK:STDOUT: inst_block14: -// CHECK:STDOUT: 0: ir0.inst52 -// CHECK:STDOUT: 1: ir0.inst53 +// CHECK:STDOUT: 0: ir0.inst53 +// CHECK:STDOUT: 1: ir0.inst54 // CHECK:STDOUT: inst_block15: -// CHECK:STDOUT: 0: ir0.inst54 -// CHECK:STDOUT: 1: ir0.inst51 +// CHECK:STDOUT: 0: ir0.inst55 +// CHECK:STDOUT: 1: ir0.inst52 // CHECK:STDOUT: inst_block16: {} // CHECK:STDOUT: inst_block17: -// CHECK:STDOUT: 0: ir0.inst62 -// CHECK:STDOUT: inst_block18: // CHECK:STDOUT: 0: ir0.inst63 +// CHECK:STDOUT: inst_block18: +// CHECK:STDOUT: 0: ir0.inst64 // CHECK:STDOUT: inst_block19: -// CHECK:STDOUT: 0: ir0.inst61 -// CHECK:STDOUT: 1: ir0.inst62 +// CHECK:STDOUT: 0: ir0.inst62 +// CHECK:STDOUT: 1: ir0.inst63 // CHECK:STDOUT: inst_block20: -// CHECK:STDOUT: 0: ir0.inst63 -// CHECK:STDOUT: 1: ir0.inst59 +// CHECK:STDOUT: 0: ir0.inst64 +// CHECK:STDOUT: 1: ir0.inst60 // CHECK:STDOUT: inst_block21: -// CHECK:STDOUT: 0: ir0.inst50 +// CHECK:STDOUT: 0: ir0.inst51 // CHECK:STDOUT: inst_block22: -// CHECK:STDOUT: 0: ir0.inst68 +// CHECK:STDOUT: 0: ir0.inst69 // CHECK:STDOUT: inst_block23: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir0.inst15 -// CHECK:STDOUT: 2: ir0.inst27 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir0.inst16 +// CHECK:STDOUT: 2: ir0.inst28 // 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 cbc097edbc7c2..abe6f01a42be7 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_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst15}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst16}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: // CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block_empty, body: [inst_block5]} @@ -52,37 +52,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(ir0.inst16)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst17)} // CHECK:STDOUT: 'type(ir0.inst17)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst17)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst18)} +// CHECK:STDOUT: 'type(ir0.inst18)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst18)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst15: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir0.inst16)} -// CHECK:STDOUT: ir0.inst16: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst17: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst18: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst16)} -// CHECK:STDOUT: ir0.inst19: {kind: Return} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst16: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir0.inst17)} +// CHECK:STDOUT: ir0.inst17: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst18: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst19: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst17)} +// CHECK:STDOUT: ir0.inst20: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir0.inst15: concrete_constant(ir0.inst18) -// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst16) +// CHECK:STDOUT: inst15: concrete_constant(inst15) +// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst19) // CHECK:STDOUT: ir0.inst17: concrete_constant(ir0.inst17) // CHECK:STDOUT: ir0.inst18: concrete_constant(ir0.inst18) +// CHECK:STDOUT: ir0.inst19: concrete_constant(ir0.inst19) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir0.inst15 +// CHECK:STDOUT: 0: ir0.inst16 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: {} // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir0.inst19 +// CHECK:STDOUT: 0: ir0.inst20 // CHECK:STDOUT: inst_block6: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir0.inst15 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir0.inst16 // CHECK:STDOUT: ... // CHECK:STDOUT: --- // CHECK:STDOUT: filename: b.carbon @@ -90,14 +90,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_ir2: {decl_id: ir1.inst15, is_export: false} +// CHECK:STDOUT: import_ir2: {decl_id: ir1.inst16, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir2, inst_id: ir0.inst15} -// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir2, inst_id: ir0.inst15} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir2, inst_id: ir0.inst16} +// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir2, inst_id: ir0.inst16} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: ir1.inst16, name0: ir1.inst17}} -// CHECK:STDOUT: name_scope1: {inst: ir1.inst16, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: ir1.inst22}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: ir1.inst17, name0: ir1.inst18}} +// CHECK:STDOUT: name_scope1: {inst: ir1.inst17, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: ir1.inst23}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name0: {name: name1, parent_scope: name_scope1, index: -1, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: functions: @@ -115,58 +115,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(ir1.inst18)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst19)} // CHECK:STDOUT: 'type(ir1.inst19)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst19)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst20)} +// CHECK:STDOUT: 'type(ir1.inst20)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst20)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir1.inst15: {kind: ImportDecl, arg0: name1} -// CHECK:STDOUT: ir1.inst16: {kind: Namespace, arg0: name_scope1, arg1: ir1.inst15, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir1.inst17: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir1.inst18)} -// CHECK:STDOUT: ir1.inst18: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir1.inst19: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir1.inst20: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst18)} -// CHECK:STDOUT: ir1.inst21: {kind: NameRef, arg0: name1, arg1: ir1.inst16, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir1.inst22: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name0, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst23: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst24: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir1.inst25: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst26: {kind: NameRef, arg0: name1, arg1: ir1.inst22, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst27: {kind: Call, arg0: ir1.inst26, arg1: inst_block_empty, type: type(ir1.inst19)} -// CHECK:STDOUT: ir1.inst28: {kind: Return} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir1.inst16: {kind: ImportDecl, arg0: name1} +// CHECK:STDOUT: ir1.inst17: {kind: Namespace, arg0: name_scope1, arg1: ir1.inst16, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir1.inst18: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir1.inst19)} +// CHECK:STDOUT: ir1.inst19: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir1.inst20: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir1.inst21: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst19)} +// CHECK:STDOUT: ir1.inst22: {kind: NameRef, arg0: name1, arg1: ir1.inst17, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir1.inst23: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name0, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst24: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst25: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir1.inst26: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst27: {kind: NameRef, arg0: name1, arg1: ir1.inst23, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst28: {kind: Call, arg0: ir1.inst27, arg1: inst_block_empty, type: type(ir1.inst20)} +// CHECK:STDOUT: ir1.inst29: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir1.inst16: concrete_constant(ir1.inst16) -// CHECK:STDOUT: ir1.inst17: concrete_constant(ir1.inst20) -// CHECK:STDOUT: ir1.inst18: concrete_constant(ir1.inst18) +// CHECK:STDOUT: inst15: concrete_constant(inst15) +// CHECK:STDOUT: ir1.inst17: concrete_constant(ir1.inst17) +// CHECK:STDOUT: ir1.inst18: concrete_constant(ir1.inst21) // CHECK:STDOUT: ir1.inst19: concrete_constant(ir1.inst19) // CHECK:STDOUT: ir1.inst20: concrete_constant(ir1.inst20) -// CHECK:STDOUT: ir1.inst21: concrete_constant(ir1.inst16) -// CHECK:STDOUT: ir1.inst22: concrete_constant(ir1.inst25) -// CHECK:STDOUT: ir1.inst23: concrete_constant(ir1.inst25) -// CHECK:STDOUT: ir1.inst24: concrete_constant(ir1.inst24) +// CHECK:STDOUT: ir1.inst21: concrete_constant(ir1.inst21) +// CHECK:STDOUT: ir1.inst22: concrete_constant(ir1.inst17) +// CHECK:STDOUT: ir1.inst23: concrete_constant(ir1.inst26) +// CHECK:STDOUT: ir1.inst24: concrete_constant(ir1.inst26) // CHECK:STDOUT: ir1.inst25: concrete_constant(ir1.inst25) -// CHECK:STDOUT: ir1.inst26: concrete_constant(ir1.inst25) +// CHECK:STDOUT: ir1.inst26: concrete_constant(ir1.inst26) +// CHECK:STDOUT: ir1.inst27: concrete_constant(ir1.inst26) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir1.inst17 +// CHECK:STDOUT: 0: ir1.inst18 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: ir1.inst16 -// CHECK:STDOUT: 1: ir1.inst22 -// CHECK:STDOUT: 2: ir1.inst23 +// CHECK:STDOUT: 0: ir1.inst17 +// CHECK:STDOUT: 1: ir1.inst23 +// CHECK:STDOUT: 2: ir1.inst24 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: {} // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir1.inst21 -// CHECK:STDOUT: 1: ir1.inst26 -// CHECK:STDOUT: 2: ir1.inst27 -// CHECK:STDOUT: 3: ir1.inst28 +// CHECK:STDOUT: 0: ir1.inst22 +// CHECK:STDOUT: 1: ir1.inst27 +// CHECK:STDOUT: 2: ir1.inst28 +// CHECK:STDOUT: 3: ir1.inst29 // CHECK:STDOUT: inst_block6: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir1.inst15 -// CHECK:STDOUT: 2: ir1.inst17 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir1.inst16 +// CHECK:STDOUT: 2: ir1.inst18 // 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 9640052b486a2..865c087824ecc 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_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst15}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst16}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: // CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block_empty, body: [inst_block5]} @@ -52,37 +52,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(ir0.inst16)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst17)} // CHECK:STDOUT: 'type(ir0.inst17)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst17)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst18)} +// CHECK:STDOUT: 'type(ir0.inst18)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst18)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst15: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir0.inst16)} -// CHECK:STDOUT: ir0.inst16: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst17: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst18: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst16)} -// CHECK:STDOUT: ir0.inst19: {kind: Return} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst16: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir0.inst17)} +// CHECK:STDOUT: ir0.inst17: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst18: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst19: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst17)} +// CHECK:STDOUT: ir0.inst20: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir0.inst15: concrete_constant(ir0.inst18) -// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst16) +// CHECK:STDOUT: inst15: concrete_constant(inst15) +// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst19) // CHECK:STDOUT: ir0.inst17: concrete_constant(ir0.inst17) // CHECK:STDOUT: ir0.inst18: concrete_constant(ir0.inst18) +// CHECK:STDOUT: ir0.inst19: concrete_constant(ir0.inst19) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir0.inst15 +// CHECK:STDOUT: 0: ir0.inst16 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: {} // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir0.inst19 +// CHECK:STDOUT: 0: ir0.inst20 // CHECK:STDOUT: inst_block6: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir0.inst15 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir0.inst16 // CHECK:STDOUT: ... // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: @@ -109,14 +109,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_ir2: {decl_id: ir1.inst15, is_export: false} +// CHECK:STDOUT: import_ir2: {decl_id: ir1.inst16, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir2, inst_id: ir0.inst15} -// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir2, inst_id: ir0.inst15} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir2, inst_id: ir0.inst16} +// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir2, inst_id: ir0.inst16} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: ir1.inst16, name0: ir1.inst17}} -// CHECK:STDOUT: name_scope1: {inst: ir1.inst16, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: ir1.inst22}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name1: ir1.inst17, name0: ir1.inst18}} +// CHECK:STDOUT: name_scope1: {inst: ir1.inst17, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name1: ir1.inst23}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name0: {name: name1, parent_scope: name_scope1, index: -1, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: functions: @@ -134,60 +134,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(ir1.inst18)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst19)} // CHECK:STDOUT: 'type(ir1.inst19)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst19)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst20)} +// CHECK:STDOUT: 'type(ir1.inst20)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir1.inst20)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir1.inst15: {kind: ImportDecl, arg0: name1} -// CHECK:STDOUT: ir1.inst16: {kind: Namespace, arg0: name_scope1, arg1: ir1.inst15, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir1.inst17: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir1.inst18)} -// CHECK:STDOUT: ir1.inst18: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir1.inst19: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir1.inst20: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst18)} -// CHECK:STDOUT: ir1.inst21: {kind: NameRef, arg0: name1, arg1: ir1.inst16, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir1.inst22: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name0, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst23: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst24: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir1.inst25: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst26: {kind: NameRef, arg0: name1, arg1: ir1.inst22, type: type(ir1.inst24)} -// CHECK:STDOUT: ir1.inst27: {kind: Call, arg0: ir1.inst26, arg1: inst_block_empty, type: type(ir1.inst19)} -// CHECK:STDOUT: ir1.inst28: {kind: Return} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir1.inst16: {kind: ImportDecl, arg0: name1} +// CHECK:STDOUT: ir1.inst17: {kind: Namespace, arg0: name_scope1, arg1: ir1.inst16, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir1.inst18: {kind: FunctionDecl, arg0: function0, arg1: inst_block_empty, type: type(ir1.inst19)} +// CHECK:STDOUT: ir1.inst19: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir1.inst20: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir1.inst21: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst19)} +// CHECK:STDOUT: ir1.inst22: {kind: NameRef, arg0: name1, arg1: ir1.inst17, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir1.inst23: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name0, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst24: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst25: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir1.inst26: {kind: StructValue, arg0: inst_block_empty, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst27: {kind: NameRef, arg0: name1, arg1: ir1.inst23, type: type(ir1.inst25)} +// CHECK:STDOUT: ir1.inst28: {kind: Call, arg0: ir1.inst27, arg1: inst_block_empty, type: type(ir1.inst20)} +// CHECK:STDOUT: ir1.inst29: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir1.inst16: concrete_constant(ir1.inst16) -// CHECK:STDOUT: ir1.inst17: concrete_constant(ir1.inst20) -// CHECK:STDOUT: ir1.inst18: concrete_constant(ir1.inst18) +// CHECK:STDOUT: inst15: concrete_constant(inst15) +// CHECK:STDOUT: ir1.inst17: concrete_constant(ir1.inst17) +// CHECK:STDOUT: ir1.inst18: concrete_constant(ir1.inst21) // CHECK:STDOUT: ir1.inst19: concrete_constant(ir1.inst19) // CHECK:STDOUT: ir1.inst20: concrete_constant(ir1.inst20) -// CHECK:STDOUT: ir1.inst21: concrete_constant(ir1.inst16) -// CHECK:STDOUT: ir1.inst22: concrete_constant(ir1.inst25) -// CHECK:STDOUT: ir1.inst23: concrete_constant(ir1.inst25) -// CHECK:STDOUT: ir1.inst24: concrete_constant(ir1.inst24) +// CHECK:STDOUT: ir1.inst21: concrete_constant(ir1.inst21) +// CHECK:STDOUT: ir1.inst22: concrete_constant(ir1.inst17) +// CHECK:STDOUT: ir1.inst23: concrete_constant(ir1.inst26) +// CHECK:STDOUT: ir1.inst24: concrete_constant(ir1.inst26) // CHECK:STDOUT: ir1.inst25: concrete_constant(ir1.inst25) -// CHECK:STDOUT: ir1.inst26: concrete_constant(ir1.inst25) +// CHECK:STDOUT: ir1.inst26: concrete_constant(ir1.inst26) +// CHECK:STDOUT: ir1.inst27: concrete_constant(ir1.inst26) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir1.inst17 +// CHECK:STDOUT: 0: ir1.inst18 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: ir1.inst16 -// CHECK:STDOUT: 1: ir1.inst22 -// CHECK:STDOUT: 2: ir1.inst23 +// CHECK:STDOUT: 0: ir1.inst17 +// CHECK:STDOUT: 1: ir1.inst23 +// CHECK:STDOUT: 2: ir1.inst24 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: {} // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir1.inst21 -// CHECK:STDOUT: 1: ir1.inst26 -// CHECK:STDOUT: 2: ir1.inst27 -// CHECK:STDOUT: 3: ir1.inst28 +// CHECK:STDOUT: 0: ir1.inst22 +// CHECK:STDOUT: 1: ir1.inst27 +// CHECK:STDOUT: 2: ir1.inst28 +// CHECK:STDOUT: 3: ir1.inst29 // CHECK:STDOUT: inst_block6: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir1.inst15 -// CHECK:STDOUT: 2: ir1.inst17 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir1.inst16 +// CHECK:STDOUT: 2: ir1.inst18 // 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 2a2926cd6a94c..b11fa18762259 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_ir2: {decl_id: ir0.inst15, is_export: false} -// CHECK:STDOUT: import_ir3: {decl_id: ir0.inst15, is_export: false} -// CHECK:STDOUT: import_ir4: {decl_id: ir0.inst15, is_export: false} -// CHECK:STDOUT: import_ir5: {decl_id: ir0.inst15, is_export: false} +// CHECK:STDOUT: import_ir2: {decl_id: ir0.inst16, is_export: false} +// CHECK:STDOUT: import_ir3: {decl_id: ir0.inst16, is_export: false} +// CHECK:STDOUT: import_ir4: {decl_id: ir0.inst16, is_export: false} +// CHECK:STDOUT: import_ir5: {decl_id: ir0.inst16, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir4, inst_id: ir3.inst15} -// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir4, inst_id: ir3.inst15} -// CHECK:STDOUT: import_ir_inst2: {ir_id: import_ir4, inst_id: ir3.inst17} -// CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir4, inst_id: ir3.inst45} -// CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir4, inst_id: ir3.inst40} -// CHECK:STDOUT: import_ir_inst5: {ir_id: import_ir4, inst_id: ir3.inst40} -// CHECK:STDOUT: import_ir_inst6: {ir_id: import_ir4, inst_id: ir3.inst40} -// CHECK:STDOUT: import_ir_inst7: {ir_id: import_ir4, inst_id: ir3.inst34} -// CHECK:STDOUT: import_ir_inst8: {ir_id: import_ir4, inst_id: ir3.inst35} -// CHECK:STDOUT: import_ir_inst9: {ir_id: import_ir4, inst_id: ir3.inst28} -// CHECK:STDOUT: import_ir_inst10: {ir_id: import_ir4, inst_id: ir3.inst30} -// CHECK:STDOUT: import_ir_inst11: {ir_id: import_ir4, inst_id: ir3.inst17} -// CHECK:STDOUT: import_ir_inst12: {ir_id: import_ir4, inst_id: ir3.inst21} -// CHECK:STDOUT: import_ir_inst13: {ir_id: import_ir4, inst_id: ir3.inst24} -// CHECK:STDOUT: import_ir_inst14: {ir_id: import_ir4, inst_id: ir3.inst29} -// CHECK:STDOUT: import_ir_inst15: {ir_id: import_ir4, inst_id: ir3.inst97} -// CHECK:STDOUT: import_ir_inst16: {ir_id: import_ir4, inst_id: ir3.inst95} -// CHECK:STDOUT: import_ir_inst17: {ir_id: import_ir4, inst_id: ir3.inst84} -// CHECK:STDOUT: import_ir_inst18: {ir_id: import_ir4, inst_id: ir3.inst80} -// CHECK:STDOUT: import_ir_inst19: {ir_id: import_ir4, inst_id: ir3.inst90} -// CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir4, inst_id: ir3.inst93} -// CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir4, inst_id: ir3.inst116} -// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir4, inst_id: ir3.inst96} -// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir4, inst_id: ir3.inst82} -// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir4, inst_id: ir3.inst88} -// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir4, inst_id: ir3.inst92} -// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir4, inst_id: ir3.inst99} -// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir4, inst_id: ir3.inst116} -// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir4, inst_id: ir3.inst111} -// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir4, inst_id: ir3.inst112} -// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir4, inst_id: ir3.inst107} -// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir4, inst_id: ir3.inst109} -// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir4, inst_id: ir3.inst80} -// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir4, inst_id: ir3.inst119} -// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir4, inst_id: ir3.inst120} -// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir4, inst_id: ir3.inst102} -// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir4, inst_id: ir3.inst103} -// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir4, inst_id: ir3.inst104} -// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir4, inst_id: ir3.inst108} -// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir4, inst_id: ir3.inst124} -// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir4, inst_id: ir3.inst132} -// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir4, inst_id: ir3.inst139} -// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir4, inst_id: ir3.inst143} -// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir4, inst_id: ir3.inst144} -// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir4, inst_id: ir3.inst149} -// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir4, inst_id: ir3.inst170} -// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir4, inst_id: ir3.inst168} -// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir4, inst_id: ir3.inst166} -// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir4, inst_id: ir3.inst167} -// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir4, inst_id: ir3.inst194} -// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir4, inst_id: ir3.inst192} -// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir4, inst_id: ir3.inst190} -// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir4, inst_id: ir3.inst191} -// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir4, inst_id: ir3.inst218} -// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir4, inst_id: ir3.inst216} -// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir4, inst_id: ir3.inst214} -// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir4, inst_id: ir3.inst215} -// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir4, inst_id: ir3.inst242} -// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir4, inst_id: ir3.inst240} -// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir4, inst_id: ir3.inst238} -// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir4, inst_id: ir3.inst239} -// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir4, inst_id: ir3.inst271} -// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir4, inst_id: ir3.inst269} -// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir4, inst_id: ir3.inst263} -// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir4, inst_id: ir3.inst260} -// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir4, inst_id: ir3.inst265} -// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir4, inst_id: ir3.inst268} -// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir4, inst_id: ir3.inst288} -// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir4, inst_id: ir3.inst270} -// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir4, inst_id: ir3.inst262} -// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir4, inst_id: ir3.inst267} -// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir4, inst_id: ir3.inst273} -// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir4, inst_id: ir3.inst288} -// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir4, inst_id: ir3.inst283} -// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir4, inst_id: ir3.inst284} -// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir4, inst_id: ir3.inst279} -// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir4, inst_id: ir3.inst281} -// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir4, inst_id: ir3.inst260} -// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir4, inst_id: ir3.inst291} -// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir4, inst_id: ir3.inst292} -// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir4, inst_id: ir3.inst295} -// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir4, inst_id: ir3.inst275} -// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir4, inst_id: ir3.inst276} -// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir4, inst_id: ir3.inst280} -// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir4, inst_id: ir3.inst301} -// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir4, inst_id: ir3.inst299} +// CHECK:STDOUT: import_ir_inst0: {ir_id: import_ir4, inst_id: ir3.inst16} +// CHECK:STDOUT: import_ir_inst1: {ir_id: import_ir4, inst_id: ir3.inst16} +// CHECK:STDOUT: import_ir_inst2: {ir_id: import_ir4, inst_id: ir3.inst18} +// CHECK:STDOUT: import_ir_inst3: {ir_id: import_ir4, inst_id: ir3.inst46} +// CHECK:STDOUT: import_ir_inst4: {ir_id: import_ir4, inst_id: ir3.inst41} +// CHECK:STDOUT: import_ir_inst5: {ir_id: import_ir4, inst_id: ir3.inst41} +// CHECK:STDOUT: import_ir_inst6: {ir_id: import_ir4, inst_id: ir3.inst41} +// CHECK:STDOUT: import_ir_inst7: {ir_id: import_ir4, inst_id: ir3.inst35} +// CHECK:STDOUT: import_ir_inst8: {ir_id: import_ir4, inst_id: ir3.inst36} +// CHECK:STDOUT: import_ir_inst9: {ir_id: import_ir4, inst_id: ir3.inst29} +// CHECK:STDOUT: import_ir_inst10: {ir_id: import_ir4, inst_id: ir3.inst31} +// CHECK:STDOUT: import_ir_inst11: {ir_id: import_ir4, inst_id: ir3.inst18} +// CHECK:STDOUT: import_ir_inst12: {ir_id: import_ir4, inst_id: ir3.inst22} +// CHECK:STDOUT: import_ir_inst13: {ir_id: import_ir4, inst_id: ir3.inst25} +// CHECK:STDOUT: import_ir_inst14: {ir_id: import_ir4, inst_id: ir3.inst30} +// CHECK:STDOUT: import_ir_inst15: {ir_id: import_ir4, inst_id: ir3.inst98} +// CHECK:STDOUT: import_ir_inst16: {ir_id: import_ir4, inst_id: ir3.inst96} +// CHECK:STDOUT: import_ir_inst17: {ir_id: import_ir4, inst_id: ir3.inst85} +// CHECK:STDOUT: import_ir_inst18: {ir_id: import_ir4, inst_id: ir3.inst81} +// CHECK:STDOUT: import_ir_inst19: {ir_id: import_ir4, inst_id: ir3.inst91} +// CHECK:STDOUT: import_ir_inst20: {ir_id: import_ir4, inst_id: ir3.inst94} +// CHECK:STDOUT: import_ir_inst21: {ir_id: import_ir4, inst_id: ir3.inst117} +// CHECK:STDOUT: import_ir_inst22: {ir_id: import_ir4, inst_id: ir3.inst97} +// CHECK:STDOUT: import_ir_inst23: {ir_id: import_ir4, inst_id: ir3.inst83} +// CHECK:STDOUT: import_ir_inst24: {ir_id: import_ir4, inst_id: ir3.inst89} +// CHECK:STDOUT: import_ir_inst25: {ir_id: import_ir4, inst_id: ir3.inst93} +// CHECK:STDOUT: import_ir_inst26: {ir_id: import_ir4, inst_id: ir3.inst100} +// CHECK:STDOUT: import_ir_inst27: {ir_id: import_ir4, inst_id: ir3.inst117} +// CHECK:STDOUT: import_ir_inst28: {ir_id: import_ir4, inst_id: ir3.inst112} +// CHECK:STDOUT: import_ir_inst29: {ir_id: import_ir4, inst_id: ir3.inst113} +// CHECK:STDOUT: import_ir_inst30: {ir_id: import_ir4, inst_id: ir3.inst108} +// CHECK:STDOUT: import_ir_inst31: {ir_id: import_ir4, inst_id: ir3.inst110} +// CHECK:STDOUT: import_ir_inst32: {ir_id: import_ir4, inst_id: ir3.inst81} +// CHECK:STDOUT: import_ir_inst33: {ir_id: import_ir4, inst_id: ir3.inst120} +// CHECK:STDOUT: import_ir_inst34: {ir_id: import_ir4, inst_id: ir3.inst121} +// CHECK:STDOUT: import_ir_inst35: {ir_id: import_ir4, inst_id: ir3.inst103} +// CHECK:STDOUT: import_ir_inst36: {ir_id: import_ir4, inst_id: ir3.inst104} +// CHECK:STDOUT: import_ir_inst37: {ir_id: import_ir4, inst_id: ir3.inst105} +// CHECK:STDOUT: import_ir_inst38: {ir_id: import_ir4, inst_id: ir3.inst109} +// CHECK:STDOUT: import_ir_inst39: {ir_id: import_ir4, inst_id: ir3.inst125} +// CHECK:STDOUT: import_ir_inst40: {ir_id: import_ir4, inst_id: ir3.inst133} +// CHECK:STDOUT: import_ir_inst41: {ir_id: import_ir4, inst_id: ir3.inst140} +// CHECK:STDOUT: import_ir_inst42: {ir_id: import_ir4, inst_id: ir3.inst144} +// CHECK:STDOUT: import_ir_inst43: {ir_id: import_ir4, inst_id: ir3.inst145} +// CHECK:STDOUT: import_ir_inst44: {ir_id: import_ir4, inst_id: ir3.inst150} +// CHECK:STDOUT: import_ir_inst45: {ir_id: import_ir4, inst_id: ir3.inst171} +// CHECK:STDOUT: import_ir_inst46: {ir_id: import_ir4, inst_id: ir3.inst169} +// CHECK:STDOUT: import_ir_inst47: {ir_id: import_ir4, inst_id: ir3.inst167} +// CHECK:STDOUT: import_ir_inst48: {ir_id: import_ir4, inst_id: ir3.inst168} +// CHECK:STDOUT: import_ir_inst49: {ir_id: import_ir4, inst_id: ir3.inst195} +// CHECK:STDOUT: import_ir_inst50: {ir_id: import_ir4, inst_id: ir3.inst193} +// CHECK:STDOUT: import_ir_inst51: {ir_id: import_ir4, inst_id: ir3.inst191} +// CHECK:STDOUT: import_ir_inst52: {ir_id: import_ir4, inst_id: ir3.inst192} +// CHECK:STDOUT: import_ir_inst53: {ir_id: import_ir4, inst_id: ir3.inst219} +// CHECK:STDOUT: import_ir_inst54: {ir_id: import_ir4, inst_id: ir3.inst217} +// CHECK:STDOUT: import_ir_inst55: {ir_id: import_ir4, inst_id: ir3.inst215} +// CHECK:STDOUT: import_ir_inst56: {ir_id: import_ir4, inst_id: ir3.inst216} +// CHECK:STDOUT: import_ir_inst57: {ir_id: import_ir4, inst_id: ir3.inst243} +// CHECK:STDOUT: import_ir_inst58: {ir_id: import_ir4, inst_id: ir3.inst241} +// CHECK:STDOUT: import_ir_inst59: {ir_id: import_ir4, inst_id: ir3.inst239} +// CHECK:STDOUT: import_ir_inst60: {ir_id: import_ir4, inst_id: ir3.inst240} +// CHECK:STDOUT: import_ir_inst61: {ir_id: import_ir4, inst_id: ir3.inst272} +// CHECK:STDOUT: import_ir_inst62: {ir_id: import_ir4, inst_id: ir3.inst270} +// CHECK:STDOUT: import_ir_inst63: {ir_id: import_ir4, inst_id: ir3.inst264} +// CHECK:STDOUT: import_ir_inst64: {ir_id: import_ir4, inst_id: ir3.inst261} +// CHECK:STDOUT: import_ir_inst65: {ir_id: import_ir4, inst_id: ir3.inst266} +// CHECK:STDOUT: import_ir_inst66: {ir_id: import_ir4, inst_id: ir3.inst269} +// CHECK:STDOUT: import_ir_inst67: {ir_id: import_ir4, inst_id: ir3.inst289} +// CHECK:STDOUT: import_ir_inst68: {ir_id: import_ir4, inst_id: ir3.inst271} +// CHECK:STDOUT: import_ir_inst69: {ir_id: import_ir4, inst_id: ir3.inst263} +// CHECK:STDOUT: import_ir_inst70: {ir_id: import_ir4, inst_id: ir3.inst268} +// CHECK:STDOUT: import_ir_inst71: {ir_id: import_ir4, inst_id: ir3.inst274} +// CHECK:STDOUT: import_ir_inst72: {ir_id: import_ir4, inst_id: ir3.inst289} +// CHECK:STDOUT: import_ir_inst73: {ir_id: import_ir4, inst_id: ir3.inst284} +// CHECK:STDOUT: import_ir_inst74: {ir_id: import_ir4, inst_id: ir3.inst285} +// CHECK:STDOUT: import_ir_inst75: {ir_id: import_ir4, inst_id: ir3.inst280} +// CHECK:STDOUT: import_ir_inst76: {ir_id: import_ir4, inst_id: ir3.inst282} +// CHECK:STDOUT: import_ir_inst77: {ir_id: import_ir4, inst_id: ir3.inst261} +// CHECK:STDOUT: import_ir_inst78: {ir_id: import_ir4, inst_id: ir3.inst292} +// CHECK:STDOUT: import_ir_inst79: {ir_id: import_ir4, inst_id: ir3.inst293} +// CHECK:STDOUT: import_ir_inst80: {ir_id: import_ir4, inst_id: ir3.inst296} +// CHECK:STDOUT: import_ir_inst81: {ir_id: import_ir4, inst_id: ir3.inst276} +// CHECK:STDOUT: import_ir_inst82: {ir_id: import_ir4, inst_id: ir3.inst277} +// CHECK:STDOUT: import_ir_inst83: {ir_id: import_ir4, inst_id: ir3.inst281} +// CHECK:STDOUT: import_ir_inst84: {ir_id: import_ir4, inst_id: ir3.inst302} +// CHECK:STDOUT: import_ir_inst85: {ir_id: import_ir4, inst_id: ir3.inst300} // CHECK:STDOUT: import_ir_inst86: {ir_id: import_ir4, inst_id: inst(TypeType)} -// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir4, inst_id: ir3.inst298} -// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir4, inst_id: ir3.inst322} -// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir4, inst_id: ir3.inst320} -// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir4, inst_id: ir3.inst318} -// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir4, inst_id: ir3.inst319} -// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir4, inst_id: ir3.inst370} -// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir4, inst_id: ir3.inst368} -// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir4, inst_id: ir3.inst349} -// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir4, inst_id: ir3.inst343} -// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir4, inst_id: ir3.inst341} -// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir4, inst_id: ir3.inst346} -// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir4, inst_id: ir3.inst363} -// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir4, inst_id: ir3.inst365} -// CHECK:STDOUT: import_ir_inst100: {ir_id: import_ir4, inst_id: ir3.inst392} -// CHECK:STDOUT: import_ir_inst101: {ir_id: import_ir4, inst_id: ir3.inst369} -// CHECK:STDOUT: import_ir_inst102: {ir_id: import_ir4, inst_id: ir3.inst342} -// CHECK:STDOUT: import_ir_inst103: {ir_id: import_ir4, inst_id: ir3.inst348} -// CHECK:STDOUT: import_ir_inst104: {ir_id: import_ir4, inst_id: ir3.inst356} -// CHECK:STDOUT: import_ir_inst105: {ir_id: import_ir4, inst_id: ir3.inst360} -// CHECK:STDOUT: import_ir_inst106: {ir_id: import_ir4, inst_id: ir3.inst364} -// CHECK:STDOUT: import_ir_inst107: {ir_id: import_ir4, inst_id: ir3.inst372} -// CHECK:STDOUT: import_ir_inst108: {ir_id: import_ir4, inst_id: ir3.inst392} -// CHECK:STDOUT: import_ir_inst109: {ir_id: import_ir4, inst_id: ir3.inst387} -// CHECK:STDOUT: import_ir_inst110: {ir_id: import_ir4, inst_id: ir3.inst388} -// CHECK:STDOUT: import_ir_inst111: {ir_id: import_ir4, inst_id: ir3.inst383} -// CHECK:STDOUT: import_ir_inst112: {ir_id: import_ir4, inst_id: ir3.inst385} -// CHECK:STDOUT: import_ir_inst113: {ir_id: import_ir4, inst_id: ir3.inst341} -// CHECK:STDOUT: import_ir_inst114: {ir_id: import_ir4, inst_id: ir3.inst346} -// CHECK:STDOUT: import_ir_inst115: {ir_id: import_ir4, inst_id: ir3.inst395} -// CHECK:STDOUT: import_ir_inst116: {ir_id: import_ir4, inst_id: ir3.inst396} -// CHECK:STDOUT: import_ir_inst117: {ir_id: import_ir4, inst_id: ir3.inst376} -// CHECK:STDOUT: import_ir_inst118: {ir_id: import_ir4, inst_id: ir3.inst377} -// CHECK:STDOUT: import_ir_inst119: {ir_id: import_ir4, inst_id: ir3.inst378} -// CHECK:STDOUT: import_ir_inst120: {ir_id: import_ir4, inst_id: ir3.inst379} -// CHECK:STDOUT: import_ir_inst121: {ir_id: import_ir4, inst_id: ir3.inst380} -// CHECK:STDOUT: import_ir_inst122: {ir_id: import_ir4, inst_id: ir3.inst384} -// CHECK:STDOUT: import_ir_inst123: {ir_id: import_ir4, inst_id: ir3.inst401} -// CHECK:STDOUT: import_ir_inst124: {ir_id: import_ir4, inst_id: ir3.inst409} -// CHECK:STDOUT: import_ir_inst125: {ir_id: import_ir4, inst_id: ir3.inst413} -// CHECK:STDOUT: import_ir_inst126: {ir_id: import_ir4, inst_id: ir3.inst415} -// CHECK:STDOUT: import_ir_inst127: {ir_id: import_ir4, inst_id: ir3.inst416} -// CHECK:STDOUT: import_ir_inst128: {ir_id: import_ir4, inst_id: ir3.inst419} -// CHECK:STDOUT: import_ir_inst129: {ir_id: import_ir4, inst_id: ir3.inst431} -// CHECK:STDOUT: import_ir_inst130: {ir_id: import_ir4, inst_id: ir3.inst436} -// CHECK:STDOUT: import_ir_inst131: {ir_id: import_ir4, inst_id: ir3.inst440} -// CHECK:STDOUT: import_ir_inst132: {ir_id: import_ir4, inst_id: ir3.inst441} -// CHECK:STDOUT: import_ir_inst133: {ir_id: import_ir4, inst_id: ir3.inst446} -// CHECK:STDOUT: import_ir_inst134: {ir_id: import_ir4, inst_id: ir3.inst503} -// CHECK:STDOUT: import_ir_inst135: {ir_id: import_ir4, inst_id: ir3.inst501} -// CHECK:STDOUT: import_ir_inst136: {ir_id: import_ir4, inst_id: ir3.inst477} -// CHECK:STDOUT: import_ir_inst137: {ir_id: import_ir4, inst_id: ir3.inst471} -// CHECK:STDOUT: import_ir_inst138: {ir_id: import_ir4, inst_id: ir3.inst466} -// CHECK:STDOUT: import_ir_inst139: {ir_id: import_ir4, inst_id: ir3.inst464} -// CHECK:STDOUT: import_ir_inst140: {ir_id: import_ir4, inst_id: ir3.inst469} -// CHECK:STDOUT: import_ir_inst141: {ir_id: import_ir4, inst_id: ir3.inst474} -// CHECK:STDOUT: import_ir_inst142: {ir_id: import_ir4, inst_id: ir3.inst495} -// CHECK:STDOUT: import_ir_inst143: {ir_id: import_ir4, inst_id: ir3.inst497} -// CHECK:STDOUT: import_ir_inst144: {ir_id: import_ir4, inst_id: ir3.inst528} -// CHECK:STDOUT: import_ir_inst145: {ir_id: import_ir4, inst_id: ir3.inst502} -// CHECK:STDOUT: import_ir_inst146: {ir_id: import_ir4, inst_id: ir3.inst465} -// CHECK:STDOUT: import_ir_inst147: {ir_id: import_ir4, inst_id: ir3.inst470} -// CHECK:STDOUT: import_ir_inst148: {ir_id: import_ir4, inst_id: ir3.inst476} -// CHECK:STDOUT: import_ir_inst149: {ir_id: import_ir4, inst_id: ir3.inst485} -// CHECK:STDOUT: import_ir_inst150: {ir_id: import_ir4, inst_id: ir3.inst488} -// CHECK:STDOUT: import_ir_inst151: {ir_id: import_ir4, inst_id: ir3.inst492} -// CHECK:STDOUT: import_ir_inst152: {ir_id: import_ir4, inst_id: ir3.inst496} -// CHECK:STDOUT: import_ir_inst153: {ir_id: import_ir4, inst_id: ir3.inst505} -// CHECK:STDOUT: import_ir_inst154: {ir_id: import_ir4, inst_id: ir3.inst528} -// CHECK:STDOUT: import_ir_inst155: {ir_id: import_ir4, inst_id: ir3.inst523} -// CHECK:STDOUT: import_ir_inst156: {ir_id: import_ir4, inst_id: ir3.inst524} -// CHECK:STDOUT: import_ir_inst157: {ir_id: import_ir4, inst_id: ir3.inst519} -// CHECK:STDOUT: import_ir_inst158: {ir_id: import_ir4, inst_id: ir3.inst521} -// CHECK:STDOUT: import_ir_inst159: {ir_id: import_ir4, inst_id: ir3.inst464} -// CHECK:STDOUT: import_ir_inst160: {ir_id: import_ir4, inst_id: ir3.inst469} -// CHECK:STDOUT: import_ir_inst161: {ir_id: import_ir4, inst_id: ir3.inst474} -// CHECK:STDOUT: import_ir_inst162: {ir_id: import_ir4, inst_id: ir3.inst531} -// CHECK:STDOUT: import_ir_inst163: {ir_id: import_ir4, inst_id: ir3.inst532} -// CHECK:STDOUT: import_ir_inst164: {ir_id: import_ir4, inst_id: ir3.inst510} -// CHECK:STDOUT: import_ir_inst165: {ir_id: import_ir4, inst_id: ir3.inst511} -// CHECK:STDOUT: import_ir_inst166: {ir_id: import_ir4, inst_id: ir3.inst512} -// CHECK:STDOUT: import_ir_inst167: {ir_id: import_ir4, inst_id: ir3.inst513} -// CHECK:STDOUT: import_ir_inst168: {ir_id: import_ir4, inst_id: ir3.inst514} -// CHECK:STDOUT: import_ir_inst169: {ir_id: import_ir4, inst_id: ir3.inst515} -// CHECK:STDOUT: import_ir_inst170: {ir_id: import_ir4, inst_id: ir3.inst516} -// CHECK:STDOUT: import_ir_inst171: {ir_id: import_ir4, inst_id: ir3.inst520} -// CHECK:STDOUT: import_ir_inst172: {ir_id: import_ir4, inst_id: ir3.inst537} -// CHECK:STDOUT: import_ir_inst173: {ir_id: import_ir4, inst_id: ir3.inst544} -// CHECK:STDOUT: import_ir_inst174: {ir_id: import_ir4, inst_id: ir3.inst548} -// CHECK:STDOUT: import_ir_inst175: {ir_id: import_ir4, inst_id: ir3.inst550} -// CHECK:STDOUT: import_ir_inst176: {ir_id: import_ir4, inst_id: ir3.inst551} -// CHECK:STDOUT: import_ir_inst177: {ir_id: import_ir4, inst_id: ir3.inst554} -// CHECK:STDOUT: import_ir_inst178: {ir_id: import_ir4, inst_id: ir3.inst564} -// CHECK:STDOUT: import_ir_inst179: {ir_id: import_ir4, inst_id: ir3.inst568} -// CHECK:STDOUT: import_ir_inst180: {ir_id: import_ir4, inst_id: ir3.inst570} -// CHECK:STDOUT: import_ir_inst181: {ir_id: import_ir4, inst_id: ir3.inst571} -// CHECK:STDOUT: import_ir_inst182: {ir_id: import_ir4, inst_id: ir3.inst574} -// CHECK:STDOUT: import_ir_inst183: {ir_id: import_ir4, inst_id: ir3.inst586} -// CHECK:STDOUT: import_ir_inst184: {ir_id: import_ir4, inst_id: ir3.inst591} -// CHECK:STDOUT: import_ir_inst185: {ir_id: import_ir4, inst_id: ir3.inst595} -// CHECK:STDOUT: import_ir_inst186: {ir_id: import_ir4, inst_id: ir3.inst596} -// CHECK:STDOUT: import_ir_inst187: {ir_id: import_ir4, inst_id: ir3.inst601} +// CHECK:STDOUT: import_ir_inst87: {ir_id: import_ir4, inst_id: ir3.inst299} +// CHECK:STDOUT: import_ir_inst88: {ir_id: import_ir4, inst_id: ir3.inst323} +// CHECK:STDOUT: import_ir_inst89: {ir_id: import_ir4, inst_id: ir3.inst321} +// CHECK:STDOUT: import_ir_inst90: {ir_id: import_ir4, inst_id: ir3.inst319} +// CHECK:STDOUT: import_ir_inst91: {ir_id: import_ir4, inst_id: ir3.inst320} +// CHECK:STDOUT: import_ir_inst92: {ir_id: import_ir4, inst_id: ir3.inst371} +// CHECK:STDOUT: import_ir_inst93: {ir_id: import_ir4, inst_id: ir3.inst369} +// CHECK:STDOUT: import_ir_inst94: {ir_id: import_ir4, inst_id: ir3.inst350} +// CHECK:STDOUT: import_ir_inst95: {ir_id: import_ir4, inst_id: ir3.inst344} +// CHECK:STDOUT: import_ir_inst96: {ir_id: import_ir4, inst_id: ir3.inst342} +// CHECK:STDOUT: import_ir_inst97: {ir_id: import_ir4, inst_id: ir3.inst347} +// CHECK:STDOUT: import_ir_inst98: {ir_id: import_ir4, inst_id: ir3.inst364} +// CHECK:STDOUT: import_ir_inst99: {ir_id: import_ir4, inst_id: ir3.inst366} +// CHECK:STDOUT: import_ir_inst100: {ir_id: import_ir4, inst_id: ir3.inst393} +// CHECK:STDOUT: import_ir_inst101: {ir_id: import_ir4, inst_id: ir3.inst370} +// CHECK:STDOUT: import_ir_inst102: {ir_id: import_ir4, inst_id: ir3.inst343} +// CHECK:STDOUT: import_ir_inst103: {ir_id: import_ir4, inst_id: ir3.inst349} +// CHECK:STDOUT: import_ir_inst104: {ir_id: import_ir4, inst_id: ir3.inst357} +// CHECK:STDOUT: import_ir_inst105: {ir_id: import_ir4, inst_id: ir3.inst361} +// CHECK:STDOUT: import_ir_inst106: {ir_id: import_ir4, inst_id: ir3.inst365} +// CHECK:STDOUT: import_ir_inst107: {ir_id: import_ir4, inst_id: ir3.inst373} +// CHECK:STDOUT: import_ir_inst108: {ir_id: import_ir4, inst_id: ir3.inst393} +// CHECK:STDOUT: import_ir_inst109: {ir_id: import_ir4, inst_id: ir3.inst388} +// CHECK:STDOUT: import_ir_inst110: {ir_id: import_ir4, inst_id: ir3.inst389} +// CHECK:STDOUT: import_ir_inst111: {ir_id: import_ir4, inst_id: ir3.inst384} +// CHECK:STDOUT: import_ir_inst112: {ir_id: import_ir4, inst_id: ir3.inst386} +// CHECK:STDOUT: import_ir_inst113: {ir_id: import_ir4, inst_id: ir3.inst342} +// CHECK:STDOUT: import_ir_inst114: {ir_id: import_ir4, inst_id: ir3.inst347} +// CHECK:STDOUT: import_ir_inst115: {ir_id: import_ir4, inst_id: ir3.inst396} +// CHECK:STDOUT: import_ir_inst116: {ir_id: import_ir4, inst_id: ir3.inst397} +// CHECK:STDOUT: import_ir_inst117: {ir_id: import_ir4, inst_id: ir3.inst377} +// CHECK:STDOUT: import_ir_inst118: {ir_id: import_ir4, inst_id: ir3.inst378} +// CHECK:STDOUT: import_ir_inst119: {ir_id: import_ir4, inst_id: ir3.inst379} +// CHECK:STDOUT: import_ir_inst120: {ir_id: import_ir4, inst_id: ir3.inst380} +// CHECK:STDOUT: import_ir_inst121: {ir_id: import_ir4, inst_id: ir3.inst381} +// CHECK:STDOUT: import_ir_inst122: {ir_id: import_ir4, inst_id: ir3.inst385} +// CHECK:STDOUT: import_ir_inst123: {ir_id: import_ir4, inst_id: ir3.inst402} +// CHECK:STDOUT: import_ir_inst124: {ir_id: import_ir4, inst_id: ir3.inst410} +// CHECK:STDOUT: import_ir_inst125: {ir_id: import_ir4, inst_id: ir3.inst414} +// CHECK:STDOUT: import_ir_inst126: {ir_id: import_ir4, inst_id: ir3.inst416} +// CHECK:STDOUT: import_ir_inst127: {ir_id: import_ir4, inst_id: ir3.inst417} +// CHECK:STDOUT: import_ir_inst128: {ir_id: import_ir4, inst_id: ir3.inst420} +// CHECK:STDOUT: import_ir_inst129: {ir_id: import_ir4, inst_id: ir3.inst432} +// CHECK:STDOUT: import_ir_inst130: {ir_id: import_ir4, inst_id: ir3.inst437} +// CHECK:STDOUT: import_ir_inst131: {ir_id: import_ir4, inst_id: ir3.inst441} +// CHECK:STDOUT: import_ir_inst132: {ir_id: import_ir4, inst_id: ir3.inst442} +// CHECK:STDOUT: import_ir_inst133: {ir_id: import_ir4, inst_id: ir3.inst447} +// CHECK:STDOUT: import_ir_inst134: {ir_id: import_ir4, inst_id: ir3.inst504} +// CHECK:STDOUT: import_ir_inst135: {ir_id: import_ir4, inst_id: ir3.inst502} +// CHECK:STDOUT: import_ir_inst136: {ir_id: import_ir4, inst_id: ir3.inst478} +// CHECK:STDOUT: import_ir_inst137: {ir_id: import_ir4, inst_id: ir3.inst472} +// CHECK:STDOUT: import_ir_inst138: {ir_id: import_ir4, inst_id: ir3.inst467} +// CHECK:STDOUT: import_ir_inst139: {ir_id: import_ir4, inst_id: ir3.inst465} +// CHECK:STDOUT: import_ir_inst140: {ir_id: import_ir4, inst_id: ir3.inst470} +// CHECK:STDOUT: import_ir_inst141: {ir_id: import_ir4, inst_id: ir3.inst475} +// CHECK:STDOUT: import_ir_inst142: {ir_id: import_ir4, inst_id: ir3.inst496} +// CHECK:STDOUT: import_ir_inst143: {ir_id: import_ir4, inst_id: ir3.inst498} +// CHECK:STDOUT: import_ir_inst144: {ir_id: import_ir4, inst_id: ir3.inst529} +// CHECK:STDOUT: import_ir_inst145: {ir_id: import_ir4, inst_id: ir3.inst503} +// CHECK:STDOUT: import_ir_inst146: {ir_id: import_ir4, inst_id: ir3.inst466} +// CHECK:STDOUT: import_ir_inst147: {ir_id: import_ir4, inst_id: ir3.inst471} +// CHECK:STDOUT: import_ir_inst148: {ir_id: import_ir4, inst_id: ir3.inst477} +// CHECK:STDOUT: import_ir_inst149: {ir_id: import_ir4, inst_id: ir3.inst486} +// CHECK:STDOUT: import_ir_inst150: {ir_id: import_ir4, inst_id: ir3.inst489} +// CHECK:STDOUT: import_ir_inst151: {ir_id: import_ir4, inst_id: ir3.inst493} +// CHECK:STDOUT: import_ir_inst152: {ir_id: import_ir4, inst_id: ir3.inst497} +// CHECK:STDOUT: import_ir_inst153: {ir_id: import_ir4, inst_id: ir3.inst506} +// CHECK:STDOUT: import_ir_inst154: {ir_id: import_ir4, inst_id: ir3.inst529} +// CHECK:STDOUT: import_ir_inst155: {ir_id: import_ir4, inst_id: ir3.inst524} +// CHECK:STDOUT: import_ir_inst156: {ir_id: import_ir4, inst_id: ir3.inst525} +// CHECK:STDOUT: import_ir_inst157: {ir_id: import_ir4, inst_id: ir3.inst520} +// CHECK:STDOUT: import_ir_inst158: {ir_id: import_ir4, inst_id: ir3.inst522} +// CHECK:STDOUT: import_ir_inst159: {ir_id: import_ir4, inst_id: ir3.inst465} +// CHECK:STDOUT: import_ir_inst160: {ir_id: import_ir4, inst_id: ir3.inst470} +// CHECK:STDOUT: import_ir_inst161: {ir_id: import_ir4, inst_id: ir3.inst475} +// CHECK:STDOUT: import_ir_inst162: {ir_id: import_ir4, inst_id: ir3.inst532} +// CHECK:STDOUT: import_ir_inst163: {ir_id: import_ir4, inst_id: ir3.inst533} +// CHECK:STDOUT: import_ir_inst164: {ir_id: import_ir4, inst_id: ir3.inst511} +// CHECK:STDOUT: import_ir_inst165: {ir_id: import_ir4, inst_id: ir3.inst512} +// CHECK:STDOUT: import_ir_inst166: {ir_id: import_ir4, inst_id: ir3.inst513} +// CHECK:STDOUT: import_ir_inst167: {ir_id: import_ir4, inst_id: ir3.inst514} +// CHECK:STDOUT: import_ir_inst168: {ir_id: import_ir4, inst_id: ir3.inst515} +// CHECK:STDOUT: import_ir_inst169: {ir_id: import_ir4, inst_id: ir3.inst516} +// CHECK:STDOUT: import_ir_inst170: {ir_id: import_ir4, inst_id: ir3.inst517} +// CHECK:STDOUT: import_ir_inst171: {ir_id: import_ir4, inst_id: ir3.inst521} +// CHECK:STDOUT: import_ir_inst172: {ir_id: import_ir4, inst_id: ir3.inst538} +// CHECK:STDOUT: import_ir_inst173: {ir_id: import_ir4, inst_id: ir3.inst545} +// CHECK:STDOUT: import_ir_inst174: {ir_id: import_ir4, inst_id: ir3.inst549} +// CHECK:STDOUT: import_ir_inst175: {ir_id: import_ir4, inst_id: ir3.inst551} +// CHECK:STDOUT: import_ir_inst176: {ir_id: import_ir4, inst_id: ir3.inst552} +// CHECK:STDOUT: import_ir_inst177: {ir_id: import_ir4, inst_id: ir3.inst555} +// CHECK:STDOUT: import_ir_inst178: {ir_id: import_ir4, inst_id: ir3.inst565} +// CHECK:STDOUT: import_ir_inst179: {ir_id: import_ir4, inst_id: ir3.inst569} +// CHECK:STDOUT: import_ir_inst180: {ir_id: import_ir4, inst_id: ir3.inst571} +// CHECK:STDOUT: import_ir_inst181: {ir_id: import_ir4, inst_id: ir3.inst572} +// CHECK:STDOUT: import_ir_inst182: {ir_id: import_ir4, inst_id: ir3.inst575} +// CHECK:STDOUT: import_ir_inst183: {ir_id: import_ir4, inst_id: ir3.inst587} +// CHECK:STDOUT: import_ir_inst184: {ir_id: import_ir4, inst_id: ir3.inst592} +// CHECK:STDOUT: import_ir_inst185: {ir_id: import_ir4, inst_id: ir3.inst596} +// CHECK:STDOUT: import_ir_inst186: {ir_id: import_ir4, inst_id: ir3.inst597} +// CHECK:STDOUT: import_ir_inst187: {ir_id: import_ir4, inst_id: ir3.inst602} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): ir0.inst16, name0: ir0.inst53}} -// CHECK:STDOUT: name_scope1: {inst: ir0.inst16, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: ir0.inst69}} -// CHECK:STDOUT: name_scope2: {inst: ir0.inst70, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {name(SelfType): ir0.inst73, name4: ir0.inst74}} -// CHECK:STDOUT: name_scope3: {inst: ir0.inst94, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope4: {inst: ir0.inst139, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope5: {inst: ir0.inst143, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6: {inst: ir0.inst147, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope7: {inst: ir0.inst151, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope8: {inst: ir0.inst155, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope9: {inst: ir0.inst181, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope10: {inst: ir0.inst185, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope11: {inst: ir0.inst189, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope12: {inst: ir0.inst245, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): ir0.inst17, name0: ir0.inst54}} +// CHECK:STDOUT: name_scope1: {inst: ir0.inst17, parent_scope: name_scope0, has_error: false, extended_scopes: [], names: {name3: ir0.inst70}} +// CHECK:STDOUT: name_scope2: {inst: ir0.inst71, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {name(SelfType): ir0.inst74, name4: ir0.inst75}} +// CHECK:STDOUT: name_scope3: {inst: ir0.inst95, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope4: {inst: ir0.inst140, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope5: {inst: ir0.inst144, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6: {inst: ir0.inst148, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope7: {inst: ir0.inst152, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope8: {inst: ir0.inst156, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope9: {inst: ir0.inst182, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope10: {inst: ir0.inst186, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope11: {inst: ir0.inst190, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope12: {inst: ir0.inst246, parent_scope: name_scope1, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name0: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: entity_name1: {name: name1, parent_scope: name_scope, index: 0, is_template: 0, clang_decl_id: clang_decl_id} @@ -295,24 +295,24 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: entity_name60: {name: name6, parent_scope: name_scope, index: 2, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: entity_name61: {name: name6, parent_scope: name_scope, index: 2, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block13, return_slot_pattern: ir0.inst48, body: [inst_block20]} -// CHECK:STDOUT: function1: {name: name4, parent_scope: name_scope2, return_slot_pattern: ir0.inst85} -// CHECK:STDOUT: function2: {name: name4, parent_scope: name_scope3, return_slot_pattern: ir0.inst115} -// CHECK:STDOUT: function3: {name: name4, parent_scope: name_scope8, return_slot_pattern: ir0.inst170} -// CHECK:STDOUT: function4: {name: name4, parent_scope: name_scope11, return_slot_pattern: ir0.inst213} -// CHECK:STDOUT: function5: {name: name4, parent_scope: name_scope12, return_slot_pattern: ir0.inst273} +// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block13, return_slot_pattern: ir0.inst49, body: [inst_block20]} +// CHECK:STDOUT: function1: {name: name4, parent_scope: name_scope2, return_slot_pattern: ir0.inst86} +// CHECK:STDOUT: function2: {name: name4, parent_scope: name_scope3, return_slot_pattern: ir0.inst116} +// CHECK:STDOUT: function3: {name: name4, parent_scope: name_scope8, return_slot_pattern: ir0.inst171} +// CHECK:STDOUT: function4: {name: name4, parent_scope: name_scope11, return_slot_pattern: ir0.inst214} +// CHECK:STDOUT: function5: {name: name4, parent_scope: name_scope12, return_slot_pattern: ir0.inst274} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic0: {decl: ir0.inst53, bindings: inst_block16} -// CHECK:STDOUT: generic1: {decl: ir0.inst79, bindings: inst_block24} -// CHECK:STDOUT: generic2: {decl: ir0.inst94, bindings: inst_block29} -// CHECK:STDOUT: generic3: {decl: ir0.inst110, bindings: inst_block36} -// CHECK:STDOUT: generic4: {decl: ir0.inst155, bindings: inst_block46} -// CHECK:STDOUT: generic5: {decl: ir0.inst166, bindings: inst_block52} -// CHECK:STDOUT: generic6: {decl: ir0.inst189, bindings: inst_block59} -// CHECK:STDOUT: generic7: {decl: ir0.inst208, bindings: inst_block67} -// CHECK:STDOUT: generic8: {decl: ir0.inst245, bindings: inst_block81} -// CHECK:STDOUT: generic9: {decl: ir0.inst268, bindings: inst_block89} +// CHECK:STDOUT: generic0: {decl: ir0.inst54, bindings: inst_block16} +// CHECK:STDOUT: generic1: {decl: ir0.inst80, bindings: inst_block24} +// CHECK:STDOUT: generic2: {decl: ir0.inst95, bindings: inst_block29} +// CHECK:STDOUT: generic3: {decl: ir0.inst111, bindings: inst_block36} +// CHECK:STDOUT: generic4: {decl: ir0.inst156, bindings: inst_block46} +// CHECK:STDOUT: generic5: {decl: ir0.inst167, bindings: inst_block52} +// CHECK:STDOUT: generic6: {decl: ir0.inst190, bindings: inst_block59} +// CHECK:STDOUT: generic7: {decl: ir0.inst209, bindings: inst_block67} +// CHECK:STDOUT: generic8: {decl: ir0.inst246, bindings: inst_block81} +// CHECK:STDOUT: generic9: {decl: ir0.inst269, bindings: inst_block89} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific0: {generic: generic0, args: inst_block17} // CHECK:STDOUT: specific1: {generic: generic1, args: inst_block26} @@ -348,14 +348,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(ir0.inst36)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst36)} -// CHECK:STDOUT: 'type(ir0.inst38)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst40)} -// CHECK:STDOUT: 'type(ir0.inst40)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst40)} -// CHECK:STDOUT: 'type(ir0.inst54)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst36)} +// CHECK:STDOUT: 'type(ir0.inst37)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst37)} +// CHECK:STDOUT: 'type(ir0.inst39)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst41)} +// CHECK:STDOUT: 'type(ir0.inst41)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst41)} +// CHECK:STDOUT: 'type(ir0.inst55)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst37)} // CHECK:STDOUT: 'type(symbolic_constant3)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant3)} // CHECK:STDOUT: 'type(symbolic_constant7)': @@ -368,1430 +368,1430 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant4)} // CHECK:STDOUT: 'type(symbolic_constant8)': // CHECK:STDOUT: value_repr: {kind: pointer, type: type(symbolic_constant11)} -// CHECK:STDOUT: 'type(ir0.inst71)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst71)} +// CHECK:STDOUT: 'type(ir0.inst72)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst72)} // CHECK:STDOUT: 'type(inst(SpecificFunctionType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(SpecificFunctionType))} // CHECK:STDOUT: 'type(symbolic_constant253)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst36)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst37)} // CHECK:STDOUT: 'type(symbolic_constant256)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst36)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst37)} // CHECK:STDOUT: 'type(inst(BoundMethodType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(BoundMethodType))} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst15: {kind: ImportDecl, arg0: name(Core)} -// CHECK:STDOUT: ir0.inst16: {kind: Namespace, arg0: name_scope1, arg1: ir0.inst15, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst17: {kind: FacetType, arg0: facet_type0, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst18: {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: type(ir0.inst17)} -// CHECK:STDOUT: ir0.inst19: {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: type(ir0.inst17)} -// CHECK:STDOUT: ir0.inst20: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst16: {kind: ImportDecl, arg0: name(Core)} +// CHECK:STDOUT: ir0.inst17: {kind: Namespace, arg0: name_scope1, arg1: ir0.inst16, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst18: {kind: FacetType, arg0: facet_type0, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst19: {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: type(ir0.inst18)} +// CHECK:STDOUT: ir0.inst20: {kind: BindSymbolicName, arg0: entity_name0, arg1: inst, type: type(ir0.inst18)} // CHECK:STDOUT: ir0.inst21: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: ir0.inst22: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst23: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: ir0.inst24: {kind: SymbolicBindingPattern, arg0: entity_name1, type: type(ir0.inst23)} -// CHECK:STDOUT: ir0.inst25: {kind: NameRef, arg0: name1, arg1: ir0.inst20, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst26: {kind: PointerType, arg0: ir0.inst25, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst27: {kind: PointerType, arg0: ir0.inst21, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst23: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst24: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: ir0.inst25: {kind: SymbolicBindingPattern, arg0: entity_name1, type: type(ir0.inst24)} +// CHECK:STDOUT: ir0.inst26: {kind: NameRef, arg0: name1, arg1: ir0.inst21, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst27: {kind: PointerType, arg0: ir0.inst26, type: type(TypeType)} // CHECK:STDOUT: ir0.inst28: {kind: PointerType, arg0: ir0.inst22, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst29: {kind: BindName, arg0: entity_name2, arg1: ir0.inst49, type: type(symbolic_constant4)} -// CHECK:STDOUT: ir0.inst30: {kind: PatternType, arg0: ir0.inst27, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst31: {kind: BindingPattern, arg0: entity_name2, type: type(symbolic_constant6)} -// CHECK:STDOUT: ir0.inst32: {kind: PatternType, arg0: ir0.inst28, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst33: {kind: ValueParamPattern, arg0: ir0.inst31, arg1: call_param0, type: type(symbolic_constant6)} -// CHECK:STDOUT: ir0.inst34: {kind: NameRef, arg0: name1, arg1: ir0.inst20, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst35: {kind: PointerType, arg0: ir0.inst34, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst36: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst37: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst36)} -// CHECK:STDOUT: ir0.inst38: {kind: TupleType, arg0: inst_block9, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst39: {kind: TupleLiteral, arg0: inst_block8, type: type(ir0.inst38)} -// CHECK:STDOUT: ir0.inst40: {kind: PointerType, arg0: ir0.inst38, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst41: {kind: Converted, arg0: ir0.inst37, arg1: ir0.inst36, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst42: {kind: TupleType, arg0: inst_block11, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst43: {kind: Converted, arg0: ir0.inst39, arg1: ir0.inst42, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst44: {kind: TupleType, arg0: inst_block12, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst45: {kind: PatternType, arg0: ir0.inst42, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst46: {kind: ReturnSlotPattern, arg0: ir0.inst43, type: type(symbolic_constant10)} -// CHECK:STDOUT: ir0.inst47: {kind: PatternType, arg0: ir0.inst44, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst48: {kind: OutParamPattern, arg0: ir0.inst46, arg1: call_param1, type: type(symbolic_constant10)} -// CHECK:STDOUT: ir0.inst49: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant4)} -// CHECK:STDOUT: ir0.inst50: {kind: SpliceBlock, arg0: inst_block6, arg1: ir0.inst26, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst51: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant8)} -// CHECK:STDOUT: ir0.inst52: {kind: ReturnSlot, arg0: ir0.inst42, arg1: ir0.inst51, type: type(symbolic_constant8)} -// CHECK:STDOUT: ir0.inst53: {kind: FunctionDecl, arg0: function0, arg1: inst_block15, type: type(ir0.inst54)} -// CHECK:STDOUT: ir0.inst54: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst55: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst54)} -// CHECK:STDOUT: ir0.inst56: {kind: PointerType, arg0: ir0.inst42, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst57: {kind: RequireCompleteType, arg0: ir0.inst42, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst58: {kind: RequireCompleteType, arg0: ir0.inst42, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst59: {kind: RequireCompleteType, arg0: ir0.inst44, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst60: {kind: RequireCompleteType, arg0: ir0.inst27, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst61: {kind: RequireCompleteType, arg0: ir0.inst27, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst29: {kind: PointerType, arg0: ir0.inst23, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst30: {kind: BindName, arg0: entity_name2, arg1: ir0.inst50, type: type(symbolic_constant4)} +// CHECK:STDOUT: ir0.inst31: {kind: PatternType, arg0: ir0.inst28, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst32: {kind: BindingPattern, arg0: entity_name2, type: type(symbolic_constant6)} +// CHECK:STDOUT: ir0.inst33: {kind: PatternType, arg0: ir0.inst29, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst34: {kind: ValueParamPattern, arg0: ir0.inst32, arg1: call_param0, type: type(symbolic_constant6)} +// CHECK:STDOUT: ir0.inst35: {kind: NameRef, arg0: name1, arg1: ir0.inst21, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst36: {kind: PointerType, arg0: ir0.inst35, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst37: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst38: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst37)} +// CHECK:STDOUT: ir0.inst39: {kind: TupleType, arg0: inst_block9, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst40: {kind: TupleLiteral, arg0: inst_block8, type: type(ir0.inst39)} +// CHECK:STDOUT: ir0.inst41: {kind: PointerType, arg0: ir0.inst39, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst42: {kind: Converted, arg0: ir0.inst38, arg1: ir0.inst37, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst43: {kind: TupleType, arg0: inst_block11, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst44: {kind: Converted, arg0: ir0.inst40, arg1: ir0.inst43, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst45: {kind: TupleType, arg0: inst_block12, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst46: {kind: PatternType, arg0: ir0.inst43, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst47: {kind: ReturnSlotPattern, arg0: ir0.inst44, type: type(symbolic_constant10)} +// CHECK:STDOUT: ir0.inst48: {kind: PatternType, arg0: ir0.inst45, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst49: {kind: OutParamPattern, arg0: ir0.inst47, arg1: call_param1, type: type(symbolic_constant10)} +// CHECK:STDOUT: ir0.inst50: {kind: ValueParam, arg0: call_param0, arg1: name2, type: type(symbolic_constant4)} +// CHECK:STDOUT: ir0.inst51: {kind: SpliceBlock, arg0: inst_block6, arg1: ir0.inst27, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst52: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant8)} +// CHECK:STDOUT: ir0.inst53: {kind: ReturnSlot, arg0: ir0.inst43, arg1: ir0.inst52, type: type(symbolic_constant8)} +// CHECK:STDOUT: ir0.inst54: {kind: FunctionDecl, arg0: function0, arg1: inst_block15, type: type(ir0.inst55)} +// CHECK:STDOUT: ir0.inst55: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst56: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst55)} +// CHECK:STDOUT: ir0.inst57: {kind: PointerType, arg0: ir0.inst43, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst58: {kind: RequireCompleteType, arg0: ir0.inst43, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst59: {kind: RequireCompleteType, arg0: ir0.inst43, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst60: {kind: RequireCompleteType, arg0: ir0.inst45, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst61: {kind: RequireCompleteType, arg0: ir0.inst28, type: type(inst(WitnessType))} // CHECK:STDOUT: ir0.inst62: {kind: RequireCompleteType, arg0: ir0.inst28, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst63: {kind: NameRef, arg0: name2, arg1: ir0.inst29, type: type(symbolic_constant4)} -// CHECK:STDOUT: ir0.inst64: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst36)} -// CHECK:STDOUT: ir0.inst65: {kind: TupleLiteral, arg0: inst_block21, type: type(symbolic_constant8)} -// CHECK:STDOUT: ir0.inst66: {kind: RequireCompleteType, arg0: ir0.inst42, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst67: {kind: TupleAccess, arg0: ir0.inst52, arg1: element0, type: type(symbolic_constant4)} -// CHECK:STDOUT: ir0.inst68: {kind: RequireCompleteType, arg0: ir0.inst27, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst69: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name3, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst70: {kind: InterfaceDecl, arg0: interface0, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst71: {kind: FacetType, arg0: facet_type1, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst72: {kind: BindSymbolicName, arg0: entity_name4, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst73: {kind: ImportRefUnloaded, arg0: import_ir_inst2, arg1: entity_name} -// CHECK:STDOUT: ir0.inst74: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(ir0.inst76)} -// CHECK:STDOUT: ir0.inst75: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name5} -// CHECK:STDOUT: ir0.inst76: {kind: AssociatedEntityType, arg0: interface0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst77: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(ir0.inst80)} -// CHECK:STDOUT: ir0.inst78: {kind: AssociatedEntity, arg0: element0, arg1: ir0.inst77, type: type(ir0.inst76)} -// CHECK:STDOUT: ir0.inst79: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir0.inst80)} -// CHECK:STDOUT: ir0.inst80: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst81: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst80)} -// CHECK:STDOUT: ir0.inst82: {kind: SymbolicBindingType, arg0: entity_name4, arg1: ir0.inst72, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst83: {kind: PatternType, arg0: ir0.inst82, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst84: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant19)} -// CHECK:STDOUT: ir0.inst85: {kind: OutParamPattern, arg0: ir0.inst84, arg1: call_param1, type: type(symbolic_constant19)} -// CHECK:STDOUT: ir0.inst86: {kind: BindingPattern, arg0: entity_name8, type: type(symbolic_constant19)} -// CHECK:STDOUT: ir0.inst87: {kind: ValueParamPattern, arg0: ir0.inst86, arg1: call_param0, type: type(symbolic_constant19)} -// CHECK:STDOUT: ir0.inst88: {kind: ImportRefLoaded, arg0: import_ir_inst11, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst89: {kind: BindSymbolicName, arg0: entity_name4, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst90: {kind: SymbolicBindingType, arg0: entity_name4, arg1: ir0.inst89, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst91: {kind: PatternType, arg0: ir0.inst90, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst92: {kind: LookupImplWitness, arg0: ir0.inst27, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst93: {kind: ImportRefUnloaded, arg0: import_ir_inst15, arg1: entity_name} -// CHECK:STDOUT: ir0.inst94: {kind: ImplDecl, arg0: impl0, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst95: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst96: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst95, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst97: {kind: ConstType, arg0: ir0.inst96, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst98: {kind: PatternType, arg0: ir0.inst71, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst99: {kind: SymbolicBindingPattern, arg0: entity_name13, type: type(ir0.inst98)} -// CHECK:STDOUT: ir0.inst100: {kind: ImportRefLoaded, arg0: import_ir_inst18, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst101: {kind: ImportRefLoaded, arg0: import_ir_inst19, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst102: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst103: {kind: ImportRefUnloaded, arg0: import_ir_inst21, arg1: entity_name} -// CHECK:STDOUT: ir0.inst104: {kind: ImplWitnessTable, arg0: inst_block30, arg1: impl0} -// CHECK:STDOUT: ir0.inst105: {kind: ImplWitness, arg0: ir0.inst104, arg1: specific2, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst106: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst107: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst106, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst108: {kind: ConstType, arg0: ir0.inst107, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst109: {kind: ImplWitness, arg0: ir0.inst104, arg1: specific3, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst110: {kind: FunctionDecl, arg0: function2, arg1: inst_block_empty, type: type(symbolic_constant38)} -// CHECK:STDOUT: ir0.inst111: {kind: FunctionType, arg0: function2, arg1: specific2, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst112: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant38)} -// CHECK:STDOUT: ir0.inst113: {kind: PatternType, arg0: ir0.inst97, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst114: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant43)} -// CHECK:STDOUT: ir0.inst115: {kind: OutParamPattern, arg0: ir0.inst114, arg1: call_param1, type: type(symbolic_constant43)} -// CHECK:STDOUT: ir0.inst116: {kind: BindingPattern, arg0: entity_name17, type: type(symbolic_constant43)} -// CHECK:STDOUT: ir0.inst117: {kind: ValueParamPattern, arg0: ir0.inst116, arg1: call_param0, type: type(symbolic_constant43)} -// CHECK:STDOUT: ir0.inst118: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst119: {kind: FunctionType, arg0: function2, arg1: specific3, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst120: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant45)} -// CHECK:STDOUT: ir0.inst121: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst122: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst121, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst123: {kind: ConstType, arg0: ir0.inst122, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst124: {kind: PatternType, arg0: ir0.inst123, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst125: {kind: RequireCompleteType, arg0: ir0.inst97, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst126: {kind: RequireCompleteType, arg0: ir0.inst96, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst127: {kind: LookupImplWitness, arg0: ir0.inst95, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst128: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst95, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst129: {kind: ImplWitnessAccess, arg0: ir0.inst127, arg1: element0, type: type(symbolic_constant60)} -// CHECK:STDOUT: ir0.inst130: {kind: SpecificImplFunction, arg0: ir0.inst129, arg1: specific5, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst131: {kind: RequireCompleteType, arg0: ir0.inst123, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst132: {kind: RequireCompleteType, arg0: ir0.inst122, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst133: {kind: LookupImplWitness, arg0: ir0.inst121, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst134: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst121, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst135: {kind: ImplWitnessAccess, arg0: ir0.inst133, arg1: element0, type: type(symbolic_constant69)} -// CHECK:STDOUT: ir0.inst136: {kind: SpecificImplFunction, arg0: ir0.inst135, arg1: specific6, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst137: {kind: PatternType, arg0: ir0.inst96, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst138: {kind: ImportRefUnloaded, arg0: import_ir_inst45, arg1: entity_name} -// CHECK:STDOUT: ir0.inst139: {kind: ImplDecl, arg0: impl1, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst140: {kind: ImportRefLoaded, arg0: import_ir_inst47, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst141: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst142: {kind: ImportRefUnloaded, arg0: import_ir_inst49, arg1: entity_name} -// CHECK:STDOUT: ir0.inst143: {kind: ImplDecl, arg0: impl2, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst144: {kind: ImportRefLoaded, arg0: import_ir_inst51, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst145: {kind: ImportRefLoaded, arg0: import_ir_inst52, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst146: {kind: ImportRefUnloaded, arg0: import_ir_inst53, arg1: entity_name} -// CHECK:STDOUT: ir0.inst147: {kind: ImplDecl, arg0: impl3, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst148: {kind: ImportRefLoaded, arg0: import_ir_inst55, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst149: {kind: ImportRefLoaded, arg0: import_ir_inst56, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst150: {kind: ImportRefUnloaded, arg0: import_ir_inst57, arg1: entity_name} -// CHECK:STDOUT: ir0.inst151: {kind: ImplDecl, arg0: impl4, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst152: {kind: ImportRefLoaded, arg0: import_ir_inst59, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst153: {kind: ImportRefLoaded, arg0: import_ir_inst60, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst154: {kind: ImportRefLoaded, arg0: import_ir_inst61, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst155: {kind: ImplDecl, arg0: impl5, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst156: {kind: SymbolicBindingPattern, arg0: entity_name21, type: type(ir0.inst23)} -// CHECK:STDOUT: ir0.inst157: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst158: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst159: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst160: {kind: ImportRefUnloaded, arg0: import_ir_inst67, arg1: entity_name} -// CHECK:STDOUT: ir0.inst161: {kind: ImplWitnessTable, arg0: inst_block47, arg1: impl5} -// CHECK:STDOUT: ir0.inst162: {kind: ImplWitness, arg0: ir0.inst161, arg1: specific7, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst163: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst164: {kind: PointerType, arg0: ir0.inst163, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst165: {kind: ImplWitness, arg0: ir0.inst161, arg1: specific8, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst166: {kind: FunctionDecl, arg0: function3, arg1: inst_block_empty, type: type(symbolic_constant81)} -// CHECK:STDOUT: ir0.inst167: {kind: FunctionType, arg0: function3, arg1: specific7, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst168: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant81)} -// CHECK:STDOUT: ir0.inst169: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant85)} -// CHECK:STDOUT: ir0.inst170: {kind: OutParamPattern, arg0: ir0.inst169, arg1: call_param1, type: type(symbolic_constant85)} -// CHECK:STDOUT: ir0.inst171: {kind: BindingPattern, arg0: entity_name24, type: type(symbolic_constant85)} -// CHECK:STDOUT: ir0.inst172: {kind: ValueParamPattern, arg0: ir0.inst171, arg1: call_param0, type: type(symbolic_constant85)} -// CHECK:STDOUT: ir0.inst173: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst174: {kind: FunctionType, arg0: function3, arg1: specific8, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst175: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant88)} -// CHECK:STDOUT: ir0.inst176: {kind: RequireCompleteType, arg0: ir0.inst164, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst177: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst178: {kind: PointerType, arg0: ir0.inst177, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst179: {kind: PatternType, arg0: ir0.inst178, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst180: {kind: ImportRefUnloaded, arg0: import_ir_inst84, arg1: entity_name} -// CHECK:STDOUT: ir0.inst181: {kind: ImplDecl, arg0: impl6, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst182: {kind: ImportRefLoaded, arg0: import_ir_inst86, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst183: {kind: ImportRefLoaded, arg0: import_ir_inst87, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst184: {kind: ImportRefUnloaded, arg0: import_ir_inst88, arg1: entity_name} -// CHECK:STDOUT: ir0.inst185: {kind: ImplDecl, arg0: impl7, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst186: {kind: ImportRefLoaded, arg0: import_ir_inst90, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst187: {kind: ImportRefLoaded, arg0: import_ir_inst91, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst188: {kind: ImportRefUnloaded, arg0: import_ir_inst92, arg1: entity_name} -// CHECK:STDOUT: ir0.inst189: {kind: ImplDecl, arg0: impl8, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst190: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst191: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst190, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst192: {kind: TupleType, arg0: inst_block57, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst193: {kind: SymbolicBindingPattern, arg0: entity_name28, type: type(ir0.inst98)} -// CHECK:STDOUT: ir0.inst194: {kind: SymbolicBindingPattern, arg0: entity_name29, type: type(ir0.inst98)} -// CHECK:STDOUT: ir0.inst195: {kind: ImportRefLoaded, arg0: import_ir_inst96, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst196: {kind: ImportRefLoaded, arg0: import_ir_inst97, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst197: {kind: ImportRefLoaded, arg0: import_ir_inst98, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst198: {kind: ImportRefLoaded, arg0: import_ir_inst99, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst199: {kind: ImportRefUnloaded, arg0: import_ir_inst100, arg1: entity_name} -// CHECK:STDOUT: ir0.inst200: {kind: ImplWitnessTable, arg0: inst_block60, arg1: impl8} -// CHECK:STDOUT: ir0.inst201: {kind: ImplWitness, arg0: ir0.inst200, arg1: specific10, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst202: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst203: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst204: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst202, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst205: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst203, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst206: {kind: TupleType, arg0: inst_block62, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst207: {kind: ImplWitness, arg0: ir0.inst200, arg1: specific11, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst208: {kind: FunctionDecl, arg0: function4, arg1: inst_block_empty, type: type(symbolic_constant114)} -// CHECK:STDOUT: ir0.inst209: {kind: FunctionType, arg0: function4, arg1: specific10, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst210: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant114)} -// CHECK:STDOUT: ir0.inst211: {kind: PatternType, arg0: ir0.inst192, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst212: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant119)} -// CHECK:STDOUT: ir0.inst213: {kind: OutParamPattern, arg0: ir0.inst212, arg1: call_param1, type: type(symbolic_constant119)} -// CHECK:STDOUT: ir0.inst214: {kind: BindingPattern, arg0: entity_name36, type: type(symbolic_constant119)} -// CHECK:STDOUT: ir0.inst215: {kind: ValueParamPattern, arg0: ir0.inst214, arg1: call_param0, type: type(symbolic_constant119)} -// CHECK:STDOUT: ir0.inst216: {kind: ImportRefLoaded, arg0: import_ir_inst113, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst217: {kind: ImportRefLoaded, arg0: import_ir_inst114, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst218: {kind: FunctionType, arg0: function4, arg1: specific11, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst219: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant121)} -// CHECK:STDOUT: ir0.inst220: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst221: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst220, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst222: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst223: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst222, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst224: {kind: TupleType, arg0: inst_block70, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst225: {kind: PatternType, arg0: ir0.inst224, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst226: {kind: RequireCompleteType, arg0: ir0.inst192, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst227: {kind: RequireCompleteType, arg0: ir0.inst191, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst228: {kind: LookupImplWitness, arg0: ir0.inst190, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst229: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst190, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst230: {kind: ImplWitnessAccess, arg0: ir0.inst228, arg1: element0, type: type(symbolic_constant145)} -// CHECK:STDOUT: ir0.inst231: {kind: SpecificImplFunction, arg0: ir0.inst230, arg1: specific13, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst232: {kind: RequireCompleteType, arg0: ir0.inst224, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst233: {kind: RequireCompleteType, arg0: ir0.inst221, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst234: {kind: LookupImplWitness, arg0: ir0.inst220, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst235: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst220, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst236: {kind: ImplWitnessAccess, arg0: ir0.inst234, arg1: element0, type: type(symbolic_constant154)} -// CHECK:STDOUT: ir0.inst237: {kind: SpecificImplFunction, arg0: ir0.inst236, arg1: specific14, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst238: {kind: RequireCompleteType, arg0: ir0.inst223, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst239: {kind: LookupImplWitness, arg0: ir0.inst222, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst240: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst222, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst241: {kind: ImplWitnessAccess, arg0: ir0.inst239, arg1: element0, type: type(symbolic_constant159)} -// CHECK:STDOUT: ir0.inst242: {kind: SpecificImplFunction, arg0: ir0.inst241, arg1: specific15, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst243: {kind: PatternType, arg0: ir0.inst191, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst244: {kind: ImportRefUnloaded, arg0: import_ir_inst134, arg1: entity_name} -// CHECK:STDOUT: ir0.inst245: {kind: ImplDecl, arg0: impl9, arg1: inst_block_empty} -// CHECK:STDOUT: ir0.inst246: {kind: BindSymbolicName, arg0: entity_name41, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst247: {kind: SymbolicBindingType, arg0: entity_name41, arg1: ir0.inst246, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst248: {kind: TupleType, arg0: inst_block79, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst249: {kind: SymbolicBindingPattern, arg0: entity_name43, type: type(ir0.inst98)} -// CHECK:STDOUT: ir0.inst250: {kind: SymbolicBindingPattern, arg0: entity_name44, type: type(ir0.inst98)} -// CHECK:STDOUT: ir0.inst251: {kind: SymbolicBindingPattern, arg0: entity_name45, type: type(ir0.inst98)} -// CHECK:STDOUT: ir0.inst252: {kind: ImportRefLoaded, arg0: import_ir_inst139, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst253: {kind: ImportRefLoaded, arg0: import_ir_inst140, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst254: {kind: ImportRefLoaded, arg0: import_ir_inst141, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst255: {kind: ImportRefLoaded, arg0: import_ir_inst142, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst256: {kind: ImportRefLoaded, arg0: import_ir_inst143, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst257: {kind: ImportRefUnloaded, arg0: import_ir_inst144, arg1: entity_name} -// CHECK:STDOUT: ir0.inst258: {kind: ImplWitnessTable, arg0: inst_block82, arg1: impl9} -// CHECK:STDOUT: ir0.inst259: {kind: ImplWitness, arg0: ir0.inst258, arg1: specific16, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst260: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst261: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst262: {kind: BindSymbolicName, arg0: entity_name41, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst263: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst260, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst264: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst261, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst265: {kind: SymbolicBindingType, arg0: entity_name41, arg1: ir0.inst262, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst266: {kind: TupleType, arg0: inst_block84, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst267: {kind: ImplWitness, arg0: ir0.inst258, arg1: specific17, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst268: {kind: FunctionDecl, arg0: function5, arg1: inst_block_empty, type: type(symbolic_constant186)} -// CHECK:STDOUT: ir0.inst269: {kind: FunctionType, arg0: function5, arg1: specific16, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst270: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant186)} -// CHECK:STDOUT: ir0.inst271: {kind: PatternType, arg0: ir0.inst248, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst272: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant191)} -// CHECK:STDOUT: ir0.inst273: {kind: OutParamPattern, arg0: ir0.inst272, arg1: call_param1, type: type(symbolic_constant191)} -// CHECK:STDOUT: ir0.inst274: {kind: BindingPattern, arg0: entity_name55, type: type(symbolic_constant191)} -// CHECK:STDOUT: ir0.inst275: {kind: ValueParamPattern, arg0: ir0.inst274, arg1: call_param0, type: type(symbolic_constant191)} -// CHECK:STDOUT: ir0.inst276: {kind: ImportRefLoaded, arg0: import_ir_inst159, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst277: {kind: ImportRefLoaded, arg0: import_ir_inst160, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst278: {kind: ImportRefLoaded, arg0: import_ir_inst161, arg1: entity_name, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst279: {kind: FunctionType, arg0: function5, arg1: specific17, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst280: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant193)} -// CHECK:STDOUT: ir0.inst281: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst282: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst281, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst283: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst284: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst283, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst285: {kind: BindSymbolicName, arg0: entity_name41, arg1: inst, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst286: {kind: SymbolicBindingType, arg0: entity_name41, arg1: ir0.inst285, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst287: {kind: TupleType, arg0: inst_block92, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst288: {kind: PatternType, arg0: ir0.inst287, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst289: {kind: RequireCompleteType, arg0: ir0.inst248, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst290: {kind: RequireCompleteType, arg0: ir0.inst247, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst291: {kind: LookupImplWitness, arg0: ir0.inst246, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst292: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst246, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst293: {kind: ImplWitnessAccess, arg0: ir0.inst291, arg1: element0, type: type(symbolic_constant226)} -// CHECK:STDOUT: ir0.inst294: {kind: SpecificImplFunction, arg0: ir0.inst293, arg1: specific19, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst295: {kind: RequireCompleteType, arg0: ir0.inst287, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst296: {kind: RequireCompleteType, arg0: ir0.inst282, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst297: {kind: LookupImplWitness, arg0: ir0.inst281, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst298: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst281, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst299: {kind: ImplWitnessAccess, arg0: ir0.inst297, arg1: element0, type: type(symbolic_constant235)} -// CHECK:STDOUT: ir0.inst300: {kind: SpecificImplFunction, arg0: ir0.inst299, arg1: specific20, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst301: {kind: RequireCompleteType, arg0: ir0.inst284, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst302: {kind: LookupImplWitness, arg0: ir0.inst283, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst303: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst283, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst304: {kind: ImplWitnessAccess, arg0: ir0.inst302, arg1: element0, type: type(symbolic_constant240)} -// CHECK:STDOUT: ir0.inst305: {kind: SpecificImplFunction, arg0: ir0.inst304, arg1: specific21, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst306: {kind: RequireCompleteType, arg0: ir0.inst286, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst307: {kind: LookupImplWitness, arg0: ir0.inst285, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst308: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst285, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst309: {kind: ImplWitnessAccess, arg0: ir0.inst307, arg1: element0, type: type(symbolic_constant245)} -// CHECK:STDOUT: ir0.inst310: {kind: SpecificImplFunction, arg0: ir0.inst309, arg1: specific22, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst311: {kind: PatternType, arg0: ir0.inst247, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst312: {kind: LookupImplWitness, arg0: ir0.inst27, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst63: {kind: RequireCompleteType, arg0: ir0.inst29, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst64: {kind: NameRef, arg0: name2, arg1: ir0.inst30, type: type(symbolic_constant4)} +// CHECK:STDOUT: ir0.inst65: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst37)} +// CHECK:STDOUT: ir0.inst66: {kind: TupleLiteral, arg0: inst_block21, type: type(symbolic_constant8)} +// CHECK:STDOUT: ir0.inst67: {kind: RequireCompleteType, arg0: ir0.inst43, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst68: {kind: TupleAccess, arg0: ir0.inst53, arg1: element0, type: type(symbolic_constant4)} +// CHECK:STDOUT: ir0.inst69: {kind: RequireCompleteType, arg0: ir0.inst28, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst70: {kind: ImportRefLoaded, arg0: import_ir_inst0, arg1: entity_name3, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst71: {kind: InterfaceDecl, arg0: interface0, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst72: {kind: FacetType, arg0: facet_type1, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst73: {kind: BindSymbolicName, arg0: entity_name4, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst74: {kind: ImportRefUnloaded, arg0: import_ir_inst2, arg1: entity_name} +// CHECK:STDOUT: ir0.inst75: {kind: ImportRefLoaded, arg0: import_ir_inst3, arg1: entity_name, type: type(ir0.inst77)} +// CHECK:STDOUT: ir0.inst76: {kind: ImportRefUnloaded, arg0: import_ir_inst4, arg1: entity_name5} +// CHECK:STDOUT: ir0.inst77: {kind: AssociatedEntityType, arg0: interface0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst78: {kind: ImportRefLoaded, arg0: import_ir_inst5, arg1: entity_name, type: type(ir0.inst81)} +// CHECK:STDOUT: ir0.inst79: {kind: AssociatedEntity, arg0: element0, arg1: ir0.inst78, type: type(ir0.inst77)} +// CHECK:STDOUT: ir0.inst80: {kind: FunctionDecl, arg0: function1, arg1: inst_block_empty, type: type(ir0.inst81)} +// CHECK:STDOUT: ir0.inst81: {kind: FunctionType, arg0: function1, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst82: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst81)} +// CHECK:STDOUT: ir0.inst83: {kind: SymbolicBindingType, arg0: entity_name4, arg1: ir0.inst73, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst84: {kind: PatternType, arg0: ir0.inst83, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst85: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant19)} +// CHECK:STDOUT: ir0.inst86: {kind: OutParamPattern, arg0: ir0.inst85, arg1: call_param1, type: type(symbolic_constant19)} +// CHECK:STDOUT: ir0.inst87: {kind: BindingPattern, arg0: entity_name8, type: type(symbolic_constant19)} +// CHECK:STDOUT: ir0.inst88: {kind: ValueParamPattern, arg0: ir0.inst87, arg1: call_param0, type: type(symbolic_constant19)} +// CHECK:STDOUT: ir0.inst89: {kind: ImportRefLoaded, arg0: import_ir_inst11, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst90: {kind: BindSymbolicName, arg0: entity_name4, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst91: {kind: SymbolicBindingType, arg0: entity_name4, arg1: ir0.inst90, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst92: {kind: PatternType, arg0: ir0.inst91, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst93: {kind: LookupImplWitness, arg0: ir0.inst28, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst94: {kind: ImportRefUnloaded, arg0: import_ir_inst15, arg1: entity_name} +// CHECK:STDOUT: ir0.inst95: {kind: ImplDecl, arg0: impl0, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst96: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst97: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst96, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst98: {kind: ConstType, arg0: ir0.inst97, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst99: {kind: PatternType, arg0: ir0.inst72, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst100: {kind: SymbolicBindingPattern, arg0: entity_name13, type: type(ir0.inst99)} +// CHECK:STDOUT: ir0.inst101: {kind: ImportRefLoaded, arg0: import_ir_inst18, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst102: {kind: ImportRefLoaded, arg0: import_ir_inst19, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst103: {kind: ImportRefLoaded, arg0: import_ir_inst20, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst104: {kind: ImportRefUnloaded, arg0: import_ir_inst21, arg1: entity_name} +// CHECK:STDOUT: ir0.inst105: {kind: ImplWitnessTable, arg0: inst_block30, arg1: impl0} +// CHECK:STDOUT: ir0.inst106: {kind: ImplWitness, arg0: ir0.inst105, arg1: specific2, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst107: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst108: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst107, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst109: {kind: ConstType, arg0: ir0.inst108, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst110: {kind: ImplWitness, arg0: ir0.inst105, arg1: specific3, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst111: {kind: FunctionDecl, arg0: function2, arg1: inst_block_empty, type: type(symbolic_constant38)} +// CHECK:STDOUT: ir0.inst112: {kind: FunctionType, arg0: function2, arg1: specific2, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst113: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant38)} +// CHECK:STDOUT: ir0.inst114: {kind: PatternType, arg0: ir0.inst98, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst115: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant43)} +// CHECK:STDOUT: ir0.inst116: {kind: OutParamPattern, arg0: ir0.inst115, arg1: call_param1, type: type(symbolic_constant43)} +// CHECK:STDOUT: ir0.inst117: {kind: BindingPattern, arg0: entity_name17, type: type(symbolic_constant43)} +// CHECK:STDOUT: ir0.inst118: {kind: ValueParamPattern, arg0: ir0.inst117, arg1: call_param0, type: type(symbolic_constant43)} +// CHECK:STDOUT: ir0.inst119: {kind: ImportRefLoaded, arg0: import_ir_inst32, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst120: {kind: FunctionType, arg0: function2, arg1: specific3, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst121: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant45)} +// CHECK:STDOUT: ir0.inst122: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst123: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst122, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst124: {kind: ConstType, arg0: ir0.inst123, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst125: {kind: PatternType, arg0: ir0.inst124, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst126: {kind: RequireCompleteType, arg0: ir0.inst98, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst127: {kind: RequireCompleteType, arg0: ir0.inst97, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst128: {kind: LookupImplWitness, arg0: ir0.inst96, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst129: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst96, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst130: {kind: ImplWitnessAccess, arg0: ir0.inst128, arg1: element0, type: type(symbolic_constant60)} +// CHECK:STDOUT: ir0.inst131: {kind: SpecificImplFunction, arg0: ir0.inst130, arg1: specific5, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst132: {kind: RequireCompleteType, arg0: ir0.inst124, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst133: {kind: RequireCompleteType, arg0: ir0.inst123, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst134: {kind: LookupImplWitness, arg0: ir0.inst122, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst135: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst122, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst136: {kind: ImplWitnessAccess, arg0: ir0.inst134, arg1: element0, type: type(symbolic_constant69)} +// CHECK:STDOUT: ir0.inst137: {kind: SpecificImplFunction, arg0: ir0.inst136, arg1: specific6, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst138: {kind: PatternType, arg0: ir0.inst97, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst139: {kind: ImportRefUnloaded, arg0: import_ir_inst45, arg1: entity_name} +// CHECK:STDOUT: ir0.inst140: {kind: ImplDecl, arg0: impl1, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst141: {kind: ImportRefLoaded, arg0: import_ir_inst47, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst142: {kind: ImportRefLoaded, arg0: import_ir_inst48, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst143: {kind: ImportRefUnloaded, arg0: import_ir_inst49, arg1: entity_name} +// CHECK:STDOUT: ir0.inst144: {kind: ImplDecl, arg0: impl2, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst145: {kind: ImportRefLoaded, arg0: import_ir_inst51, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst146: {kind: ImportRefLoaded, arg0: import_ir_inst52, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst147: {kind: ImportRefUnloaded, arg0: import_ir_inst53, arg1: entity_name} +// CHECK:STDOUT: ir0.inst148: {kind: ImplDecl, arg0: impl3, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst149: {kind: ImportRefLoaded, arg0: import_ir_inst55, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst150: {kind: ImportRefLoaded, arg0: import_ir_inst56, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst151: {kind: ImportRefUnloaded, arg0: import_ir_inst57, arg1: entity_name} +// CHECK:STDOUT: ir0.inst152: {kind: ImplDecl, arg0: impl4, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst153: {kind: ImportRefLoaded, arg0: import_ir_inst59, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst154: {kind: ImportRefLoaded, arg0: import_ir_inst60, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst155: {kind: ImportRefLoaded, arg0: import_ir_inst61, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst156: {kind: ImplDecl, arg0: impl5, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst157: {kind: SymbolicBindingPattern, arg0: entity_name21, type: type(ir0.inst24)} +// CHECK:STDOUT: ir0.inst158: {kind: ImportRefLoaded, arg0: import_ir_inst64, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst159: {kind: ImportRefLoaded, arg0: import_ir_inst65, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst160: {kind: ImportRefLoaded, arg0: import_ir_inst66, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst161: {kind: ImportRefUnloaded, arg0: import_ir_inst67, arg1: entity_name} +// CHECK:STDOUT: ir0.inst162: {kind: ImplWitnessTable, arg0: inst_block47, arg1: impl5} +// CHECK:STDOUT: ir0.inst163: {kind: ImplWitness, arg0: ir0.inst162, arg1: specific7, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst164: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst165: {kind: PointerType, arg0: ir0.inst164, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst166: {kind: ImplWitness, arg0: ir0.inst162, arg1: specific8, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst167: {kind: FunctionDecl, arg0: function3, arg1: inst_block_empty, type: type(symbolic_constant81)} +// CHECK:STDOUT: ir0.inst168: {kind: FunctionType, arg0: function3, arg1: specific7, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst169: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant81)} +// CHECK:STDOUT: ir0.inst170: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant85)} +// CHECK:STDOUT: ir0.inst171: {kind: OutParamPattern, arg0: ir0.inst170, arg1: call_param1, type: type(symbolic_constant85)} +// CHECK:STDOUT: ir0.inst172: {kind: BindingPattern, arg0: entity_name24, type: type(symbolic_constant85)} +// CHECK:STDOUT: ir0.inst173: {kind: ValueParamPattern, arg0: ir0.inst172, arg1: call_param0, type: type(symbolic_constant85)} +// CHECK:STDOUT: ir0.inst174: {kind: ImportRefLoaded, arg0: import_ir_inst77, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst175: {kind: FunctionType, arg0: function3, arg1: specific8, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst176: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant88)} +// CHECK:STDOUT: ir0.inst177: {kind: RequireCompleteType, arg0: ir0.inst165, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst178: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst179: {kind: PointerType, arg0: ir0.inst178, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst180: {kind: PatternType, arg0: ir0.inst179, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst181: {kind: ImportRefUnloaded, arg0: import_ir_inst84, arg1: entity_name} +// CHECK:STDOUT: ir0.inst182: {kind: ImplDecl, arg0: impl6, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst183: {kind: ImportRefLoaded, arg0: import_ir_inst86, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst184: {kind: ImportRefLoaded, arg0: import_ir_inst87, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst185: {kind: ImportRefUnloaded, arg0: import_ir_inst88, arg1: entity_name} +// CHECK:STDOUT: ir0.inst186: {kind: ImplDecl, arg0: impl7, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst187: {kind: ImportRefLoaded, arg0: import_ir_inst90, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst188: {kind: ImportRefLoaded, arg0: import_ir_inst91, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst189: {kind: ImportRefUnloaded, arg0: import_ir_inst92, arg1: entity_name} +// CHECK:STDOUT: ir0.inst190: {kind: ImplDecl, arg0: impl8, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst191: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst192: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst191, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst193: {kind: TupleType, arg0: inst_block57, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst194: {kind: SymbolicBindingPattern, arg0: entity_name28, type: type(ir0.inst99)} +// CHECK:STDOUT: ir0.inst195: {kind: SymbolicBindingPattern, arg0: entity_name29, type: type(ir0.inst99)} +// CHECK:STDOUT: ir0.inst196: {kind: ImportRefLoaded, arg0: import_ir_inst96, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst197: {kind: ImportRefLoaded, arg0: import_ir_inst97, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst198: {kind: ImportRefLoaded, arg0: import_ir_inst98, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst199: {kind: ImportRefLoaded, arg0: import_ir_inst99, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst200: {kind: ImportRefUnloaded, arg0: import_ir_inst100, arg1: entity_name} +// CHECK:STDOUT: ir0.inst201: {kind: ImplWitnessTable, arg0: inst_block60, arg1: impl8} +// CHECK:STDOUT: ir0.inst202: {kind: ImplWitness, arg0: ir0.inst201, arg1: specific10, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst203: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst204: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst205: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst203, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst206: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst204, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst207: {kind: TupleType, arg0: inst_block62, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst208: {kind: ImplWitness, arg0: ir0.inst201, arg1: specific11, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst209: {kind: FunctionDecl, arg0: function4, arg1: inst_block_empty, type: type(symbolic_constant114)} +// CHECK:STDOUT: ir0.inst210: {kind: FunctionType, arg0: function4, arg1: specific10, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst211: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant114)} +// CHECK:STDOUT: ir0.inst212: {kind: PatternType, arg0: ir0.inst193, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst213: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant119)} +// CHECK:STDOUT: ir0.inst214: {kind: OutParamPattern, arg0: ir0.inst213, arg1: call_param1, type: type(symbolic_constant119)} +// CHECK:STDOUT: ir0.inst215: {kind: BindingPattern, arg0: entity_name36, type: type(symbolic_constant119)} +// CHECK:STDOUT: ir0.inst216: {kind: ValueParamPattern, arg0: ir0.inst215, arg1: call_param0, type: type(symbolic_constant119)} +// CHECK:STDOUT: ir0.inst217: {kind: ImportRefLoaded, arg0: import_ir_inst113, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst218: {kind: ImportRefLoaded, arg0: import_ir_inst114, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst219: {kind: FunctionType, arg0: function4, arg1: specific11, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst220: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant121)} +// CHECK:STDOUT: ir0.inst221: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst222: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst221, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst223: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst224: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst223, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst225: {kind: TupleType, arg0: inst_block70, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst226: {kind: PatternType, arg0: ir0.inst225, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst227: {kind: RequireCompleteType, arg0: ir0.inst193, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst228: {kind: RequireCompleteType, arg0: ir0.inst192, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst229: {kind: LookupImplWitness, arg0: ir0.inst191, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst230: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst191, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst231: {kind: ImplWitnessAccess, arg0: ir0.inst229, arg1: element0, type: type(symbolic_constant145)} +// CHECK:STDOUT: ir0.inst232: {kind: SpecificImplFunction, arg0: ir0.inst231, arg1: specific13, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst233: {kind: RequireCompleteType, arg0: ir0.inst225, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst234: {kind: RequireCompleteType, arg0: ir0.inst222, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst235: {kind: LookupImplWitness, arg0: ir0.inst221, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst236: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst221, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst237: {kind: ImplWitnessAccess, arg0: ir0.inst235, arg1: element0, type: type(symbolic_constant154)} +// CHECK:STDOUT: ir0.inst238: {kind: SpecificImplFunction, arg0: ir0.inst237, arg1: specific14, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst239: {kind: RequireCompleteType, arg0: ir0.inst224, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst240: {kind: LookupImplWitness, arg0: ir0.inst223, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst241: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst223, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst242: {kind: ImplWitnessAccess, arg0: ir0.inst240, arg1: element0, type: type(symbolic_constant159)} +// CHECK:STDOUT: ir0.inst243: {kind: SpecificImplFunction, arg0: ir0.inst242, arg1: specific15, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst244: {kind: PatternType, arg0: ir0.inst192, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst245: {kind: ImportRefUnloaded, arg0: import_ir_inst134, arg1: entity_name} +// CHECK:STDOUT: ir0.inst246: {kind: ImplDecl, arg0: impl9, arg1: inst_block_empty} +// CHECK:STDOUT: ir0.inst247: {kind: BindSymbolicName, arg0: entity_name41, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst248: {kind: SymbolicBindingType, arg0: entity_name41, arg1: ir0.inst247, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst249: {kind: TupleType, arg0: inst_block79, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst250: {kind: SymbolicBindingPattern, arg0: entity_name43, type: type(ir0.inst99)} +// CHECK:STDOUT: ir0.inst251: {kind: SymbolicBindingPattern, arg0: entity_name44, type: type(ir0.inst99)} +// CHECK:STDOUT: ir0.inst252: {kind: SymbolicBindingPattern, arg0: entity_name45, type: type(ir0.inst99)} +// CHECK:STDOUT: ir0.inst253: {kind: ImportRefLoaded, arg0: import_ir_inst139, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst254: {kind: ImportRefLoaded, arg0: import_ir_inst140, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst255: {kind: ImportRefLoaded, arg0: import_ir_inst141, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst256: {kind: ImportRefLoaded, arg0: import_ir_inst142, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst257: {kind: ImportRefLoaded, arg0: import_ir_inst143, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst258: {kind: ImportRefUnloaded, arg0: import_ir_inst144, arg1: entity_name} +// CHECK:STDOUT: ir0.inst259: {kind: ImplWitnessTable, arg0: inst_block82, arg1: impl9} +// CHECK:STDOUT: ir0.inst260: {kind: ImplWitness, arg0: ir0.inst259, arg1: specific16, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst261: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst262: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst263: {kind: BindSymbolicName, arg0: entity_name41, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst264: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst261, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst265: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst262, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst266: {kind: SymbolicBindingType, arg0: entity_name41, arg1: ir0.inst263, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst267: {kind: TupleType, arg0: inst_block84, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst268: {kind: ImplWitness, arg0: ir0.inst259, arg1: specific17, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst269: {kind: FunctionDecl, arg0: function5, arg1: inst_block_empty, type: type(symbolic_constant186)} +// CHECK:STDOUT: ir0.inst270: {kind: FunctionType, arg0: function5, arg1: specific16, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst271: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant186)} +// CHECK:STDOUT: ir0.inst272: {kind: PatternType, arg0: ir0.inst249, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst273: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant191)} +// CHECK:STDOUT: ir0.inst274: {kind: OutParamPattern, arg0: ir0.inst273, arg1: call_param1, type: type(symbolic_constant191)} +// CHECK:STDOUT: ir0.inst275: {kind: BindingPattern, arg0: entity_name55, type: type(symbolic_constant191)} +// CHECK:STDOUT: ir0.inst276: {kind: ValueParamPattern, arg0: ir0.inst275, arg1: call_param0, type: type(symbolic_constant191)} +// CHECK:STDOUT: ir0.inst277: {kind: ImportRefLoaded, arg0: import_ir_inst159, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst278: {kind: ImportRefLoaded, arg0: import_ir_inst160, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst279: {kind: ImportRefLoaded, arg0: import_ir_inst161, arg1: entity_name, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst280: {kind: FunctionType, arg0: function5, arg1: specific17, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst281: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant193)} +// CHECK:STDOUT: ir0.inst282: {kind: BindSymbolicName, arg0: entity_name1, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst283: {kind: SymbolicBindingType, arg0: entity_name1, arg1: ir0.inst282, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst284: {kind: BindSymbolicName, arg0: entity_name26, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst285: {kind: SymbolicBindingType, arg0: entity_name26, arg1: ir0.inst284, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst286: {kind: BindSymbolicName, arg0: entity_name41, arg1: inst, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst287: {kind: SymbolicBindingType, arg0: entity_name41, arg1: ir0.inst286, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst288: {kind: TupleType, arg0: inst_block92, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst289: {kind: PatternType, arg0: ir0.inst288, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst290: {kind: RequireCompleteType, arg0: ir0.inst249, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst291: {kind: RequireCompleteType, arg0: ir0.inst248, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst292: {kind: LookupImplWitness, arg0: ir0.inst247, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst293: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst247, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst294: {kind: ImplWitnessAccess, arg0: ir0.inst292, arg1: element0, type: type(symbolic_constant226)} +// CHECK:STDOUT: ir0.inst295: {kind: SpecificImplFunction, arg0: ir0.inst294, arg1: specific19, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst296: {kind: RequireCompleteType, arg0: ir0.inst288, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst297: {kind: RequireCompleteType, arg0: ir0.inst283, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst298: {kind: LookupImplWitness, arg0: ir0.inst282, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst299: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst282, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst300: {kind: ImplWitnessAccess, arg0: ir0.inst298, arg1: element0, type: type(symbolic_constant235)} +// CHECK:STDOUT: ir0.inst301: {kind: SpecificImplFunction, arg0: ir0.inst300, arg1: specific20, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst302: {kind: RequireCompleteType, arg0: ir0.inst285, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst303: {kind: LookupImplWitness, arg0: ir0.inst284, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst304: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst284, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst305: {kind: ImplWitnessAccess, arg0: ir0.inst303, arg1: element0, type: type(symbolic_constant240)} +// CHECK:STDOUT: ir0.inst306: {kind: SpecificImplFunction, arg0: ir0.inst305, arg1: specific21, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst307: {kind: RequireCompleteType, arg0: ir0.inst287, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst308: {kind: LookupImplWitness, arg0: ir0.inst286, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst309: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst286, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst310: {kind: ImplWitnessAccess, arg0: ir0.inst308, arg1: element0, type: type(symbolic_constant245)} +// CHECK:STDOUT: ir0.inst311: {kind: SpecificImplFunction, arg0: ir0.inst310, arg1: specific22, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst312: {kind: PatternType, arg0: ir0.inst248, type: type(TypeType)} // CHECK:STDOUT: ir0.inst313: {kind: LookupImplWitness, arg0: ir0.inst28, arg1: specific_interface0, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst314: {kind: FacetValue, arg0: ir0.inst27, arg1: inst_block103, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst315: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst314, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst316: {kind: ImplWitnessAccess, arg0: ir0.inst312, arg1: element0, type: type(symbolic_constant256)} -// CHECK:STDOUT: ir0.inst317: {kind: ImplWitnessAccess, arg0: ir0.inst312, arg1: element0, type: type(symbolic_constant253)} -// CHECK:STDOUT: ir0.inst318: {kind: FacetValue, arg0: ir0.inst28, arg1: inst_block104, type: type(ir0.inst71)} -// CHECK:STDOUT: ir0.inst319: {kind: FunctionTypeWithSelfType, arg0: ir0.inst80, arg1: ir0.inst318, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst320: {kind: ImplWitnessAccess, arg0: ir0.inst313, arg1: element0, type: type(symbolic_constant256)} -// CHECK:STDOUT: ir0.inst321: {kind: BoundMethod, arg0: ir0.inst63, arg1: ir0.inst316, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: ir0.inst322: {kind: SpecificImplFunction, arg0: ir0.inst316, arg1: specific23, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst314: {kind: LookupImplWitness, arg0: ir0.inst29, arg1: specific_interface0, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst315: {kind: FacetValue, arg0: ir0.inst28, arg1: inst_block103, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst316: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst315, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst317: {kind: ImplWitnessAccess, arg0: ir0.inst313, arg1: element0, type: type(symbolic_constant256)} +// CHECK:STDOUT: ir0.inst318: {kind: ImplWitnessAccess, arg0: ir0.inst313, arg1: element0, type: type(symbolic_constant253)} +// CHECK:STDOUT: ir0.inst319: {kind: FacetValue, arg0: ir0.inst29, arg1: inst_block104, type: type(ir0.inst72)} +// CHECK:STDOUT: ir0.inst320: {kind: FunctionTypeWithSelfType, arg0: ir0.inst81, arg1: ir0.inst319, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst321: {kind: ImplWitnessAccess, arg0: ir0.inst314, arg1: element0, type: type(symbolic_constant256)} +// CHECK:STDOUT: ir0.inst322: {kind: BoundMethod, arg0: ir0.inst64, arg1: ir0.inst317, type: type(inst(BoundMethodType))} // CHECK:STDOUT: ir0.inst323: {kind: SpecificImplFunction, arg0: ir0.inst317, arg1: specific23, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst324: {kind: SpecificImplFunction, arg0: ir0.inst320, arg1: specific24, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: ir0.inst325: {kind: BoundMethod, arg0: ir0.inst63, arg1: ir0.inst322, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: ir0.inst326: {kind: RequireCompleteType, arg0: ir0.inst27, type: type(inst(WitnessType))} -// CHECK:STDOUT: ir0.inst327: {kind: Call, arg0: ir0.inst325, arg1: inst_block108, type: type(symbolic_constant4)} -// CHECK:STDOUT: ir0.inst328: {kind: InitializeFrom, arg0: ir0.inst327, arg1: ir0.inst67, type: type(symbolic_constant4)} -// CHECK:STDOUT: ir0.inst329: {kind: TupleAccess, arg0: ir0.inst52, arg1: element1, type: type(ir0.inst36)} -// CHECK:STDOUT: ir0.inst330: {kind: TupleInit, arg0: inst_block_empty, arg1: ir0.inst329, type: type(ir0.inst36)} -// CHECK:STDOUT: ir0.inst331: {kind: TupleValue, arg0: inst_block_empty, type: type(ir0.inst36)} -// CHECK:STDOUT: ir0.inst332: {kind: Converted, arg0: ir0.inst64, arg1: ir0.inst330, type: type(ir0.inst36)} -// CHECK:STDOUT: ir0.inst333: {kind: TupleInit, arg0: inst_block109, arg1: ir0.inst52, type: type(symbolic_constant8)} -// CHECK:STDOUT: ir0.inst334: {kind: Converted, arg0: ir0.inst65, arg1: ir0.inst333, type: type(symbolic_constant8)} -// CHECK:STDOUT: ir0.inst335: {kind: ReturnExpr, arg0: ir0.inst334, arg1: ir0.inst52} +// CHECK:STDOUT: ir0.inst324: {kind: SpecificImplFunction, arg0: ir0.inst318, arg1: specific23, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst325: {kind: SpecificImplFunction, arg0: ir0.inst321, arg1: specific24, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: ir0.inst326: {kind: BoundMethod, arg0: ir0.inst64, arg1: ir0.inst323, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: ir0.inst327: {kind: RequireCompleteType, arg0: ir0.inst28, type: type(inst(WitnessType))} +// CHECK:STDOUT: ir0.inst328: {kind: Call, arg0: ir0.inst326, arg1: inst_block108, type: type(symbolic_constant4)} +// CHECK:STDOUT: ir0.inst329: {kind: InitializeFrom, arg0: ir0.inst328, arg1: ir0.inst68, type: type(symbolic_constant4)} +// CHECK:STDOUT: ir0.inst330: {kind: TupleAccess, arg0: ir0.inst53, arg1: element1, type: type(ir0.inst37)} +// CHECK:STDOUT: ir0.inst331: {kind: TupleInit, arg0: inst_block_empty, arg1: ir0.inst330, type: type(ir0.inst37)} +// CHECK:STDOUT: ir0.inst332: {kind: TupleValue, arg0: inst_block_empty, type: type(ir0.inst37)} +// CHECK:STDOUT: ir0.inst333: {kind: Converted, arg0: ir0.inst65, arg1: ir0.inst331, type: type(ir0.inst37)} +// CHECK:STDOUT: ir0.inst334: {kind: TupleInit, arg0: inst_block109, arg1: ir0.inst53, type: type(symbolic_constant8)} +// CHECK:STDOUT: ir0.inst335: {kind: Converted, arg0: ir0.inst66, arg1: ir0.inst334, type: type(symbolic_constant8)} +// CHECK:STDOUT: ir0.inst336: {kind: ReturnExpr, arg0: ir0.inst335, arg1: ir0.inst53} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst16) +// CHECK:STDOUT: inst15: concrete_constant(inst15) // CHECK:STDOUT: ir0.inst17: concrete_constant(ir0.inst17) -// CHECK:STDOUT: ir0.inst18: symbolic_constant0 +// CHECK:STDOUT: ir0.inst18: concrete_constant(ir0.inst18) // CHECK:STDOUT: ir0.inst19: symbolic_constant0 -// CHECK:STDOUT: ir0.inst20: symbolic_constant2 -// CHECK:STDOUT: ir0.inst21: symbolic_constant1 -// CHECK:STDOUT: ir0.inst22: symbolic_constant2 -// CHECK:STDOUT: ir0.inst23: concrete_constant(ir0.inst23) +// CHECK:STDOUT: ir0.inst20: symbolic_constant0 +// CHECK:STDOUT: ir0.inst21: symbolic_constant2 +// CHECK:STDOUT: ir0.inst22: symbolic_constant1 +// CHECK:STDOUT: ir0.inst23: symbolic_constant2 // CHECK:STDOUT: ir0.inst24: concrete_constant(ir0.inst24) -// CHECK:STDOUT: ir0.inst25: symbolic_constant2 -// CHECK:STDOUT: ir0.inst26: symbolic_constant4 -// CHECK:STDOUT: ir0.inst27: symbolic_constant3 -// CHECK:STDOUT: ir0.inst28: symbolic_constant4 -// CHECK:STDOUT: ir0.inst30: symbolic_constant5 -// CHECK:STDOUT: ir0.inst31: concrete_constant(ir0.inst31) -// CHECK:STDOUT: ir0.inst32: symbolic_constant6 -// CHECK:STDOUT: ir0.inst33: concrete_constant(ir0.inst33) -// CHECK:STDOUT: ir0.inst34: symbolic_constant2 -// CHECK:STDOUT: ir0.inst35: symbolic_constant4 -// CHECK:STDOUT: ir0.inst36: concrete_constant(ir0.inst36) -// CHECK:STDOUT: ir0.inst38: concrete_constant(ir0.inst38) -// CHECK:STDOUT: ir0.inst40: concrete_constant(ir0.inst40) -// CHECK:STDOUT: ir0.inst41: concrete_constant(ir0.inst36) -// CHECK:STDOUT: ir0.inst42: symbolic_constant7 -// CHECK:STDOUT: ir0.inst43: symbolic_constant8 +// CHECK:STDOUT: ir0.inst25: concrete_constant(ir0.inst25) +// CHECK:STDOUT: ir0.inst26: symbolic_constant2 +// CHECK:STDOUT: ir0.inst27: symbolic_constant4 +// CHECK:STDOUT: ir0.inst28: symbolic_constant3 +// CHECK:STDOUT: ir0.inst29: symbolic_constant4 +// CHECK:STDOUT: ir0.inst31: symbolic_constant5 +// CHECK:STDOUT: ir0.inst32: concrete_constant(ir0.inst32) +// CHECK:STDOUT: ir0.inst33: symbolic_constant6 +// CHECK:STDOUT: ir0.inst34: concrete_constant(ir0.inst34) +// CHECK:STDOUT: ir0.inst35: symbolic_constant2 +// CHECK:STDOUT: ir0.inst36: symbolic_constant4 +// CHECK:STDOUT: ir0.inst37: concrete_constant(ir0.inst37) +// CHECK:STDOUT: ir0.inst39: concrete_constant(ir0.inst39) +// CHECK:STDOUT: ir0.inst41: concrete_constant(ir0.inst41) +// CHECK:STDOUT: ir0.inst42: concrete_constant(ir0.inst37) +// CHECK:STDOUT: ir0.inst43: symbolic_constant7 // CHECK:STDOUT: ir0.inst44: symbolic_constant8 -// CHECK:STDOUT: ir0.inst45: symbolic_constant9 -// CHECK:STDOUT: ir0.inst46: concrete_constant(ir0.inst46) -// CHECK:STDOUT: ir0.inst47: symbolic_constant10 -// CHECK:STDOUT: ir0.inst48: concrete_constant(ir0.inst48) -// CHECK:STDOUT: ir0.inst50: symbolic_constant4 -// CHECK:STDOUT: ir0.inst53: concrete_constant(ir0.inst55) -// CHECK:STDOUT: ir0.inst54: concrete_constant(ir0.inst54) +// CHECK:STDOUT: ir0.inst45: symbolic_constant8 +// CHECK:STDOUT: ir0.inst46: symbolic_constant9 +// CHECK:STDOUT: ir0.inst47: concrete_constant(ir0.inst47) +// CHECK:STDOUT: ir0.inst48: symbolic_constant10 +// CHECK:STDOUT: ir0.inst49: concrete_constant(ir0.inst49) +// CHECK:STDOUT: ir0.inst51: symbolic_constant4 +// CHECK:STDOUT: ir0.inst54: concrete_constant(ir0.inst56) // CHECK:STDOUT: ir0.inst55: concrete_constant(ir0.inst55) -// CHECK:STDOUT: ir0.inst56: symbolic_constant11 -// CHECK:STDOUT: ir0.inst57: symbolic_constant13 -// CHECK:STDOUT: ir0.inst58: symbolic_constant12 -// CHECK:STDOUT: ir0.inst59: symbolic_constant13 -// CHECK:STDOUT: ir0.inst60: symbolic_constant15 -// CHECK:STDOUT: ir0.inst61: symbolic_constant14 -// CHECK:STDOUT: ir0.inst62: symbolic_constant15 -// CHECK:STDOUT: ir0.inst66: symbolic_constant13 -// CHECK:STDOUT: ir0.inst68: symbolic_constant15 -// CHECK:STDOUT: ir0.inst69: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst70: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst71: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst72: symbolic_constant16 -// CHECK:STDOUT: ir0.inst73: constant -// CHECK:STDOUT: ir0.inst74: concrete_constant(ir0.inst78) -// CHECK:STDOUT: ir0.inst75: constant -// CHECK:STDOUT: ir0.inst76: concrete_constant(ir0.inst76) -// CHECK:STDOUT: ir0.inst77: concrete_constant(ir0.inst81) -// CHECK:STDOUT: ir0.inst78: concrete_constant(ir0.inst78) -// CHECK:STDOUT: ir0.inst79: concrete_constant(ir0.inst81) -// CHECK:STDOUT: ir0.inst80: concrete_constant(ir0.inst80) +// CHECK:STDOUT: ir0.inst56: concrete_constant(ir0.inst56) +// CHECK:STDOUT: ir0.inst57: symbolic_constant11 +// CHECK:STDOUT: ir0.inst58: symbolic_constant13 +// CHECK:STDOUT: ir0.inst59: symbolic_constant12 +// CHECK:STDOUT: ir0.inst60: symbolic_constant13 +// CHECK:STDOUT: ir0.inst61: symbolic_constant15 +// CHECK:STDOUT: ir0.inst62: symbolic_constant14 +// CHECK:STDOUT: ir0.inst63: symbolic_constant15 +// CHECK:STDOUT: ir0.inst67: symbolic_constant13 +// CHECK:STDOUT: ir0.inst69: symbolic_constant15 +// CHECK:STDOUT: ir0.inst70: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst71: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst72: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst73: symbolic_constant16 +// CHECK:STDOUT: ir0.inst74: constant +// CHECK:STDOUT: ir0.inst75: concrete_constant(ir0.inst79) +// CHECK:STDOUT: ir0.inst76: constant +// CHECK:STDOUT: ir0.inst77: concrete_constant(ir0.inst77) +// CHECK:STDOUT: ir0.inst78: concrete_constant(ir0.inst82) +// CHECK:STDOUT: ir0.inst79: concrete_constant(ir0.inst79) +// CHECK:STDOUT: ir0.inst80: concrete_constant(ir0.inst82) // CHECK:STDOUT: ir0.inst81: concrete_constant(ir0.inst81) -// CHECK:STDOUT: ir0.inst82: symbolic_constant17 -// CHECK:STDOUT: ir0.inst83: symbolic_constant18 -// CHECK:STDOUT: ir0.inst84: concrete_constant(ir0.inst84) +// CHECK:STDOUT: ir0.inst82: concrete_constant(ir0.inst82) +// CHECK:STDOUT: ir0.inst83: symbolic_constant17 +// CHECK:STDOUT: ir0.inst84: symbolic_constant18 // CHECK:STDOUT: ir0.inst85: concrete_constant(ir0.inst85) // CHECK:STDOUT: ir0.inst86: concrete_constant(ir0.inst86) // CHECK:STDOUT: ir0.inst87: concrete_constant(ir0.inst87) -// CHECK:STDOUT: ir0.inst88: symbolic_constant16 -// CHECK:STDOUT: ir0.inst89: symbolic_constant22 -// CHECK:STDOUT: ir0.inst90: symbolic_constant23 -// CHECK:STDOUT: ir0.inst91: symbolic_constant24 -// CHECK:STDOUT: ir0.inst92: symbolic_constant251 -// CHECK:STDOUT: ir0.inst93: constant -// CHECK:STDOUT: ir0.inst94: concrete_constant(ir0.inst94) -// CHECK:STDOUT: ir0.inst95: symbolic_constant25 -// CHECK:STDOUT: ir0.inst96: symbolic_constant26 -// CHECK:STDOUT: ir0.inst97: symbolic_constant27 -// CHECK:STDOUT: ir0.inst98: concrete_constant(ir0.inst98) +// CHECK:STDOUT: ir0.inst88: concrete_constant(ir0.inst88) +// CHECK:STDOUT: ir0.inst89: symbolic_constant16 +// CHECK:STDOUT: ir0.inst90: symbolic_constant22 +// CHECK:STDOUT: ir0.inst91: symbolic_constant23 +// CHECK:STDOUT: ir0.inst92: symbolic_constant24 +// CHECK:STDOUT: ir0.inst93: symbolic_constant251 +// CHECK:STDOUT: ir0.inst94: constant +// CHECK:STDOUT: ir0.inst95: concrete_constant(ir0.inst95) +// CHECK:STDOUT: ir0.inst96: symbolic_constant25 +// CHECK:STDOUT: ir0.inst97: symbolic_constant26 +// CHECK:STDOUT: ir0.inst98: symbolic_constant27 // CHECK:STDOUT: ir0.inst99: concrete_constant(ir0.inst99) -// CHECK:STDOUT: ir0.inst100: symbolic_constant29 -// CHECK:STDOUT: ir0.inst101: symbolic_constant28 -// CHECK:STDOUT: ir0.inst102: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst103: constant -// CHECK:STDOUT: ir0.inst104: concrete_constant(ir0.inst104) -// CHECK:STDOUT: ir0.inst105: symbolic_constant32 -// CHECK:STDOUT: ir0.inst106: symbolic_constant34 -// CHECK:STDOUT: ir0.inst107: symbolic_constant35 -// CHECK:STDOUT: ir0.inst108: symbolic_constant36 -// CHECK:STDOUT: ir0.inst109: symbolic_constant37 -// CHECK:STDOUT: ir0.inst110: symbolic_constant40 -// CHECK:STDOUT: ir0.inst111: symbolic_constant38 -// CHECK:STDOUT: ir0.inst112: symbolic_constant39 -// CHECK:STDOUT: ir0.inst113: symbolic_constant42 -// CHECK:STDOUT: ir0.inst114: concrete_constant(ir0.inst114) +// CHECK:STDOUT: ir0.inst100: concrete_constant(ir0.inst100) +// CHECK:STDOUT: ir0.inst101: symbolic_constant29 +// CHECK:STDOUT: ir0.inst102: symbolic_constant28 +// CHECK:STDOUT: ir0.inst103: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst104: constant +// CHECK:STDOUT: ir0.inst105: concrete_constant(ir0.inst105) +// CHECK:STDOUT: ir0.inst106: symbolic_constant32 +// CHECK:STDOUT: ir0.inst107: symbolic_constant34 +// CHECK:STDOUT: ir0.inst108: symbolic_constant35 +// CHECK:STDOUT: ir0.inst109: symbolic_constant36 +// CHECK:STDOUT: ir0.inst110: symbolic_constant37 +// CHECK:STDOUT: ir0.inst111: symbolic_constant40 +// CHECK:STDOUT: ir0.inst112: symbolic_constant38 +// CHECK:STDOUT: ir0.inst113: symbolic_constant39 +// CHECK:STDOUT: ir0.inst114: symbolic_constant42 // CHECK:STDOUT: ir0.inst115: concrete_constant(ir0.inst115) // CHECK:STDOUT: ir0.inst116: concrete_constant(ir0.inst116) // CHECK:STDOUT: ir0.inst117: concrete_constant(ir0.inst117) -// CHECK:STDOUT: ir0.inst118: symbolic_constant29 -// CHECK:STDOUT: ir0.inst119: symbolic_constant45 -// CHECK:STDOUT: ir0.inst120: symbolic_constant46 -// CHECK:STDOUT: ir0.inst121: symbolic_constant50 -// CHECK:STDOUT: ir0.inst122: symbolic_constant51 -// CHECK:STDOUT: ir0.inst123: symbolic_constant52 -// CHECK:STDOUT: ir0.inst124: symbolic_constant53 -// CHECK:STDOUT: ir0.inst125: symbolic_constant54 -// CHECK:STDOUT: ir0.inst126: symbolic_constant56 -// CHECK:STDOUT: ir0.inst127: symbolic_constant58 -// CHECK:STDOUT: ir0.inst128: symbolic_constant60 -// CHECK:STDOUT: ir0.inst129: symbolic_constant62 -// CHECK:STDOUT: ir0.inst130: symbolic_constant64 -// CHECK:STDOUT: ir0.inst131: symbolic_constant66 -// CHECK:STDOUT: ir0.inst132: symbolic_constant67 -// CHECK:STDOUT: ir0.inst133: symbolic_constant68 -// CHECK:STDOUT: ir0.inst134: symbolic_constant69 -// CHECK:STDOUT: ir0.inst135: symbolic_constant70 -// CHECK:STDOUT: ir0.inst136: symbolic_constant71 -// CHECK:STDOUT: ir0.inst137: symbolic_constant72 -// CHECK:STDOUT: ir0.inst138: constant -// CHECK:STDOUT: ir0.inst139: concrete_constant(ir0.inst139) -// CHECK:STDOUT: ir0.inst140: concrete_constant(inst(BoolType)) -// CHECK:STDOUT: ir0.inst141: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst142: constant -// CHECK:STDOUT: ir0.inst143: concrete_constant(ir0.inst143) -// CHECK:STDOUT: ir0.inst144: concrete_constant(inst(CharLiteralType)) -// CHECK:STDOUT: ir0.inst145: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst146: constant -// CHECK:STDOUT: ir0.inst147: concrete_constant(ir0.inst147) -// CHECK:STDOUT: ir0.inst148: concrete_constant(inst(FloatLiteralType)) -// CHECK:STDOUT: ir0.inst149: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst150: constant -// CHECK:STDOUT: ir0.inst151: concrete_constant(ir0.inst151) -// CHECK:STDOUT: ir0.inst152: concrete_constant(inst(IntLiteralType)) -// CHECK:STDOUT: ir0.inst153: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst154: symbolic_constant249 -// CHECK:STDOUT: ir0.inst155: concrete_constant(ir0.inst155) +// CHECK:STDOUT: ir0.inst118: concrete_constant(ir0.inst118) +// CHECK:STDOUT: ir0.inst119: symbolic_constant29 +// CHECK:STDOUT: ir0.inst120: symbolic_constant45 +// CHECK:STDOUT: ir0.inst121: symbolic_constant46 +// CHECK:STDOUT: ir0.inst122: symbolic_constant50 +// CHECK:STDOUT: ir0.inst123: symbolic_constant51 +// CHECK:STDOUT: ir0.inst124: symbolic_constant52 +// CHECK:STDOUT: ir0.inst125: symbolic_constant53 +// CHECK:STDOUT: ir0.inst126: symbolic_constant54 +// CHECK:STDOUT: ir0.inst127: symbolic_constant56 +// CHECK:STDOUT: ir0.inst128: symbolic_constant58 +// CHECK:STDOUT: ir0.inst129: symbolic_constant60 +// CHECK:STDOUT: ir0.inst130: symbolic_constant62 +// CHECK:STDOUT: ir0.inst131: symbolic_constant64 +// CHECK:STDOUT: ir0.inst132: symbolic_constant66 +// CHECK:STDOUT: ir0.inst133: symbolic_constant67 +// CHECK:STDOUT: ir0.inst134: symbolic_constant68 +// CHECK:STDOUT: ir0.inst135: symbolic_constant69 +// CHECK:STDOUT: ir0.inst136: symbolic_constant70 +// CHECK:STDOUT: ir0.inst137: symbolic_constant71 +// CHECK:STDOUT: ir0.inst138: symbolic_constant72 +// CHECK:STDOUT: ir0.inst139: constant +// CHECK:STDOUT: ir0.inst140: concrete_constant(ir0.inst140) +// CHECK:STDOUT: ir0.inst141: concrete_constant(inst(BoolType)) +// CHECK:STDOUT: ir0.inst142: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst143: constant +// CHECK:STDOUT: ir0.inst144: concrete_constant(ir0.inst144) +// CHECK:STDOUT: ir0.inst145: concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: ir0.inst146: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst147: constant +// CHECK:STDOUT: ir0.inst148: concrete_constant(ir0.inst148) +// CHECK:STDOUT: ir0.inst149: concrete_constant(inst(FloatLiteralType)) +// CHECK:STDOUT: ir0.inst150: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst151: constant +// CHECK:STDOUT: ir0.inst152: concrete_constant(ir0.inst152) +// CHECK:STDOUT: ir0.inst153: concrete_constant(inst(IntLiteralType)) +// CHECK:STDOUT: ir0.inst154: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst155: symbolic_constant249 // CHECK:STDOUT: ir0.inst156: concrete_constant(ir0.inst156) -// CHECK:STDOUT: ir0.inst157: symbolic_constant74 -// CHECK:STDOUT: ir0.inst158: symbolic_constant73 -// CHECK:STDOUT: ir0.inst159: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst160: constant -// CHECK:STDOUT: ir0.inst161: concrete_constant(ir0.inst161) -// CHECK:STDOUT: ir0.inst162: symbolic_constant76 -// CHECK:STDOUT: ir0.inst163: symbolic_constant78 -// CHECK:STDOUT: ir0.inst164: symbolic_constant79 -// CHECK:STDOUT: ir0.inst165: symbolic_constant80 -// CHECK:STDOUT: ir0.inst166: symbolic_constant83 -// CHECK:STDOUT: ir0.inst167: symbolic_constant81 -// CHECK:STDOUT: ir0.inst168: symbolic_constant82 -// CHECK:STDOUT: ir0.inst169: concrete_constant(ir0.inst169) +// CHECK:STDOUT: ir0.inst157: concrete_constant(ir0.inst157) +// CHECK:STDOUT: ir0.inst158: symbolic_constant74 +// CHECK:STDOUT: ir0.inst159: symbolic_constant73 +// CHECK:STDOUT: ir0.inst160: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst161: constant +// CHECK:STDOUT: ir0.inst162: concrete_constant(ir0.inst162) +// CHECK:STDOUT: ir0.inst163: symbolic_constant76 +// CHECK:STDOUT: ir0.inst164: symbolic_constant78 +// CHECK:STDOUT: ir0.inst165: symbolic_constant79 +// CHECK:STDOUT: ir0.inst166: symbolic_constant80 +// CHECK:STDOUT: ir0.inst167: symbolic_constant83 +// CHECK:STDOUT: ir0.inst168: symbolic_constant81 +// CHECK:STDOUT: ir0.inst169: symbolic_constant82 // CHECK:STDOUT: ir0.inst170: concrete_constant(ir0.inst170) // CHECK:STDOUT: ir0.inst171: concrete_constant(ir0.inst171) // CHECK:STDOUT: ir0.inst172: concrete_constant(ir0.inst172) -// CHECK:STDOUT: ir0.inst173: symbolic_constant74 -// CHECK:STDOUT: ir0.inst174: symbolic_constant88 -// CHECK:STDOUT: ir0.inst175: symbolic_constant89 -// CHECK:STDOUT: ir0.inst176: symbolic_constant90 -// CHECK:STDOUT: ir0.inst177: symbolic_constant93 -// CHECK:STDOUT: ir0.inst178: symbolic_constant94 -// CHECK:STDOUT: ir0.inst179: symbolic_constant95 -// CHECK:STDOUT: ir0.inst180: constant -// CHECK:STDOUT: ir0.inst181: concrete_constant(ir0.inst181) -// CHECK:STDOUT: ir0.inst182: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: ir0.inst183: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst184: constant -// CHECK:STDOUT: ir0.inst185: concrete_constant(ir0.inst185) -// CHECK:STDOUT: ir0.inst186: concrete_constant(ir0.inst36) -// CHECK:STDOUT: ir0.inst187: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst188: constant -// CHECK:STDOUT: ir0.inst189: concrete_constant(ir0.inst189) -// CHECK:STDOUT: ir0.inst190: symbolic_constant96 -// CHECK:STDOUT: ir0.inst191: symbolic_constant97 -// CHECK:STDOUT: ir0.inst192: symbolic_constant98 -// CHECK:STDOUT: ir0.inst193: concrete_constant(ir0.inst193) +// CHECK:STDOUT: ir0.inst173: concrete_constant(ir0.inst173) +// CHECK:STDOUT: ir0.inst174: symbolic_constant74 +// CHECK:STDOUT: ir0.inst175: symbolic_constant88 +// CHECK:STDOUT: ir0.inst176: symbolic_constant89 +// CHECK:STDOUT: ir0.inst177: symbolic_constant90 +// CHECK:STDOUT: ir0.inst178: symbolic_constant93 +// CHECK:STDOUT: ir0.inst179: symbolic_constant94 +// CHECK:STDOUT: ir0.inst180: symbolic_constant95 +// CHECK:STDOUT: ir0.inst181: constant +// CHECK:STDOUT: ir0.inst182: concrete_constant(ir0.inst182) +// CHECK:STDOUT: ir0.inst183: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: ir0.inst184: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst185: constant +// CHECK:STDOUT: ir0.inst186: concrete_constant(ir0.inst186) +// CHECK:STDOUT: ir0.inst187: concrete_constant(ir0.inst37) +// CHECK:STDOUT: ir0.inst188: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst189: constant +// CHECK:STDOUT: ir0.inst190: concrete_constant(ir0.inst190) +// CHECK:STDOUT: ir0.inst191: symbolic_constant96 +// CHECK:STDOUT: ir0.inst192: symbolic_constant97 +// CHECK:STDOUT: ir0.inst193: symbolic_constant98 // CHECK:STDOUT: ir0.inst194: concrete_constant(ir0.inst194) -// CHECK:STDOUT: ir0.inst195: symbolic_constant100 -// CHECK:STDOUT: ir0.inst196: symbolic_constant101 -// CHECK:STDOUT: ir0.inst197: symbolic_constant99 -// CHECK:STDOUT: ir0.inst198: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst199: constant -// CHECK:STDOUT: ir0.inst200: concrete_constant(ir0.inst200) -// CHECK:STDOUT: ir0.inst201: symbolic_constant106 -// CHECK:STDOUT: ir0.inst202: symbolic_constant108 -// CHECK:STDOUT: ir0.inst203: symbolic_constant109 -// CHECK:STDOUT: ir0.inst204: symbolic_constant110 -// CHECK:STDOUT: ir0.inst205: symbolic_constant111 -// CHECK:STDOUT: ir0.inst206: symbolic_constant112 -// CHECK:STDOUT: ir0.inst207: symbolic_constant113 -// CHECK:STDOUT: ir0.inst208: symbolic_constant116 -// CHECK:STDOUT: ir0.inst209: symbolic_constant114 -// CHECK:STDOUT: ir0.inst210: symbolic_constant115 -// CHECK:STDOUT: ir0.inst211: symbolic_constant118 -// CHECK:STDOUT: ir0.inst212: concrete_constant(ir0.inst212) +// CHECK:STDOUT: ir0.inst195: concrete_constant(ir0.inst195) +// CHECK:STDOUT: ir0.inst196: symbolic_constant100 +// CHECK:STDOUT: ir0.inst197: symbolic_constant101 +// CHECK:STDOUT: ir0.inst198: symbolic_constant99 +// CHECK:STDOUT: ir0.inst199: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst200: constant +// CHECK:STDOUT: ir0.inst201: concrete_constant(ir0.inst201) +// CHECK:STDOUT: ir0.inst202: symbolic_constant106 +// CHECK:STDOUT: ir0.inst203: symbolic_constant108 +// CHECK:STDOUT: ir0.inst204: symbolic_constant109 +// CHECK:STDOUT: ir0.inst205: symbolic_constant110 +// CHECK:STDOUT: ir0.inst206: symbolic_constant111 +// CHECK:STDOUT: ir0.inst207: symbolic_constant112 +// CHECK:STDOUT: ir0.inst208: symbolic_constant113 +// CHECK:STDOUT: ir0.inst209: symbolic_constant116 +// CHECK:STDOUT: ir0.inst210: symbolic_constant114 +// CHECK:STDOUT: ir0.inst211: symbolic_constant115 +// CHECK:STDOUT: ir0.inst212: symbolic_constant118 // CHECK:STDOUT: ir0.inst213: concrete_constant(ir0.inst213) // CHECK:STDOUT: ir0.inst214: concrete_constant(ir0.inst214) // CHECK:STDOUT: ir0.inst215: concrete_constant(ir0.inst215) -// CHECK:STDOUT: ir0.inst216: symbolic_constant100 -// CHECK:STDOUT: ir0.inst217: symbolic_constant101 -// CHECK:STDOUT: ir0.inst218: symbolic_constant121 -// CHECK:STDOUT: ir0.inst219: symbolic_constant122 -// CHECK:STDOUT: ir0.inst220: symbolic_constant128 -// CHECK:STDOUT: ir0.inst221: symbolic_constant129 -// CHECK:STDOUT: ir0.inst222: symbolic_constant130 -// CHECK:STDOUT: ir0.inst223: symbolic_constant131 -// CHECK:STDOUT: ir0.inst224: symbolic_constant132 -// CHECK:STDOUT: ir0.inst225: symbolic_constant133 -// CHECK:STDOUT: ir0.inst226: symbolic_constant134 -// CHECK:STDOUT: ir0.inst227: symbolic_constant141 -// CHECK:STDOUT: ir0.inst228: symbolic_constant143 -// CHECK:STDOUT: ir0.inst229: symbolic_constant145 -// CHECK:STDOUT: ir0.inst230: symbolic_constant147 -// CHECK:STDOUT: ir0.inst231: symbolic_constant149 -// CHECK:STDOUT: ir0.inst232: symbolic_constant151 -// CHECK:STDOUT: ir0.inst233: symbolic_constant152 -// CHECK:STDOUT: ir0.inst234: symbolic_constant153 -// CHECK:STDOUT: ir0.inst235: symbolic_constant154 -// CHECK:STDOUT: ir0.inst236: symbolic_constant155 -// CHECK:STDOUT: ir0.inst237: symbolic_constant156 -// CHECK:STDOUT: ir0.inst238: symbolic_constant157 -// CHECK:STDOUT: ir0.inst239: symbolic_constant158 -// CHECK:STDOUT: ir0.inst240: symbolic_constant159 -// CHECK:STDOUT: ir0.inst241: symbolic_constant160 -// CHECK:STDOUT: ir0.inst242: symbolic_constant161 -// CHECK:STDOUT: ir0.inst243: symbolic_constant162 -// CHECK:STDOUT: ir0.inst244: constant -// CHECK:STDOUT: ir0.inst245: concrete_constant(ir0.inst245) -// CHECK:STDOUT: ir0.inst246: symbolic_constant163 -// CHECK:STDOUT: ir0.inst247: symbolic_constant164 -// CHECK:STDOUT: ir0.inst248: symbolic_constant165 -// CHECK:STDOUT: ir0.inst249: concrete_constant(ir0.inst249) +// CHECK:STDOUT: ir0.inst216: concrete_constant(ir0.inst216) +// CHECK:STDOUT: ir0.inst217: symbolic_constant100 +// CHECK:STDOUT: ir0.inst218: symbolic_constant101 +// CHECK:STDOUT: ir0.inst219: symbolic_constant121 +// CHECK:STDOUT: ir0.inst220: symbolic_constant122 +// CHECK:STDOUT: ir0.inst221: symbolic_constant128 +// CHECK:STDOUT: ir0.inst222: symbolic_constant129 +// CHECK:STDOUT: ir0.inst223: symbolic_constant130 +// CHECK:STDOUT: ir0.inst224: symbolic_constant131 +// CHECK:STDOUT: ir0.inst225: symbolic_constant132 +// CHECK:STDOUT: ir0.inst226: symbolic_constant133 +// CHECK:STDOUT: ir0.inst227: symbolic_constant134 +// CHECK:STDOUT: ir0.inst228: symbolic_constant141 +// CHECK:STDOUT: ir0.inst229: symbolic_constant143 +// CHECK:STDOUT: ir0.inst230: symbolic_constant145 +// CHECK:STDOUT: ir0.inst231: symbolic_constant147 +// CHECK:STDOUT: ir0.inst232: symbolic_constant149 +// CHECK:STDOUT: ir0.inst233: symbolic_constant151 +// CHECK:STDOUT: ir0.inst234: symbolic_constant152 +// CHECK:STDOUT: ir0.inst235: symbolic_constant153 +// CHECK:STDOUT: ir0.inst236: symbolic_constant154 +// CHECK:STDOUT: ir0.inst237: symbolic_constant155 +// CHECK:STDOUT: ir0.inst238: symbolic_constant156 +// CHECK:STDOUT: ir0.inst239: symbolic_constant157 +// CHECK:STDOUT: ir0.inst240: symbolic_constant158 +// CHECK:STDOUT: ir0.inst241: symbolic_constant159 +// CHECK:STDOUT: ir0.inst242: symbolic_constant160 +// CHECK:STDOUT: ir0.inst243: symbolic_constant161 +// CHECK:STDOUT: ir0.inst244: symbolic_constant162 +// CHECK:STDOUT: ir0.inst245: constant +// CHECK:STDOUT: ir0.inst246: concrete_constant(ir0.inst246) +// CHECK:STDOUT: ir0.inst247: symbolic_constant163 +// CHECK:STDOUT: ir0.inst248: symbolic_constant164 +// CHECK:STDOUT: ir0.inst249: symbolic_constant165 // CHECK:STDOUT: ir0.inst250: concrete_constant(ir0.inst250) // CHECK:STDOUT: ir0.inst251: concrete_constant(ir0.inst251) -// CHECK:STDOUT: ir0.inst252: symbolic_constant167 -// CHECK:STDOUT: ir0.inst253: symbolic_constant168 -// CHECK:STDOUT: ir0.inst254: symbolic_constant169 -// CHECK:STDOUT: ir0.inst255: symbolic_constant166 -// CHECK:STDOUT: ir0.inst256: concrete_constant(ir0.inst71) -// CHECK:STDOUT: ir0.inst257: constant -// CHECK:STDOUT: ir0.inst258: concrete_constant(ir0.inst258) -// CHECK:STDOUT: ir0.inst259: symbolic_constant176 -// CHECK:STDOUT: ir0.inst260: symbolic_constant178 -// CHECK:STDOUT: ir0.inst261: symbolic_constant179 -// CHECK:STDOUT: ir0.inst262: symbolic_constant180 -// CHECK:STDOUT: ir0.inst263: symbolic_constant181 -// CHECK:STDOUT: ir0.inst264: symbolic_constant182 -// CHECK:STDOUT: ir0.inst265: symbolic_constant183 -// CHECK:STDOUT: ir0.inst266: symbolic_constant184 -// CHECK:STDOUT: ir0.inst267: symbolic_constant185 -// CHECK:STDOUT: ir0.inst268: symbolic_constant188 -// CHECK:STDOUT: ir0.inst269: symbolic_constant186 -// CHECK:STDOUT: ir0.inst270: symbolic_constant187 -// CHECK:STDOUT: ir0.inst271: symbolic_constant190 -// CHECK:STDOUT: ir0.inst272: concrete_constant(ir0.inst272) +// CHECK:STDOUT: ir0.inst252: concrete_constant(ir0.inst252) +// CHECK:STDOUT: ir0.inst253: symbolic_constant167 +// CHECK:STDOUT: ir0.inst254: symbolic_constant168 +// CHECK:STDOUT: ir0.inst255: symbolic_constant169 +// CHECK:STDOUT: ir0.inst256: symbolic_constant166 +// CHECK:STDOUT: ir0.inst257: concrete_constant(ir0.inst72) +// CHECK:STDOUT: ir0.inst258: constant +// CHECK:STDOUT: ir0.inst259: concrete_constant(ir0.inst259) +// CHECK:STDOUT: ir0.inst260: symbolic_constant176 +// CHECK:STDOUT: ir0.inst261: symbolic_constant178 +// CHECK:STDOUT: ir0.inst262: symbolic_constant179 +// CHECK:STDOUT: ir0.inst263: symbolic_constant180 +// CHECK:STDOUT: ir0.inst264: symbolic_constant181 +// CHECK:STDOUT: ir0.inst265: symbolic_constant182 +// CHECK:STDOUT: ir0.inst266: symbolic_constant183 +// CHECK:STDOUT: ir0.inst267: symbolic_constant184 +// CHECK:STDOUT: ir0.inst268: symbolic_constant185 +// CHECK:STDOUT: ir0.inst269: symbolic_constant188 +// CHECK:STDOUT: ir0.inst270: symbolic_constant186 +// CHECK:STDOUT: ir0.inst271: symbolic_constant187 +// CHECK:STDOUT: ir0.inst272: symbolic_constant190 // CHECK:STDOUT: ir0.inst273: concrete_constant(ir0.inst273) // CHECK:STDOUT: ir0.inst274: concrete_constant(ir0.inst274) // CHECK:STDOUT: ir0.inst275: concrete_constant(ir0.inst275) -// CHECK:STDOUT: ir0.inst276: symbolic_constant167 -// CHECK:STDOUT: ir0.inst277: symbolic_constant168 -// CHECK:STDOUT: ir0.inst278: symbolic_constant169 -// CHECK:STDOUT: ir0.inst279: symbolic_constant193 -// CHECK:STDOUT: ir0.inst280: symbolic_constant194 -// CHECK:STDOUT: ir0.inst281: symbolic_constant202 -// CHECK:STDOUT: ir0.inst282: symbolic_constant203 -// CHECK:STDOUT: ir0.inst283: symbolic_constant204 -// CHECK:STDOUT: ir0.inst284: symbolic_constant205 -// CHECK:STDOUT: ir0.inst285: symbolic_constant206 -// CHECK:STDOUT: ir0.inst286: symbolic_constant207 -// CHECK:STDOUT: ir0.inst287: symbolic_constant208 -// CHECK:STDOUT: ir0.inst288: symbolic_constant209 -// CHECK:STDOUT: ir0.inst289: symbolic_constant210 -// CHECK:STDOUT: ir0.inst290: symbolic_constant222 -// CHECK:STDOUT: ir0.inst291: symbolic_constant224 -// CHECK:STDOUT: ir0.inst292: symbolic_constant226 -// CHECK:STDOUT: ir0.inst293: symbolic_constant228 -// CHECK:STDOUT: ir0.inst294: symbolic_constant230 -// CHECK:STDOUT: ir0.inst295: symbolic_constant232 -// CHECK:STDOUT: ir0.inst296: symbolic_constant233 -// CHECK:STDOUT: ir0.inst297: symbolic_constant234 -// CHECK:STDOUT: ir0.inst298: symbolic_constant235 -// CHECK:STDOUT: ir0.inst299: symbolic_constant236 -// CHECK:STDOUT: ir0.inst300: symbolic_constant237 -// CHECK:STDOUT: ir0.inst301: symbolic_constant238 -// CHECK:STDOUT: ir0.inst302: symbolic_constant239 -// CHECK:STDOUT: ir0.inst303: symbolic_constant240 -// CHECK:STDOUT: ir0.inst304: symbolic_constant241 -// CHECK:STDOUT: ir0.inst305: symbolic_constant242 -// CHECK:STDOUT: ir0.inst306: symbolic_constant243 -// CHECK:STDOUT: ir0.inst307: symbolic_constant244 -// CHECK:STDOUT: ir0.inst308: symbolic_constant245 -// CHECK:STDOUT: ir0.inst309: symbolic_constant246 -// CHECK:STDOUT: ir0.inst310: symbolic_constant247 -// CHECK:STDOUT: ir0.inst311: symbolic_constant248 -// CHECK:STDOUT: ir0.inst312: symbolic_constant250 -// CHECK:STDOUT: ir0.inst313: symbolic_constant251 -// CHECK:STDOUT: ir0.inst314: symbolic_constant252 -// CHECK:STDOUT: ir0.inst315: symbolic_constant253 -// CHECK:STDOUT: ir0.inst316: symbolic_constant257 -// CHECK:STDOUT: ir0.inst317: symbolic_constant254 -// CHECK:STDOUT: ir0.inst318: symbolic_constant255 -// CHECK:STDOUT: ir0.inst319: symbolic_constant256 -// CHECK:STDOUT: ir0.inst320: symbolic_constant257 -// CHECK:STDOUT: ir0.inst322: symbolic_constant259 -// CHECK:STDOUT: ir0.inst323: symbolic_constant258 -// CHECK:STDOUT: ir0.inst324: symbolic_constant259 -// CHECK:STDOUT: ir0.inst326: symbolic_constant15 -// CHECK:STDOUT: ir0.inst330: concrete_constant(ir0.inst331) -// CHECK:STDOUT: ir0.inst331: concrete_constant(ir0.inst331) -// CHECK:STDOUT: ir0.inst332: concrete_constant(ir0.inst331) +// CHECK:STDOUT: ir0.inst276: concrete_constant(ir0.inst276) +// CHECK:STDOUT: ir0.inst277: symbolic_constant167 +// CHECK:STDOUT: ir0.inst278: symbolic_constant168 +// CHECK:STDOUT: ir0.inst279: symbolic_constant169 +// CHECK:STDOUT: ir0.inst280: symbolic_constant193 +// CHECK:STDOUT: ir0.inst281: symbolic_constant194 +// CHECK:STDOUT: ir0.inst282: symbolic_constant202 +// CHECK:STDOUT: ir0.inst283: symbolic_constant203 +// CHECK:STDOUT: ir0.inst284: symbolic_constant204 +// CHECK:STDOUT: ir0.inst285: symbolic_constant205 +// CHECK:STDOUT: ir0.inst286: symbolic_constant206 +// CHECK:STDOUT: ir0.inst287: symbolic_constant207 +// CHECK:STDOUT: ir0.inst288: symbolic_constant208 +// CHECK:STDOUT: ir0.inst289: symbolic_constant209 +// CHECK:STDOUT: ir0.inst290: symbolic_constant210 +// CHECK:STDOUT: ir0.inst291: symbolic_constant222 +// CHECK:STDOUT: ir0.inst292: symbolic_constant224 +// CHECK:STDOUT: ir0.inst293: symbolic_constant226 +// CHECK:STDOUT: ir0.inst294: symbolic_constant228 +// CHECK:STDOUT: ir0.inst295: symbolic_constant230 +// CHECK:STDOUT: ir0.inst296: symbolic_constant232 +// CHECK:STDOUT: ir0.inst297: symbolic_constant233 +// CHECK:STDOUT: ir0.inst298: symbolic_constant234 +// CHECK:STDOUT: ir0.inst299: symbolic_constant235 +// CHECK:STDOUT: ir0.inst300: symbolic_constant236 +// CHECK:STDOUT: ir0.inst301: symbolic_constant237 +// CHECK:STDOUT: ir0.inst302: symbolic_constant238 +// CHECK:STDOUT: ir0.inst303: symbolic_constant239 +// CHECK:STDOUT: ir0.inst304: symbolic_constant240 +// CHECK:STDOUT: ir0.inst305: symbolic_constant241 +// CHECK:STDOUT: ir0.inst306: symbolic_constant242 +// CHECK:STDOUT: ir0.inst307: symbolic_constant243 +// CHECK:STDOUT: ir0.inst308: symbolic_constant244 +// CHECK:STDOUT: ir0.inst309: symbolic_constant245 +// CHECK:STDOUT: ir0.inst310: symbolic_constant246 +// CHECK:STDOUT: ir0.inst311: symbolic_constant247 +// CHECK:STDOUT: ir0.inst312: symbolic_constant248 +// CHECK:STDOUT: ir0.inst313: symbolic_constant250 +// CHECK:STDOUT: ir0.inst314: symbolic_constant251 +// CHECK:STDOUT: ir0.inst315: symbolic_constant252 +// CHECK:STDOUT: ir0.inst316: symbolic_constant253 +// CHECK:STDOUT: ir0.inst317: symbolic_constant257 +// CHECK:STDOUT: ir0.inst318: symbolic_constant254 +// CHECK:STDOUT: ir0.inst319: symbolic_constant255 +// CHECK:STDOUT: ir0.inst320: symbolic_constant256 +// CHECK:STDOUT: ir0.inst321: symbolic_constant257 +// CHECK:STDOUT: ir0.inst323: symbolic_constant259 +// CHECK:STDOUT: ir0.inst324: symbolic_constant258 +// CHECK:STDOUT: ir0.inst325: symbolic_constant259 +// CHECK:STDOUT: ir0.inst327: symbolic_constant15 +// CHECK:STDOUT: ir0.inst331: concrete_constant(ir0.inst332) +// CHECK:STDOUT: ir0.inst332: concrete_constant(ir0.inst332) +// CHECK:STDOUT: ir0.inst333: concrete_constant(ir0.inst332) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant0: {inst: ir0.inst19, generic: generic, index: generic_inst, kind: self} -// CHECK:STDOUT: symbolic_constant1: {inst: ir0.inst21, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant2: {inst: ir0.inst21, generic: generic0, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant3: {inst: ir0.inst27, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant4: {inst: ir0.inst27, generic: generic0, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant5: {inst: ir0.inst30, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6: {inst: ir0.inst30, generic: generic0, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant7: {inst: ir0.inst42, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant8: {inst: ir0.inst42, generic: generic0, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant9: {inst: ir0.inst45, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant10: {inst: ir0.inst45, generic: generic0, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant11: {inst: ir0.inst56, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant12: {inst: ir0.inst58, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant13: {inst: ir0.inst58, generic: generic0, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant14: {inst: ir0.inst61, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant15: {inst: ir0.inst61, generic: generic0, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant16: {inst: ir0.inst72, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant17: {inst: ir0.inst82, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant18: {inst: ir0.inst83, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant19: {inst: ir0.inst83, generic: generic1, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant20: {inst: ir0.inst72, generic: generic1, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant21: {inst: ir0.inst82, generic: generic1, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant22: {inst: ir0.inst72, generic: generic1, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant23: {inst: ir0.inst82, generic: generic1, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant24: {inst: ir0.inst83, generic: generic1, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant25: {inst: ir0.inst95, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant26: {inst: ir0.inst96, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant27: {inst: ir0.inst97, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant28: {inst: ir0.inst97, generic: generic2, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant29: {inst: ir0.inst95, generic: generic2, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant30: {inst: ir0.inst95, generic: generic2, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant31: {inst: ir0.inst96, generic: generic2, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant32: {inst: ir0.inst105, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant33: {inst: ir0.inst105, generic: generic2, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant34: {inst: ir0.inst95, generic: generic2, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant35: {inst: ir0.inst96, generic: generic2, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant36: {inst: ir0.inst97, generic: generic2, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant37: {inst: ir0.inst105, generic: generic2, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant38: {inst: ir0.inst111, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant39: {inst: ir0.inst112, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant40: {inst: ir0.inst112, generic: generic2, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant41: {inst: ir0.inst111, generic: generic2, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant42: {inst: ir0.inst113, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant43: {inst: ir0.inst113, generic: generic3, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant44: {inst: ir0.inst112, generic: generic2, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant45: {inst: ir0.inst111, generic: generic2, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant46: {inst: ir0.inst112, generic: generic2, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant47: {inst: ir0.inst95, generic: generic3, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant48: {inst: ir0.inst96, generic: generic3, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant49: {inst: ir0.inst97, generic: generic3, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant50: {inst: ir0.inst95, generic: generic3, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant51: {inst: ir0.inst96, generic: generic3, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant52: {inst: ir0.inst97, generic: generic3, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant53: {inst: ir0.inst113, generic: generic3, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant54: {inst: ir0.inst125, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant55: {inst: ir0.inst125, generic: generic3, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant56: {inst: ir0.inst126, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant57: {inst: ir0.inst126, generic: generic3, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant58: {inst: ir0.inst127, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant59: {inst: ir0.inst127, generic: generic3, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60: {inst: ir0.inst128, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant61: {inst: ir0.inst128, generic: generic3, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant62: {inst: ir0.inst129, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant63: {inst: ir0.inst129, generic: generic3, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant64: {inst: ir0.inst130, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant65: {inst: ir0.inst130, generic: generic3, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant66: {inst: ir0.inst125, generic: generic3, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant67: {inst: ir0.inst126, generic: generic3, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant68: {inst: ir0.inst127, generic: generic3, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant69: {inst: ir0.inst128, generic: generic3, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant70: {inst: ir0.inst129, generic: generic3, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant71: {inst: ir0.inst130, generic: generic3, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant72: {inst: ir0.inst137, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant73: {inst: ir0.inst27, generic: generic4, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant74: {inst: ir0.inst21, generic: generic4, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant75: {inst: ir0.inst21, generic: generic4, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant76: {inst: ir0.inst162, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant77: {inst: ir0.inst162, generic: generic4, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant78: {inst: ir0.inst21, generic: generic4, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant79: {inst: ir0.inst27, generic: generic4, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant80: {inst: ir0.inst162, generic: generic4, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant81: {inst: ir0.inst167, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant82: {inst: ir0.inst168, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant83: {inst: ir0.inst168, generic: generic4, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant84: {inst: ir0.inst167, generic: generic4, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant85: {inst: ir0.inst30, generic: generic5, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant86: {inst: ir0.inst168, generic: generic4, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant87: {inst: ir0.inst61, generic: generic4, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant88: {inst: ir0.inst167, generic: generic4, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant89: {inst: ir0.inst168, generic: generic4, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant90: {inst: ir0.inst61, generic: generic4, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant91: {inst: ir0.inst21, generic: generic5, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant92: {inst: ir0.inst27, generic: generic5, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant93: {inst: ir0.inst21, generic: generic5, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant94: {inst: ir0.inst27, generic: generic5, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant95: {inst: ir0.inst30, generic: generic5, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant96: {inst: ir0.inst190, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant97: {inst: ir0.inst191, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant98: {inst: ir0.inst192, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant99: {inst: ir0.inst192, generic: generic6, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant100: {inst: ir0.inst95, generic: generic6, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant101: {inst: ir0.inst190, generic: generic6, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant102: {inst: ir0.inst95, generic: generic6, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant103: {inst: ir0.inst190, generic: generic6, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant104: {inst: ir0.inst96, generic: generic6, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant105: {inst: ir0.inst191, generic: generic6, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant106: {inst: ir0.inst201, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant107: {inst: ir0.inst201, generic: generic6, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant108: {inst: ir0.inst95, generic: generic6, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant109: {inst: ir0.inst190, generic: generic6, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant110: {inst: ir0.inst96, generic: generic6, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant111: {inst: ir0.inst191, generic: generic6, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant112: {inst: ir0.inst192, generic: generic6, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant113: {inst: ir0.inst201, generic: generic6, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant114: {inst: ir0.inst209, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant115: {inst: ir0.inst210, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant116: {inst: ir0.inst210, generic: generic6, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant117: {inst: ir0.inst209, generic: generic6, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant118: {inst: ir0.inst211, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant119: {inst: ir0.inst211, generic: generic7, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant120: {inst: ir0.inst210, generic: generic6, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant121: {inst: ir0.inst209, generic: generic6, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant122: {inst: ir0.inst210, generic: generic6, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant123: {inst: ir0.inst95, generic: generic7, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant124: {inst: ir0.inst96, generic: generic7, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant125: {inst: ir0.inst190, generic: generic7, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant126: {inst: ir0.inst191, generic: generic7, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant127: {inst: ir0.inst192, generic: generic7, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant128: {inst: ir0.inst95, generic: generic7, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant129: {inst: ir0.inst96, generic: generic7, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant130: {inst: ir0.inst190, generic: generic7, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant131: {inst: ir0.inst191, generic: generic7, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant132: {inst: ir0.inst192, generic: generic7, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant133: {inst: ir0.inst211, generic: generic7, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant134: {inst: ir0.inst226, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant135: {inst: ir0.inst226, generic: generic7, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant136: {inst: ir0.inst126, generic: generic7, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant137: {inst: ir0.inst127, generic: generic7, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant138: {inst: ir0.inst128, generic: generic7, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant139: {inst: ir0.inst129, generic: generic7, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant140: {inst: ir0.inst130, generic: generic7, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant141: {inst: ir0.inst227, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant142: {inst: ir0.inst227, generic: generic7, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant143: {inst: ir0.inst228, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant144: {inst: ir0.inst228, generic: generic7, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant145: {inst: ir0.inst229, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant146: {inst: ir0.inst229, generic: generic7, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant147: {inst: ir0.inst230, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant148: {inst: ir0.inst230, generic: generic7, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant149: {inst: ir0.inst231, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant150: {inst: ir0.inst231, generic: generic7, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant151: {inst: ir0.inst226, generic: generic7, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant152: {inst: ir0.inst126, generic: generic7, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant153: {inst: ir0.inst127, generic: generic7, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant154: {inst: ir0.inst128, generic: generic7, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant155: {inst: ir0.inst129, generic: generic7, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant156: {inst: ir0.inst130, generic: generic7, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant157: {inst: ir0.inst227, generic: generic7, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant158: {inst: ir0.inst228, generic: generic7, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant159: {inst: ir0.inst229, generic: generic7, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant160: {inst: ir0.inst230, generic: generic7, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant161: {inst: ir0.inst231, generic: generic7, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant162: {inst: ir0.inst243, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant163: {inst: ir0.inst246, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant164: {inst: ir0.inst247, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant165: {inst: ir0.inst248, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant166: {inst: ir0.inst248, generic: generic8, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant167: {inst: ir0.inst95, generic: generic8, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant168: {inst: ir0.inst190, generic: generic8, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant169: {inst: ir0.inst246, generic: generic8, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant170: {inst: ir0.inst95, generic: generic8, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant171: {inst: ir0.inst190, generic: generic8, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant172: {inst: ir0.inst246, generic: generic8, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant173: {inst: ir0.inst96, generic: generic8, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant174: {inst: ir0.inst191, generic: generic8, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant175: {inst: ir0.inst247, generic: generic8, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant176: {inst: ir0.inst259, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant177: {inst: ir0.inst259, generic: generic8, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant178: {inst: ir0.inst95, generic: generic8, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant179: {inst: ir0.inst190, generic: generic8, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant180: {inst: ir0.inst246, generic: generic8, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant181: {inst: ir0.inst96, generic: generic8, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant182: {inst: ir0.inst191, generic: generic8, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant183: {inst: ir0.inst247, generic: generic8, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant184: {inst: ir0.inst248, generic: generic8, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant185: {inst: ir0.inst259, generic: generic8, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant186: {inst: ir0.inst269, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant187: {inst: ir0.inst270, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant188: {inst: ir0.inst270, generic: generic8, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant189: {inst: ir0.inst269, generic: generic8, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant190: {inst: ir0.inst271, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant191: {inst: ir0.inst271, generic: generic9, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant192: {inst: ir0.inst270, generic: generic8, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant193: {inst: ir0.inst269, generic: generic8, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant194: {inst: ir0.inst270, generic: generic8, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant195: {inst: ir0.inst95, generic: generic9, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant196: {inst: ir0.inst96, generic: generic9, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant197: {inst: ir0.inst190, generic: generic9, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant198: {inst: ir0.inst191, generic: generic9, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant199: {inst: ir0.inst246, generic: generic9, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant200: {inst: ir0.inst247, generic: generic9, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant201: {inst: ir0.inst248, generic: generic9, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant202: {inst: ir0.inst95, generic: generic9, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant203: {inst: ir0.inst96, generic: generic9, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant204: {inst: ir0.inst190, generic: generic9, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant205: {inst: ir0.inst191, generic: generic9, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant206: {inst: ir0.inst246, generic: generic9, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant207: {inst: ir0.inst247, generic: generic9, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant208: {inst: ir0.inst248, generic: generic9, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant209: {inst: ir0.inst271, generic: generic9, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant210: {inst: ir0.inst289, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant211: {inst: ir0.inst289, generic: generic9, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant212: {inst: ir0.inst126, generic: generic9, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant213: {inst: ir0.inst127, generic: generic9, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant214: {inst: ir0.inst128, generic: generic9, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant215: {inst: ir0.inst129, generic: generic9, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant216: {inst: ir0.inst130, generic: generic9, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant217: {inst: ir0.inst227, generic: generic9, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant218: {inst: ir0.inst228, generic: generic9, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant219: {inst: ir0.inst229, generic: generic9, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant220: {inst: ir0.inst230, generic: generic9, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant221: {inst: ir0.inst231, generic: generic9, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant222: {inst: ir0.inst290, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant223: {inst: ir0.inst290, generic: generic9, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant224: {inst: ir0.inst291, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant225: {inst: ir0.inst291, generic: generic9, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant226: {inst: ir0.inst292, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant227: {inst: ir0.inst292, generic: generic9, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant228: {inst: ir0.inst293, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant229: {inst: ir0.inst293, generic: generic9, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant230: {inst: ir0.inst294, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant231: {inst: ir0.inst294, generic: generic9, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant232: {inst: ir0.inst289, generic: generic9, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant233: {inst: ir0.inst126, generic: generic9, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant234: {inst: ir0.inst127, generic: generic9, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant235: {inst: ir0.inst128, generic: generic9, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant236: {inst: ir0.inst129, generic: generic9, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant237: {inst: ir0.inst130, generic: generic9, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant238: {inst: ir0.inst227, generic: generic9, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant239: {inst: ir0.inst228, generic: generic9, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant240: {inst: ir0.inst229, generic: generic9, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant241: {inst: ir0.inst230, generic: generic9, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant242: {inst: ir0.inst231, generic: generic9, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant243: {inst: ir0.inst290, generic: generic9, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant244: {inst: ir0.inst291, generic: generic9, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant245: {inst: ir0.inst292, generic: generic9, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant246: {inst: ir0.inst293, generic: generic9, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant247: {inst: ir0.inst294, generic: generic9, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant248: {inst: ir0.inst311, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant249: {inst: ir0.inst162, generic: generic4, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant250: {inst: ir0.inst312, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant251: {inst: ir0.inst312, generic: generic0, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant252: {inst: ir0.inst314, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant253: {inst: ir0.inst315, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant254: {inst: ir0.inst317, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant255: {inst: ir0.inst314, generic: generic0, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant256: {inst: ir0.inst315, generic: generic0, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant257: {inst: ir0.inst317, generic: generic0, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant258: {inst: ir0.inst323, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant259: {inst: ir0.inst323, generic: generic0, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant0: {inst: ir0.inst20, generic: generic, index: generic_inst, kind: self} +// CHECK:STDOUT: symbolic_constant1: {inst: ir0.inst22, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant2: {inst: ir0.inst22, generic: generic0, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant3: {inst: ir0.inst28, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant4: {inst: ir0.inst28, generic: generic0, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant5: {inst: ir0.inst31, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6: {inst: ir0.inst31, generic: generic0, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant7: {inst: ir0.inst43, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant8: {inst: ir0.inst43, generic: generic0, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant9: {inst: ir0.inst46, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant10: {inst: ir0.inst46, generic: generic0, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant11: {inst: ir0.inst57, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant12: {inst: ir0.inst59, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant13: {inst: ir0.inst59, generic: generic0, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant14: {inst: ir0.inst62, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant15: {inst: ir0.inst62, generic: generic0, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant16: {inst: ir0.inst73, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant17: {inst: ir0.inst83, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant18: {inst: ir0.inst84, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant19: {inst: ir0.inst84, generic: generic1, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant20: {inst: ir0.inst73, generic: generic1, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant21: {inst: ir0.inst83, generic: generic1, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant22: {inst: ir0.inst73, generic: generic1, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant23: {inst: ir0.inst83, generic: generic1, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant24: {inst: ir0.inst84, generic: generic1, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant25: {inst: ir0.inst96, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant26: {inst: ir0.inst97, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant27: {inst: ir0.inst98, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant28: {inst: ir0.inst98, generic: generic2, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant29: {inst: ir0.inst96, generic: generic2, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant30: {inst: ir0.inst96, generic: generic2, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant31: {inst: ir0.inst97, generic: generic2, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant32: {inst: ir0.inst106, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant33: {inst: ir0.inst106, generic: generic2, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant34: {inst: ir0.inst96, generic: generic2, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant35: {inst: ir0.inst97, generic: generic2, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant36: {inst: ir0.inst98, generic: generic2, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant37: {inst: ir0.inst106, generic: generic2, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant38: {inst: ir0.inst112, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant39: {inst: ir0.inst113, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant40: {inst: ir0.inst113, generic: generic2, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant41: {inst: ir0.inst112, generic: generic2, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant42: {inst: ir0.inst114, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant43: {inst: ir0.inst114, generic: generic3, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant44: {inst: ir0.inst113, generic: generic2, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant45: {inst: ir0.inst112, generic: generic2, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant46: {inst: ir0.inst113, generic: generic2, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant47: {inst: ir0.inst96, generic: generic3, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant48: {inst: ir0.inst97, generic: generic3, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant49: {inst: ir0.inst98, generic: generic3, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant50: {inst: ir0.inst96, generic: generic3, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant51: {inst: ir0.inst97, generic: generic3, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant52: {inst: ir0.inst98, generic: generic3, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant53: {inst: ir0.inst114, generic: generic3, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant54: {inst: ir0.inst126, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant55: {inst: ir0.inst126, generic: generic3, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant56: {inst: ir0.inst127, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant57: {inst: ir0.inst127, generic: generic3, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant58: {inst: ir0.inst128, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant59: {inst: ir0.inst128, generic: generic3, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant60: {inst: ir0.inst129, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant61: {inst: ir0.inst129, generic: generic3, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant62: {inst: ir0.inst130, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant63: {inst: ir0.inst130, generic: generic3, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant64: {inst: ir0.inst131, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant65: {inst: ir0.inst131, generic: generic3, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant66: {inst: ir0.inst126, generic: generic3, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant67: {inst: ir0.inst127, generic: generic3, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant68: {inst: ir0.inst128, generic: generic3, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant69: {inst: ir0.inst129, generic: generic3, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant70: {inst: ir0.inst130, generic: generic3, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant71: {inst: ir0.inst131, generic: generic3, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant72: {inst: ir0.inst138, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant73: {inst: ir0.inst28, generic: generic4, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant74: {inst: ir0.inst22, generic: generic4, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant75: {inst: ir0.inst22, generic: generic4, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant76: {inst: ir0.inst163, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant77: {inst: ir0.inst163, generic: generic4, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant78: {inst: ir0.inst22, generic: generic4, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant79: {inst: ir0.inst28, generic: generic4, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant80: {inst: ir0.inst163, generic: generic4, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant81: {inst: ir0.inst168, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant82: {inst: ir0.inst169, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant83: {inst: ir0.inst169, generic: generic4, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant84: {inst: ir0.inst168, generic: generic4, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant85: {inst: ir0.inst31, generic: generic5, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant86: {inst: ir0.inst169, generic: generic4, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant87: {inst: ir0.inst62, generic: generic4, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant88: {inst: ir0.inst168, generic: generic4, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant89: {inst: ir0.inst169, generic: generic4, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant90: {inst: ir0.inst62, generic: generic4, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant91: {inst: ir0.inst22, generic: generic5, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant92: {inst: ir0.inst28, generic: generic5, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant93: {inst: ir0.inst22, generic: generic5, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant94: {inst: ir0.inst28, generic: generic5, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant95: {inst: ir0.inst31, generic: generic5, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant96: {inst: ir0.inst191, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant97: {inst: ir0.inst192, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant98: {inst: ir0.inst193, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant99: {inst: ir0.inst193, generic: generic6, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant100: {inst: ir0.inst96, generic: generic6, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant101: {inst: ir0.inst191, generic: generic6, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant102: {inst: ir0.inst96, generic: generic6, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant103: {inst: ir0.inst191, generic: generic6, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant104: {inst: ir0.inst97, generic: generic6, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant105: {inst: ir0.inst192, generic: generic6, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant106: {inst: ir0.inst202, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant107: {inst: ir0.inst202, generic: generic6, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant108: {inst: ir0.inst96, generic: generic6, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant109: {inst: ir0.inst191, generic: generic6, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant110: {inst: ir0.inst97, generic: generic6, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant111: {inst: ir0.inst192, generic: generic6, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant112: {inst: ir0.inst193, generic: generic6, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant113: {inst: ir0.inst202, generic: generic6, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant114: {inst: ir0.inst210, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant115: {inst: ir0.inst211, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant116: {inst: ir0.inst211, generic: generic6, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant117: {inst: ir0.inst210, generic: generic6, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant118: {inst: ir0.inst212, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant119: {inst: ir0.inst212, generic: generic7, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant120: {inst: ir0.inst211, generic: generic6, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant121: {inst: ir0.inst210, generic: generic6, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant122: {inst: ir0.inst211, generic: generic6, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant123: {inst: ir0.inst96, generic: generic7, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant124: {inst: ir0.inst97, generic: generic7, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant125: {inst: ir0.inst191, generic: generic7, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant126: {inst: ir0.inst192, generic: generic7, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant127: {inst: ir0.inst193, generic: generic7, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant128: {inst: ir0.inst96, generic: generic7, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant129: {inst: ir0.inst97, generic: generic7, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant130: {inst: ir0.inst191, generic: generic7, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant131: {inst: ir0.inst192, generic: generic7, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant132: {inst: ir0.inst193, generic: generic7, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant133: {inst: ir0.inst212, generic: generic7, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant134: {inst: ir0.inst227, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant135: {inst: ir0.inst227, generic: generic7, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant136: {inst: ir0.inst127, generic: generic7, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant137: {inst: ir0.inst128, generic: generic7, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant138: {inst: ir0.inst129, generic: generic7, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant139: {inst: ir0.inst130, generic: generic7, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant140: {inst: ir0.inst131, generic: generic7, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant141: {inst: ir0.inst228, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant142: {inst: ir0.inst228, generic: generic7, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant143: {inst: ir0.inst229, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant144: {inst: ir0.inst229, generic: generic7, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant145: {inst: ir0.inst230, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant146: {inst: ir0.inst230, generic: generic7, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant147: {inst: ir0.inst231, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant148: {inst: ir0.inst231, generic: generic7, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant149: {inst: ir0.inst232, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant150: {inst: ir0.inst232, generic: generic7, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant151: {inst: ir0.inst227, generic: generic7, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant152: {inst: ir0.inst127, generic: generic7, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant153: {inst: ir0.inst128, generic: generic7, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant154: {inst: ir0.inst129, generic: generic7, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant155: {inst: ir0.inst130, generic: generic7, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant156: {inst: ir0.inst131, generic: generic7, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant157: {inst: ir0.inst228, generic: generic7, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant158: {inst: ir0.inst229, generic: generic7, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant159: {inst: ir0.inst230, generic: generic7, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant160: {inst: ir0.inst231, generic: generic7, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant161: {inst: ir0.inst232, generic: generic7, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant162: {inst: ir0.inst244, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant163: {inst: ir0.inst247, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant164: {inst: ir0.inst248, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant165: {inst: ir0.inst249, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant166: {inst: ir0.inst249, generic: generic8, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant167: {inst: ir0.inst96, generic: generic8, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant168: {inst: ir0.inst191, generic: generic8, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant169: {inst: ir0.inst247, generic: generic8, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant170: {inst: ir0.inst96, generic: generic8, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant171: {inst: ir0.inst191, generic: generic8, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant172: {inst: ir0.inst247, generic: generic8, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant173: {inst: ir0.inst97, generic: generic8, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant174: {inst: ir0.inst192, generic: generic8, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant175: {inst: ir0.inst248, generic: generic8, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant176: {inst: ir0.inst260, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant177: {inst: ir0.inst260, generic: generic8, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant178: {inst: ir0.inst96, generic: generic8, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant179: {inst: ir0.inst191, generic: generic8, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant180: {inst: ir0.inst247, generic: generic8, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant181: {inst: ir0.inst97, generic: generic8, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant182: {inst: ir0.inst192, generic: generic8, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant183: {inst: ir0.inst248, generic: generic8, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant184: {inst: ir0.inst249, generic: generic8, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant185: {inst: ir0.inst260, generic: generic8, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant186: {inst: ir0.inst270, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant187: {inst: ir0.inst271, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant188: {inst: ir0.inst271, generic: generic8, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant189: {inst: ir0.inst270, generic: generic8, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant190: {inst: ir0.inst272, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant191: {inst: ir0.inst272, generic: generic9, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant192: {inst: ir0.inst271, generic: generic8, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant193: {inst: ir0.inst270, generic: generic8, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant194: {inst: ir0.inst271, generic: generic8, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant195: {inst: ir0.inst96, generic: generic9, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant196: {inst: ir0.inst97, generic: generic9, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant197: {inst: ir0.inst191, generic: generic9, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant198: {inst: ir0.inst192, generic: generic9, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant199: {inst: ir0.inst247, generic: generic9, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant200: {inst: ir0.inst248, generic: generic9, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant201: {inst: ir0.inst249, generic: generic9, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant202: {inst: ir0.inst96, generic: generic9, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant203: {inst: ir0.inst97, generic: generic9, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant204: {inst: ir0.inst191, generic: generic9, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant205: {inst: ir0.inst192, generic: generic9, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant206: {inst: ir0.inst247, generic: generic9, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant207: {inst: ir0.inst248, generic: generic9, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant208: {inst: ir0.inst249, generic: generic9, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant209: {inst: ir0.inst272, generic: generic9, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant210: {inst: ir0.inst290, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant211: {inst: ir0.inst290, generic: generic9, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant212: {inst: ir0.inst127, generic: generic9, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant213: {inst: ir0.inst128, generic: generic9, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant214: {inst: ir0.inst129, generic: generic9, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant215: {inst: ir0.inst130, generic: generic9, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant216: {inst: ir0.inst131, generic: generic9, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant217: {inst: ir0.inst228, generic: generic9, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant218: {inst: ir0.inst229, generic: generic9, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant219: {inst: ir0.inst230, generic: generic9, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant220: {inst: ir0.inst231, generic: generic9, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant221: {inst: ir0.inst232, generic: generic9, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant222: {inst: ir0.inst291, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant223: {inst: ir0.inst291, generic: generic9, index: generic_inst_in_def11, kind: checked} +// CHECK:STDOUT: symbolic_constant224: {inst: ir0.inst292, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant225: {inst: ir0.inst292, generic: generic9, index: generic_inst_in_def12, kind: checked} +// CHECK:STDOUT: symbolic_constant226: {inst: ir0.inst293, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant227: {inst: ir0.inst293, generic: generic9, index: generic_inst_in_def13, kind: checked} +// CHECK:STDOUT: symbolic_constant228: {inst: ir0.inst294, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant229: {inst: ir0.inst294, generic: generic9, index: generic_inst_in_def14, kind: checked} +// CHECK:STDOUT: symbolic_constant230: {inst: ir0.inst295, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant231: {inst: ir0.inst295, generic: generic9, index: generic_inst_in_def15, kind: checked} +// CHECK:STDOUT: symbolic_constant232: {inst: ir0.inst290, generic: generic9, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant233: {inst: ir0.inst127, generic: generic9, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant234: {inst: ir0.inst128, generic: generic9, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant235: {inst: ir0.inst129, generic: generic9, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant236: {inst: ir0.inst130, generic: generic9, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant237: {inst: ir0.inst131, generic: generic9, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant238: {inst: ir0.inst228, generic: generic9, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant239: {inst: ir0.inst229, generic: generic9, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant240: {inst: ir0.inst230, generic: generic9, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant241: {inst: ir0.inst231, generic: generic9, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant242: {inst: ir0.inst232, generic: generic9, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant243: {inst: ir0.inst291, generic: generic9, index: generic_inst_in_def11, kind: checked} +// CHECK:STDOUT: symbolic_constant244: {inst: ir0.inst292, generic: generic9, index: generic_inst_in_def12, kind: checked} +// CHECK:STDOUT: symbolic_constant245: {inst: ir0.inst293, generic: generic9, index: generic_inst_in_def13, kind: checked} +// CHECK:STDOUT: symbolic_constant246: {inst: ir0.inst294, generic: generic9, index: generic_inst_in_def14, kind: checked} +// CHECK:STDOUT: symbolic_constant247: {inst: ir0.inst295, generic: generic9, index: generic_inst_in_def15, kind: checked} +// CHECK:STDOUT: symbolic_constant248: {inst: ir0.inst312, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant249: {inst: ir0.inst163, generic: generic4, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant250: {inst: ir0.inst313, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant251: {inst: ir0.inst313, generic: generic0, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant252: {inst: ir0.inst315, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant253: {inst: ir0.inst316, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant254: {inst: ir0.inst318, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant255: {inst: ir0.inst315, generic: generic0, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant256: {inst: ir0.inst316, generic: generic0, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant257: {inst: ir0.inst318, generic: generic0, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant258: {inst: ir0.inst324, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant259: {inst: ir0.inst324, generic: generic0, index: generic_inst_in_def6, kind: checked} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir0.inst53 +// CHECK:STDOUT: 0: ir0.inst54 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: ir0.inst16 -// CHECK:STDOUT: 1: ir0.inst69 -// CHECK:STDOUT: 2: ir0.inst70 -// CHECK:STDOUT: 3: ir0.inst73 -// CHECK:STDOUT: 4: ir0.inst74 -// CHECK:STDOUT: 5: ir0.inst75 -// CHECK:STDOUT: 6: ir0.inst77 -// CHECK:STDOUT: 7: ir0.inst79 -// CHECK:STDOUT: 8: ir0.inst84 -// CHECK:STDOUT: 9: ir0.inst85 -// CHECK:STDOUT: 10: ir0.inst86 -// CHECK:STDOUT: 11: ir0.inst87 -// CHECK:STDOUT: 12: ir0.inst88 -// CHECK:STDOUT: 13: ir0.inst93 -// CHECK:STDOUT: 14: ir0.inst94 -// CHECK:STDOUT: 15: ir0.inst99 -// CHECK:STDOUT: 16: ir0.inst100 -// CHECK:STDOUT: 17: ir0.inst101 -// CHECK:STDOUT: 18: ir0.inst102 -// CHECK:STDOUT: 19: ir0.inst103 -// CHECK:STDOUT: 20: ir0.inst104 -// CHECK:STDOUT: 21: ir0.inst110 -// CHECK:STDOUT: 22: ir0.inst114 -// CHECK:STDOUT: 23: ir0.inst115 -// CHECK:STDOUT: 24: ir0.inst116 -// CHECK:STDOUT: 25: ir0.inst117 -// CHECK:STDOUT: 26: ir0.inst118 -// CHECK:STDOUT: 27: ir0.inst138 -// CHECK:STDOUT: 28: ir0.inst139 -// CHECK:STDOUT: 29: ir0.inst140 -// CHECK:STDOUT: 30: ir0.inst141 -// CHECK:STDOUT: 31: ir0.inst142 -// CHECK:STDOUT: 32: ir0.inst143 -// CHECK:STDOUT: 33: ir0.inst144 -// CHECK:STDOUT: 34: ir0.inst145 -// CHECK:STDOUT: 35: ir0.inst146 -// CHECK:STDOUT: 36: ir0.inst147 -// CHECK:STDOUT: 37: ir0.inst148 -// CHECK:STDOUT: 38: ir0.inst149 -// CHECK:STDOUT: 39: ir0.inst150 -// CHECK:STDOUT: 40: ir0.inst151 -// CHECK:STDOUT: 41: ir0.inst152 -// CHECK:STDOUT: 42: ir0.inst153 -// CHECK:STDOUT: 43: ir0.inst154 -// CHECK:STDOUT: 44: ir0.inst155 -// CHECK:STDOUT: 45: ir0.inst156 -// CHECK:STDOUT: 46: ir0.inst157 -// CHECK:STDOUT: 47: ir0.inst158 -// CHECK:STDOUT: 48: ir0.inst159 -// CHECK:STDOUT: 49: ir0.inst160 -// CHECK:STDOUT: 50: ir0.inst161 -// CHECK:STDOUT: 51: ir0.inst166 -// CHECK:STDOUT: 52: ir0.inst169 -// CHECK:STDOUT: 53: ir0.inst170 -// CHECK:STDOUT: 54: ir0.inst171 -// CHECK:STDOUT: 55: ir0.inst172 -// CHECK:STDOUT: 56: ir0.inst173 -// CHECK:STDOUT: 57: ir0.inst180 -// CHECK:STDOUT: 58: ir0.inst181 -// CHECK:STDOUT: 59: ir0.inst182 -// CHECK:STDOUT: 60: ir0.inst183 -// CHECK:STDOUT: 61: ir0.inst184 -// CHECK:STDOUT: 62: ir0.inst185 -// CHECK:STDOUT: 63: ir0.inst186 -// CHECK:STDOUT: 64: ir0.inst187 -// CHECK:STDOUT: 65: ir0.inst188 -// CHECK:STDOUT: 66: ir0.inst189 -// CHECK:STDOUT: 67: ir0.inst193 -// CHECK:STDOUT: 68: ir0.inst194 -// CHECK:STDOUT: 69: ir0.inst195 -// CHECK:STDOUT: 70: ir0.inst196 -// CHECK:STDOUT: 71: ir0.inst197 -// CHECK:STDOUT: 72: ir0.inst198 -// CHECK:STDOUT: 73: ir0.inst199 -// CHECK:STDOUT: 74: ir0.inst200 -// CHECK:STDOUT: 75: ir0.inst208 -// CHECK:STDOUT: 76: ir0.inst212 -// CHECK:STDOUT: 77: ir0.inst213 -// CHECK:STDOUT: 78: ir0.inst214 -// CHECK:STDOUT: 79: ir0.inst215 -// CHECK:STDOUT: 80: ir0.inst216 -// CHECK:STDOUT: 81: ir0.inst217 -// CHECK:STDOUT: 82: ir0.inst244 -// CHECK:STDOUT: 83: ir0.inst245 -// CHECK:STDOUT: 84: ir0.inst249 -// CHECK:STDOUT: 85: ir0.inst250 -// CHECK:STDOUT: 86: ir0.inst251 -// CHECK:STDOUT: 87: ir0.inst252 -// CHECK:STDOUT: 88: ir0.inst253 -// CHECK:STDOUT: 89: ir0.inst254 -// CHECK:STDOUT: 90: ir0.inst255 -// CHECK:STDOUT: 91: ir0.inst256 -// CHECK:STDOUT: 92: ir0.inst257 -// CHECK:STDOUT: 93: ir0.inst258 -// CHECK:STDOUT: 94: ir0.inst268 -// CHECK:STDOUT: 95: ir0.inst272 -// CHECK:STDOUT: 96: ir0.inst273 -// CHECK:STDOUT: 97: ir0.inst274 -// CHECK:STDOUT: 98: ir0.inst275 -// CHECK:STDOUT: 99: ir0.inst276 -// CHECK:STDOUT: 100: ir0.inst277 -// CHECK:STDOUT: 101: ir0.inst278 +// CHECK:STDOUT: 0: ir0.inst17 +// CHECK:STDOUT: 1: ir0.inst70 +// CHECK:STDOUT: 2: ir0.inst71 +// CHECK:STDOUT: 3: ir0.inst74 +// CHECK:STDOUT: 4: ir0.inst75 +// CHECK:STDOUT: 5: ir0.inst76 +// CHECK:STDOUT: 6: ir0.inst78 +// CHECK:STDOUT: 7: ir0.inst80 +// CHECK:STDOUT: 8: ir0.inst85 +// CHECK:STDOUT: 9: ir0.inst86 +// CHECK:STDOUT: 10: ir0.inst87 +// CHECK:STDOUT: 11: ir0.inst88 +// CHECK:STDOUT: 12: ir0.inst89 +// CHECK:STDOUT: 13: ir0.inst94 +// CHECK:STDOUT: 14: ir0.inst95 +// CHECK:STDOUT: 15: ir0.inst100 +// CHECK:STDOUT: 16: ir0.inst101 +// CHECK:STDOUT: 17: ir0.inst102 +// CHECK:STDOUT: 18: ir0.inst103 +// CHECK:STDOUT: 19: ir0.inst104 +// CHECK:STDOUT: 20: ir0.inst105 +// CHECK:STDOUT: 21: ir0.inst111 +// CHECK:STDOUT: 22: ir0.inst115 +// CHECK:STDOUT: 23: ir0.inst116 +// CHECK:STDOUT: 24: ir0.inst117 +// CHECK:STDOUT: 25: ir0.inst118 +// CHECK:STDOUT: 26: ir0.inst119 +// CHECK:STDOUT: 27: ir0.inst139 +// CHECK:STDOUT: 28: ir0.inst140 +// CHECK:STDOUT: 29: ir0.inst141 +// CHECK:STDOUT: 30: ir0.inst142 +// CHECK:STDOUT: 31: ir0.inst143 +// CHECK:STDOUT: 32: ir0.inst144 +// CHECK:STDOUT: 33: ir0.inst145 +// CHECK:STDOUT: 34: ir0.inst146 +// CHECK:STDOUT: 35: ir0.inst147 +// CHECK:STDOUT: 36: ir0.inst148 +// CHECK:STDOUT: 37: ir0.inst149 +// CHECK:STDOUT: 38: ir0.inst150 +// CHECK:STDOUT: 39: ir0.inst151 +// CHECK:STDOUT: 40: ir0.inst152 +// CHECK:STDOUT: 41: ir0.inst153 +// CHECK:STDOUT: 42: ir0.inst154 +// CHECK:STDOUT: 43: ir0.inst155 +// CHECK:STDOUT: 44: ir0.inst156 +// CHECK:STDOUT: 45: ir0.inst157 +// CHECK:STDOUT: 46: ir0.inst158 +// CHECK:STDOUT: 47: ir0.inst159 +// CHECK:STDOUT: 48: ir0.inst160 +// CHECK:STDOUT: 49: ir0.inst161 +// CHECK:STDOUT: 50: ir0.inst162 +// CHECK:STDOUT: 51: ir0.inst167 +// CHECK:STDOUT: 52: ir0.inst170 +// CHECK:STDOUT: 53: ir0.inst171 +// CHECK:STDOUT: 54: ir0.inst172 +// CHECK:STDOUT: 55: ir0.inst173 +// CHECK:STDOUT: 56: ir0.inst174 +// CHECK:STDOUT: 57: ir0.inst181 +// CHECK:STDOUT: 58: ir0.inst182 +// CHECK:STDOUT: 59: ir0.inst183 +// CHECK:STDOUT: 60: ir0.inst184 +// CHECK:STDOUT: 61: ir0.inst185 +// CHECK:STDOUT: 62: ir0.inst186 +// CHECK:STDOUT: 63: ir0.inst187 +// CHECK:STDOUT: 64: ir0.inst188 +// CHECK:STDOUT: 65: ir0.inst189 +// CHECK:STDOUT: 66: ir0.inst190 +// CHECK:STDOUT: 67: ir0.inst194 +// CHECK:STDOUT: 68: ir0.inst195 +// CHECK:STDOUT: 69: ir0.inst196 +// CHECK:STDOUT: 70: ir0.inst197 +// CHECK:STDOUT: 71: ir0.inst198 +// CHECK:STDOUT: 72: ir0.inst199 +// CHECK:STDOUT: 73: ir0.inst200 +// CHECK:STDOUT: 74: ir0.inst201 +// CHECK:STDOUT: 75: ir0.inst209 +// CHECK:STDOUT: 76: ir0.inst213 +// CHECK:STDOUT: 77: ir0.inst214 +// CHECK:STDOUT: 78: ir0.inst215 +// CHECK:STDOUT: 79: ir0.inst216 +// CHECK:STDOUT: 80: ir0.inst217 +// CHECK:STDOUT: 81: ir0.inst218 +// CHECK:STDOUT: 82: ir0.inst245 +// CHECK:STDOUT: 83: ir0.inst246 +// CHECK:STDOUT: 84: ir0.inst250 +// CHECK:STDOUT: 85: ir0.inst251 +// CHECK:STDOUT: 86: ir0.inst252 +// CHECK:STDOUT: 87: ir0.inst253 +// CHECK:STDOUT: 88: ir0.inst254 +// CHECK:STDOUT: 89: ir0.inst255 +// CHECK:STDOUT: 90: ir0.inst256 +// CHECK:STDOUT: 91: ir0.inst257 +// CHECK:STDOUT: 92: ir0.inst258 +// CHECK:STDOUT: 93: ir0.inst259 +// CHECK:STDOUT: 94: ir0.inst269 +// CHECK:STDOUT: 95: ir0.inst273 +// CHECK:STDOUT: 96: ir0.inst274 +// CHECK:STDOUT: 97: ir0.inst275 +// CHECK:STDOUT: 98: ir0.inst276 +// CHECK:STDOUT: 99: ir0.inst277 +// CHECK:STDOUT: 100: ir0.inst278 +// CHECK:STDOUT: 101: ir0.inst279 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: -// CHECK:STDOUT: 0: ir0.inst18 +// CHECK:STDOUT: 0: ir0.inst19 // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir0.inst24 -// CHECK:STDOUT: inst_block6: // CHECK:STDOUT: 0: ir0.inst25 -// CHECK:STDOUT: 1: ir0.inst26 +// CHECK:STDOUT: inst_block6: +// CHECK:STDOUT: 0: ir0.inst26 +// CHECK:STDOUT: 1: ir0.inst27 // CHECK:STDOUT: inst_block7: -// CHECK:STDOUT: 0: ir0.inst33 +// CHECK:STDOUT: 0: ir0.inst34 // CHECK:STDOUT: inst_block8: -// CHECK:STDOUT: 0: ir0.inst35 -// CHECK:STDOUT: 1: ir0.inst37 +// CHECK:STDOUT: 0: ir0.inst36 +// CHECK:STDOUT: 1: ir0.inst38 // CHECK:STDOUT: inst_block9: // CHECK:STDOUT: 0: inst(TypeType) -// CHECK:STDOUT: 1: ir0.inst36 +// CHECK:STDOUT: 1: ir0.inst37 // CHECK:STDOUT: inst_block10: -// CHECK:STDOUT: 0: ir0.inst35 -// CHECK:STDOUT: 1: ir0.inst41 +// CHECK:STDOUT: 0: ir0.inst36 +// CHECK:STDOUT: 1: ir0.inst42 // CHECK:STDOUT: inst_block11: -// CHECK:STDOUT: 0: ir0.inst27 -// CHECK:STDOUT: 1: ir0.inst36 -// CHECK:STDOUT: inst_block12: // CHECK:STDOUT: 0: ir0.inst28 -// CHECK:STDOUT: 1: ir0.inst36 +// CHECK:STDOUT: 1: ir0.inst37 +// CHECK:STDOUT: inst_block12: +// CHECK:STDOUT: 0: ir0.inst29 +// CHECK:STDOUT: 1: ir0.inst37 // CHECK:STDOUT: inst_block13: -// CHECK:STDOUT: 0: ir0.inst49 -// CHECK:STDOUT: 1: ir0.inst51 +// CHECK:STDOUT: 0: ir0.inst50 +// CHECK:STDOUT: 1: ir0.inst52 // CHECK:STDOUT: inst_block14: -// CHECK:STDOUT: 0: ir0.inst24 -// CHECK:STDOUT: 1: ir0.inst31 -// CHECK:STDOUT: 2: ir0.inst33 -// CHECK:STDOUT: 3: ir0.inst46 -// CHECK:STDOUT: 4: ir0.inst48 +// CHECK:STDOUT: 0: ir0.inst25 +// CHECK:STDOUT: 1: ir0.inst32 +// CHECK:STDOUT: 2: ir0.inst34 +// CHECK:STDOUT: 3: ir0.inst47 +// CHECK:STDOUT: 4: ir0.inst49 // CHECK:STDOUT: inst_block15: -// CHECK:STDOUT: 0: ir0.inst34 -// CHECK:STDOUT: 1: ir0.inst35 -// CHECK:STDOUT: 2: ir0.inst37 -// CHECK:STDOUT: 3: ir0.inst39 -// CHECK:STDOUT: 4: ir0.inst41 -// CHECK:STDOUT: 5: ir0.inst43 -// CHECK:STDOUT: 6: ir0.inst18 -// CHECK:STDOUT: 7: ir0.inst20 -// CHECK:STDOUT: 8: ir0.inst49 -// CHECK:STDOUT: 9: ir0.inst50 -// CHECK:STDOUT: 10: ir0.inst29 -// CHECK:STDOUT: 11: ir0.inst51 -// CHECK:STDOUT: 12: ir0.inst52 +// CHECK:STDOUT: 0: ir0.inst35 +// CHECK:STDOUT: 1: ir0.inst36 +// CHECK:STDOUT: 2: ir0.inst38 +// CHECK:STDOUT: 3: ir0.inst40 +// CHECK:STDOUT: 4: ir0.inst42 +// CHECK:STDOUT: 5: ir0.inst44 +// CHECK:STDOUT: 6: ir0.inst19 +// CHECK:STDOUT: 7: ir0.inst21 +// CHECK:STDOUT: 8: ir0.inst50 +// CHECK:STDOUT: 9: ir0.inst51 +// CHECK:STDOUT: 10: ir0.inst30 +// CHECK:STDOUT: 11: ir0.inst52 +// CHECK:STDOUT: 12: ir0.inst53 // CHECK:STDOUT: inst_block16: -// CHECK:STDOUT: 0: ir0.inst20 -// CHECK:STDOUT: inst_block17: // CHECK:STDOUT: 0: ir0.inst21 +// CHECK:STDOUT: inst_block17: +// CHECK:STDOUT: 0: ir0.inst22 // CHECK:STDOUT: inst_block18: +// CHECK:STDOUT: 0: ir0.inst23 +// CHECK:STDOUT: 1: ir0.inst29 +// CHECK:STDOUT: 2: ir0.inst33 +// CHECK:STDOUT: 3: ir0.inst45 +// CHECK:STDOUT: 4: ir0.inst48 +// CHECK:STDOUT: inst_block19: // CHECK:STDOUT: 0: ir0.inst22 // CHECK:STDOUT: 1: ir0.inst28 -// CHECK:STDOUT: 2: ir0.inst32 -// CHECK:STDOUT: 3: ir0.inst44 -// CHECK:STDOUT: 4: ir0.inst47 -// CHECK:STDOUT: inst_block19: -// CHECK:STDOUT: 0: ir0.inst21 -// CHECK:STDOUT: 1: ir0.inst27 -// CHECK:STDOUT: 2: ir0.inst30 -// CHECK:STDOUT: 3: ir0.inst42 -// CHECK:STDOUT: 4: ir0.inst45 +// CHECK:STDOUT: 2: ir0.inst31 +// CHECK:STDOUT: 3: ir0.inst43 +// CHECK:STDOUT: 4: ir0.inst46 // CHECK:STDOUT: inst_block20: -// CHECK:STDOUT: 0: ir0.inst63 -// CHECK:STDOUT: 1: ir0.inst64 -// CHECK:STDOUT: 2: ir0.inst65 -// CHECK:STDOUT: 3: ir0.inst316 -// CHECK:STDOUT: 4: ir0.inst321 -// CHECK:STDOUT: 5: ir0.inst322 -// CHECK:STDOUT: 6: ir0.inst325 -// CHECK:STDOUT: 7: ir0.inst327 -// CHECK:STDOUT: 8: ir0.inst67 -// CHECK:STDOUT: 9: ir0.inst328 -// CHECK:STDOUT: 10: ir0.inst329 -// CHECK:STDOUT: 11: ir0.inst330 -// CHECK:STDOUT: 12: ir0.inst332 -// CHECK:STDOUT: 13: ir0.inst333 -// CHECK:STDOUT: 14: ir0.inst334 -// CHECK:STDOUT: 15: ir0.inst335 +// CHECK:STDOUT: 0: ir0.inst64 +// CHECK:STDOUT: 1: ir0.inst65 +// CHECK:STDOUT: 2: ir0.inst66 +// CHECK:STDOUT: 3: ir0.inst317 +// CHECK:STDOUT: 4: ir0.inst322 +// CHECK:STDOUT: 5: ir0.inst323 +// CHECK:STDOUT: 6: ir0.inst326 +// CHECK:STDOUT: 7: ir0.inst328 +// CHECK:STDOUT: 8: ir0.inst68 +// CHECK:STDOUT: 9: ir0.inst329 +// CHECK:STDOUT: 10: ir0.inst330 +// CHECK:STDOUT: 11: ir0.inst331 +// CHECK:STDOUT: 12: ir0.inst333 +// CHECK:STDOUT: 13: ir0.inst334 +// CHECK:STDOUT: 14: ir0.inst335 +// CHECK:STDOUT: 15: ir0.inst336 // CHECK:STDOUT: inst_block21: -// CHECK:STDOUT: 0: ir0.inst63 -// CHECK:STDOUT: 1: ir0.inst64 +// CHECK:STDOUT: 0: ir0.inst64 +// CHECK:STDOUT: 1: ir0.inst65 // CHECK:STDOUT: inst_block22: -// CHECK:STDOUT: 0: ir0.inst75 +// CHECK:STDOUT: 0: ir0.inst76 // CHECK:STDOUT: inst_block23: -// CHECK:STDOUT: 0: ir0.inst87 -// CHECK:STDOUT: inst_block24: // CHECK:STDOUT: 0: ir0.inst88 -// CHECK:STDOUT: inst_block25: +// CHECK:STDOUT: inst_block24: // CHECK:STDOUT: 0: ir0.inst89 -// CHECK:STDOUT: 1: ir0.inst90 -// CHECK:STDOUT: 2: ir0.inst91 +// CHECK:STDOUT: inst_block25: +// CHECK:STDOUT: 0: ir0.inst90 +// CHECK:STDOUT: 1: ir0.inst91 +// CHECK:STDOUT: 2: ir0.inst92 // CHECK:STDOUT: inst_block26: -// CHECK:STDOUT: 0: ir0.inst72 +// CHECK:STDOUT: 0: ir0.inst73 // CHECK:STDOUT: inst_block27: -// CHECK:STDOUT: 0: ir0.inst72 -// CHECK:STDOUT: 1: ir0.inst82 -// CHECK:STDOUT: 2: ir0.inst83 +// CHECK:STDOUT: 0: ir0.inst73 +// CHECK:STDOUT: 1: ir0.inst83 +// CHECK:STDOUT: 2: ir0.inst84 // CHECK:STDOUT: inst_block28: -// CHECK:STDOUT: 0: ir0.inst99 -// CHECK:STDOUT: inst_block29: // CHECK:STDOUT: 0: ir0.inst100 +// CHECK:STDOUT: inst_block29: +// CHECK:STDOUT: 0: ir0.inst101 // CHECK:STDOUT: inst_block30: -// CHECK:STDOUT: 0: ir0.inst103 +// CHECK:STDOUT: 0: ir0.inst104 // CHECK:STDOUT: inst_block31: -// CHECK:STDOUT: 0: ir0.inst95 +// CHECK:STDOUT: 0: ir0.inst96 // CHECK:STDOUT: inst_block32: -// CHECK:STDOUT: 0: ir0.inst106 +// CHECK:STDOUT: 0: ir0.inst107 // CHECK:STDOUT: inst_block33: -// CHECK:STDOUT: 0: ir0.inst106 -// CHECK:STDOUT: 1: ir0.inst107 -// CHECK:STDOUT: 2: ir0.inst108 -// CHECK:STDOUT: 3: ir0.inst109 +// CHECK:STDOUT: 0: ir0.inst107 +// CHECK:STDOUT: 1: ir0.inst108 +// CHECK:STDOUT: 2: ir0.inst109 +// CHECK:STDOUT: 3: ir0.inst110 // CHECK:STDOUT: inst_block34: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst96 -// CHECK:STDOUT: 2: ir0.inst97 -// CHECK:STDOUT: 3: ir0.inst105 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst97 +// CHECK:STDOUT: 2: ir0.inst98 +// CHECK:STDOUT: 3: ir0.inst106 // CHECK:STDOUT: inst_block35: -// CHECK:STDOUT: 0: ir0.inst117 -// CHECK:STDOUT: inst_block36: // CHECK:STDOUT: 0: ir0.inst118 +// CHECK:STDOUT: inst_block36: +// CHECK:STDOUT: 0: ir0.inst119 // CHECK:STDOUT: inst_block37: -// CHECK:STDOUT: 0: ir0.inst106 +// CHECK:STDOUT: 0: ir0.inst107 // CHECK:STDOUT: inst_block38: -// CHECK:STDOUT: 0: ir0.inst119 -// CHECK:STDOUT: 1: ir0.inst120 +// CHECK:STDOUT: 0: ir0.inst120 +// CHECK:STDOUT: 1: ir0.inst121 // CHECK:STDOUT: inst_block39: -// CHECK:STDOUT: 0: ir0.inst121 -// CHECK:STDOUT: 1: ir0.inst122 -// CHECK:STDOUT: 2: ir0.inst123 -// CHECK:STDOUT: 3: ir0.inst124 +// CHECK:STDOUT: 0: ir0.inst122 +// CHECK:STDOUT: 1: ir0.inst123 +// CHECK:STDOUT: 2: ir0.inst124 +// CHECK:STDOUT: 3: ir0.inst125 // CHECK:STDOUT: inst_block40: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst96 -// CHECK:STDOUT: 2: ir0.inst97 -// CHECK:STDOUT: 3: ir0.inst113 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst97 +// CHECK:STDOUT: 2: ir0.inst98 +// CHECK:STDOUT: 3: ir0.inst114 // CHECK:STDOUT: inst_block41: -// CHECK:STDOUT: 0: ir0.inst121 +// CHECK:STDOUT: 0: ir0.inst122 // CHECK:STDOUT: inst_block42: -// CHECK:STDOUT: 0: ir0.inst131 -// CHECK:STDOUT: 1: ir0.inst132 -// CHECK:STDOUT: 2: ir0.inst133 -// CHECK:STDOUT: 3: ir0.inst134 -// CHECK:STDOUT: 4: ir0.inst135 -// CHECK:STDOUT: 5: ir0.inst136 +// CHECK:STDOUT: 0: ir0.inst132 +// CHECK:STDOUT: 1: ir0.inst133 +// CHECK:STDOUT: 2: ir0.inst134 +// CHECK:STDOUT: 3: ir0.inst135 +// CHECK:STDOUT: 4: ir0.inst136 +// CHECK:STDOUT: 5: ir0.inst137 // CHECK:STDOUT: inst_block43: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst96 -// CHECK:STDOUT: 2: ir0.inst137 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst97 +// CHECK:STDOUT: 2: ir0.inst138 // CHECK:STDOUT: inst_block44: -// CHECK:STDOUT: 0: ir0.inst111 -// CHECK:STDOUT: 1: ir0.inst112 +// CHECK:STDOUT: 0: ir0.inst112 +// CHECK:STDOUT: 1: ir0.inst113 // CHECK:STDOUT: inst_block45: -// CHECK:STDOUT: 0: ir0.inst156 -// CHECK:STDOUT: inst_block46: // CHECK:STDOUT: 0: ir0.inst157 +// CHECK:STDOUT: inst_block46: +// CHECK:STDOUT: 0: ir0.inst158 // CHECK:STDOUT: inst_block47: -// CHECK:STDOUT: 0: ir0.inst160 +// CHECK:STDOUT: 0: ir0.inst161 // CHECK:STDOUT: inst_block48: -// CHECK:STDOUT: 0: ir0.inst163 +// CHECK:STDOUT: 0: ir0.inst164 // CHECK:STDOUT: inst_block49: -// CHECK:STDOUT: 0: ir0.inst163 -// CHECK:STDOUT: 1: ir0.inst164 -// CHECK:STDOUT: 2: ir0.inst165 +// CHECK:STDOUT: 0: ir0.inst164 +// CHECK:STDOUT: 1: ir0.inst165 +// CHECK:STDOUT: 2: ir0.inst166 // CHECK:STDOUT: inst_block50: -// CHECK:STDOUT: 0: ir0.inst21 -// CHECK:STDOUT: 1: ir0.inst27 -// CHECK:STDOUT: 2: ir0.inst162 +// CHECK:STDOUT: 0: ir0.inst22 +// CHECK:STDOUT: 1: ir0.inst28 +// CHECK:STDOUT: 2: ir0.inst163 // CHECK:STDOUT: inst_block51: -// CHECK:STDOUT: 0: ir0.inst172 -// CHECK:STDOUT: inst_block52: // CHECK:STDOUT: 0: ir0.inst173 +// CHECK:STDOUT: inst_block52: +// CHECK:STDOUT: 0: ir0.inst174 // CHECK:STDOUT: inst_block53: -// CHECK:STDOUT: 0: ir0.inst163 +// CHECK:STDOUT: 0: ir0.inst164 // CHECK:STDOUT: inst_block54: -// CHECK:STDOUT: 0: ir0.inst174 -// CHECK:STDOUT: 1: ir0.inst175 -// CHECK:STDOUT: 2: ir0.inst176 +// CHECK:STDOUT: 0: ir0.inst175 +// CHECK:STDOUT: 1: ir0.inst176 +// CHECK:STDOUT: 2: ir0.inst177 // CHECK:STDOUT: inst_block55: -// CHECK:STDOUT: 0: ir0.inst177 -// CHECK:STDOUT: 1: ir0.inst178 -// CHECK:STDOUT: 2: ir0.inst179 +// CHECK:STDOUT: 0: ir0.inst178 +// CHECK:STDOUT: 1: ir0.inst179 +// CHECK:STDOUT: 2: ir0.inst180 // CHECK:STDOUT: inst_block56: -// CHECK:STDOUT: 0: ir0.inst21 -// CHECK:STDOUT: 1: ir0.inst27 -// CHECK:STDOUT: 2: ir0.inst30 +// CHECK:STDOUT: 0: ir0.inst22 +// CHECK:STDOUT: 1: ir0.inst28 +// CHECK:STDOUT: 2: ir0.inst31 // CHECK:STDOUT: inst_block57: -// CHECK:STDOUT: 0: ir0.inst96 -// CHECK:STDOUT: 1: ir0.inst191 +// CHECK:STDOUT: 0: ir0.inst97 +// CHECK:STDOUT: 1: ir0.inst192 // CHECK:STDOUT: inst_block58: -// CHECK:STDOUT: 0: ir0.inst194 -// CHECK:STDOUT: 1: ir0.inst193 -// CHECK:STDOUT: inst_block59: // CHECK:STDOUT: 0: ir0.inst195 -// CHECK:STDOUT: 1: ir0.inst196 +// CHECK:STDOUT: 1: ir0.inst194 +// CHECK:STDOUT: inst_block59: +// CHECK:STDOUT: 0: ir0.inst196 +// CHECK:STDOUT: 1: ir0.inst197 // CHECK:STDOUT: inst_block60: -// CHECK:STDOUT: 0: ir0.inst199 +// CHECK:STDOUT: 0: ir0.inst200 // CHECK:STDOUT: inst_block61: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst190 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst191 // CHECK:STDOUT: inst_block62: -// CHECK:STDOUT: 0: ir0.inst204 -// CHECK:STDOUT: 1: ir0.inst205 +// CHECK:STDOUT: 0: ir0.inst205 +// CHECK:STDOUT: 1: ir0.inst206 // CHECK:STDOUT: inst_block63: -// CHECK:STDOUT: 0: ir0.inst202 -// CHECK:STDOUT: 1: ir0.inst203 +// CHECK:STDOUT: 0: ir0.inst203 +// CHECK:STDOUT: 1: ir0.inst204 // CHECK:STDOUT: inst_block64: -// CHECK:STDOUT: 0: ir0.inst202 -// CHECK:STDOUT: 1: ir0.inst203 -// CHECK:STDOUT: 2: ir0.inst204 -// CHECK:STDOUT: 3: ir0.inst205 -// CHECK:STDOUT: 4: ir0.inst206 -// CHECK:STDOUT: 5: ir0.inst207 +// CHECK:STDOUT: 0: ir0.inst203 +// CHECK:STDOUT: 1: ir0.inst204 +// CHECK:STDOUT: 2: ir0.inst205 +// CHECK:STDOUT: 3: ir0.inst206 +// CHECK:STDOUT: 4: ir0.inst207 +// CHECK:STDOUT: 5: ir0.inst208 // CHECK:STDOUT: inst_block65: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst190 -// CHECK:STDOUT: 2: ir0.inst96 -// CHECK:STDOUT: 3: ir0.inst191 -// CHECK:STDOUT: 4: ir0.inst192 -// CHECK:STDOUT: 5: ir0.inst201 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst191 +// CHECK:STDOUT: 2: ir0.inst97 +// CHECK:STDOUT: 3: ir0.inst192 +// CHECK:STDOUT: 4: ir0.inst193 +// CHECK:STDOUT: 5: ir0.inst202 // CHECK:STDOUT: inst_block66: -// CHECK:STDOUT: 0: ir0.inst215 -// CHECK:STDOUT: inst_block67: // CHECK:STDOUT: 0: ir0.inst216 -// CHECK:STDOUT: 1: ir0.inst217 +// CHECK:STDOUT: inst_block67: +// CHECK:STDOUT: 0: ir0.inst217 +// CHECK:STDOUT: 1: ir0.inst218 // CHECK:STDOUT: inst_block68: -// CHECK:STDOUT: 0: ir0.inst202 -// CHECK:STDOUT: 1: ir0.inst203 +// CHECK:STDOUT: 0: ir0.inst203 +// CHECK:STDOUT: 1: ir0.inst204 // CHECK:STDOUT: inst_block69: -// CHECK:STDOUT: 0: ir0.inst218 -// CHECK:STDOUT: 1: ir0.inst219 +// CHECK:STDOUT: 0: ir0.inst219 +// CHECK:STDOUT: 1: ir0.inst220 // CHECK:STDOUT: inst_block70: -// CHECK:STDOUT: 0: ir0.inst221 -// CHECK:STDOUT: 1: ir0.inst223 +// CHECK:STDOUT: 0: ir0.inst222 +// CHECK:STDOUT: 1: ir0.inst224 // CHECK:STDOUT: inst_block71: -// CHECK:STDOUT: 0: ir0.inst220 -// CHECK:STDOUT: 1: ir0.inst221 -// CHECK:STDOUT: 2: ir0.inst222 -// CHECK:STDOUT: 3: ir0.inst223 -// CHECK:STDOUT: 4: ir0.inst224 -// CHECK:STDOUT: 5: ir0.inst225 +// CHECK:STDOUT: 0: ir0.inst221 +// CHECK:STDOUT: 1: ir0.inst222 +// CHECK:STDOUT: 2: ir0.inst223 +// CHECK:STDOUT: 3: ir0.inst224 +// CHECK:STDOUT: 4: ir0.inst225 +// CHECK:STDOUT: 5: ir0.inst226 // CHECK:STDOUT: inst_block72: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst96 -// CHECK:STDOUT: 2: ir0.inst190 -// CHECK:STDOUT: 3: ir0.inst191 -// CHECK:STDOUT: 4: ir0.inst192 -// CHECK:STDOUT: 5: ir0.inst211 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst97 +// CHECK:STDOUT: 2: ir0.inst191 +// CHECK:STDOUT: 3: ir0.inst192 +// CHECK:STDOUT: 4: ir0.inst193 +// CHECK:STDOUT: 5: ir0.inst212 // CHECK:STDOUT: inst_block73: -// CHECK:STDOUT: 0: ir0.inst190 +// CHECK:STDOUT: 0: ir0.inst191 // CHECK:STDOUT: inst_block74: -// CHECK:STDOUT: 0: ir0.inst220 +// CHECK:STDOUT: 0: ir0.inst221 // CHECK:STDOUT: inst_block75: -// CHECK:STDOUT: 0: ir0.inst222 +// CHECK:STDOUT: 0: ir0.inst223 // CHECK:STDOUT: inst_block76: -// CHECK:STDOUT: 0: ir0.inst232 -// CHECK:STDOUT: 1: ir0.inst233 -// CHECK:STDOUT: 2: ir0.inst234 -// CHECK:STDOUT: 3: ir0.inst235 -// CHECK:STDOUT: 4: ir0.inst236 -// CHECK:STDOUT: 5: ir0.inst237 -// CHECK:STDOUT: 6: ir0.inst238 -// CHECK:STDOUT: 7: ir0.inst239 -// CHECK:STDOUT: 8: ir0.inst240 -// CHECK:STDOUT: 9: ir0.inst241 -// CHECK:STDOUT: 10: ir0.inst242 +// CHECK:STDOUT: 0: ir0.inst233 +// CHECK:STDOUT: 1: ir0.inst234 +// CHECK:STDOUT: 2: ir0.inst235 +// CHECK:STDOUT: 3: ir0.inst236 +// CHECK:STDOUT: 4: ir0.inst237 +// CHECK:STDOUT: 5: ir0.inst238 +// CHECK:STDOUT: 6: ir0.inst239 +// CHECK:STDOUT: 7: ir0.inst240 +// CHECK:STDOUT: 8: ir0.inst241 +// CHECK:STDOUT: 9: ir0.inst242 +// CHECK:STDOUT: 10: ir0.inst243 // CHECK:STDOUT: inst_block77: -// CHECK:STDOUT: 0: ir0.inst190 -// CHECK:STDOUT: 1: ir0.inst191 -// CHECK:STDOUT: 2: ir0.inst243 +// CHECK:STDOUT: 0: ir0.inst191 +// CHECK:STDOUT: 1: ir0.inst192 +// CHECK:STDOUT: 2: ir0.inst244 // CHECK:STDOUT: inst_block78: -// CHECK:STDOUT: 0: ir0.inst209 -// CHECK:STDOUT: 1: ir0.inst210 +// CHECK:STDOUT: 0: ir0.inst210 +// CHECK:STDOUT: 1: ir0.inst211 // CHECK:STDOUT: inst_block79: -// CHECK:STDOUT: 0: ir0.inst96 -// CHECK:STDOUT: 1: ir0.inst191 -// CHECK:STDOUT: 2: ir0.inst247 +// CHECK:STDOUT: 0: ir0.inst97 +// CHECK:STDOUT: 1: ir0.inst192 +// CHECK:STDOUT: 2: ir0.inst248 // CHECK:STDOUT: inst_block80: -// CHECK:STDOUT: 0: ir0.inst251 -// CHECK:STDOUT: 1: ir0.inst250 -// CHECK:STDOUT: 2: ir0.inst249 -// CHECK:STDOUT: inst_block81: // CHECK:STDOUT: 0: ir0.inst252 -// CHECK:STDOUT: 1: ir0.inst253 -// CHECK:STDOUT: 2: ir0.inst254 +// CHECK:STDOUT: 1: ir0.inst251 +// CHECK:STDOUT: 2: ir0.inst250 +// CHECK:STDOUT: inst_block81: +// CHECK:STDOUT: 0: ir0.inst253 +// CHECK:STDOUT: 1: ir0.inst254 +// CHECK:STDOUT: 2: ir0.inst255 // CHECK:STDOUT: inst_block82: -// CHECK:STDOUT: 0: ir0.inst257 +// CHECK:STDOUT: 0: ir0.inst258 // CHECK:STDOUT: inst_block83: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst190 -// CHECK:STDOUT: 2: ir0.inst246 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst191 +// CHECK:STDOUT: 2: ir0.inst247 // CHECK:STDOUT: inst_block84: -// CHECK:STDOUT: 0: ir0.inst263 -// CHECK:STDOUT: 1: ir0.inst264 -// CHECK:STDOUT: 2: ir0.inst265 +// CHECK:STDOUT: 0: ir0.inst264 +// CHECK:STDOUT: 1: ir0.inst265 +// CHECK:STDOUT: 2: ir0.inst266 // CHECK:STDOUT: inst_block85: -// CHECK:STDOUT: 0: ir0.inst260 -// CHECK:STDOUT: 1: ir0.inst261 -// CHECK:STDOUT: 2: ir0.inst262 +// CHECK:STDOUT: 0: ir0.inst261 +// CHECK:STDOUT: 1: ir0.inst262 +// CHECK:STDOUT: 2: ir0.inst263 // CHECK:STDOUT: inst_block86: -// CHECK:STDOUT: 0: ir0.inst260 -// CHECK:STDOUT: 1: ir0.inst261 -// CHECK:STDOUT: 2: ir0.inst262 -// CHECK:STDOUT: 3: ir0.inst263 -// CHECK:STDOUT: 4: ir0.inst264 -// CHECK:STDOUT: 5: ir0.inst265 -// CHECK:STDOUT: 6: ir0.inst266 -// CHECK:STDOUT: 7: ir0.inst267 +// CHECK:STDOUT: 0: ir0.inst261 +// CHECK:STDOUT: 1: ir0.inst262 +// CHECK:STDOUT: 2: ir0.inst263 +// CHECK:STDOUT: 3: ir0.inst264 +// CHECK:STDOUT: 4: ir0.inst265 +// CHECK:STDOUT: 5: ir0.inst266 +// CHECK:STDOUT: 6: ir0.inst267 +// CHECK:STDOUT: 7: ir0.inst268 // CHECK:STDOUT: inst_block87: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst190 -// CHECK:STDOUT: 2: ir0.inst246 -// CHECK:STDOUT: 3: ir0.inst96 -// CHECK:STDOUT: 4: ir0.inst191 -// CHECK:STDOUT: 5: ir0.inst247 -// CHECK:STDOUT: 6: ir0.inst248 -// CHECK:STDOUT: 7: ir0.inst259 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst191 +// CHECK:STDOUT: 2: ir0.inst247 +// CHECK:STDOUT: 3: ir0.inst97 +// CHECK:STDOUT: 4: ir0.inst192 +// CHECK:STDOUT: 5: ir0.inst248 +// CHECK:STDOUT: 6: ir0.inst249 +// CHECK:STDOUT: 7: ir0.inst260 // CHECK:STDOUT: inst_block88: -// CHECK:STDOUT: 0: ir0.inst275 -// CHECK:STDOUT: inst_block89: // CHECK:STDOUT: 0: ir0.inst276 -// CHECK:STDOUT: 1: ir0.inst277 -// CHECK:STDOUT: 2: ir0.inst278 +// CHECK:STDOUT: inst_block89: +// CHECK:STDOUT: 0: ir0.inst277 +// CHECK:STDOUT: 1: ir0.inst278 +// CHECK:STDOUT: 2: ir0.inst279 // CHECK:STDOUT: inst_block90: -// CHECK:STDOUT: 0: ir0.inst260 -// CHECK:STDOUT: 1: ir0.inst261 -// CHECK:STDOUT: 2: ir0.inst262 +// CHECK:STDOUT: 0: ir0.inst261 +// CHECK:STDOUT: 1: ir0.inst262 +// CHECK:STDOUT: 2: ir0.inst263 // CHECK:STDOUT: inst_block91: -// CHECK:STDOUT: 0: ir0.inst279 -// CHECK:STDOUT: 1: ir0.inst280 +// CHECK:STDOUT: 0: ir0.inst280 +// CHECK:STDOUT: 1: ir0.inst281 // CHECK:STDOUT: inst_block92: -// CHECK:STDOUT: 0: ir0.inst282 -// CHECK:STDOUT: 1: ir0.inst284 -// CHECK:STDOUT: 2: ir0.inst286 +// CHECK:STDOUT: 0: ir0.inst283 +// CHECK:STDOUT: 1: ir0.inst285 +// CHECK:STDOUT: 2: ir0.inst287 // CHECK:STDOUT: inst_block93: -// CHECK:STDOUT: 0: ir0.inst281 -// CHECK:STDOUT: 1: ir0.inst282 -// CHECK:STDOUT: 2: ir0.inst283 -// CHECK:STDOUT: 3: ir0.inst284 -// CHECK:STDOUT: 4: ir0.inst285 -// CHECK:STDOUT: 5: ir0.inst286 -// CHECK:STDOUT: 6: ir0.inst287 -// CHECK:STDOUT: 7: ir0.inst288 +// CHECK:STDOUT: 0: ir0.inst282 +// CHECK:STDOUT: 1: ir0.inst283 +// CHECK:STDOUT: 2: ir0.inst284 +// CHECK:STDOUT: 3: ir0.inst285 +// CHECK:STDOUT: 4: ir0.inst286 +// CHECK:STDOUT: 5: ir0.inst287 +// CHECK:STDOUT: 6: ir0.inst288 +// CHECK:STDOUT: 7: ir0.inst289 // CHECK:STDOUT: inst_block94: -// CHECK:STDOUT: 0: ir0.inst95 -// CHECK:STDOUT: 1: ir0.inst96 -// CHECK:STDOUT: 2: ir0.inst190 -// CHECK:STDOUT: 3: ir0.inst191 -// CHECK:STDOUT: 4: ir0.inst246 -// CHECK:STDOUT: 5: ir0.inst247 -// CHECK:STDOUT: 6: ir0.inst248 -// CHECK:STDOUT: 7: ir0.inst271 +// CHECK:STDOUT: 0: ir0.inst96 +// CHECK:STDOUT: 1: ir0.inst97 +// CHECK:STDOUT: 2: ir0.inst191 +// CHECK:STDOUT: 3: ir0.inst192 +// CHECK:STDOUT: 4: ir0.inst247 +// CHECK:STDOUT: 5: ir0.inst248 +// CHECK:STDOUT: 6: ir0.inst249 +// CHECK:STDOUT: 7: ir0.inst272 // CHECK:STDOUT: inst_block95: -// CHECK:STDOUT: 0: ir0.inst246 +// CHECK:STDOUT: 0: ir0.inst247 // CHECK:STDOUT: inst_block96: -// CHECK:STDOUT: 0: ir0.inst281 +// CHECK:STDOUT: 0: ir0.inst282 // CHECK:STDOUT: inst_block97: -// CHECK:STDOUT: 0: ir0.inst283 +// CHECK:STDOUT: 0: ir0.inst284 // CHECK:STDOUT: inst_block98: -// CHECK:STDOUT: 0: ir0.inst285 +// CHECK:STDOUT: 0: ir0.inst286 // CHECK:STDOUT: inst_block99: -// CHECK:STDOUT: 0: ir0.inst295 -// CHECK:STDOUT: 1: ir0.inst296 -// CHECK:STDOUT: 2: ir0.inst297 -// CHECK:STDOUT: 3: ir0.inst298 -// CHECK:STDOUT: 4: ir0.inst299 -// CHECK:STDOUT: 5: ir0.inst300 -// CHECK:STDOUT: 6: ir0.inst301 -// CHECK:STDOUT: 7: ir0.inst302 -// CHECK:STDOUT: 8: ir0.inst303 -// CHECK:STDOUT: 9: ir0.inst304 -// CHECK:STDOUT: 10: ir0.inst305 -// CHECK:STDOUT: 11: ir0.inst306 -// CHECK:STDOUT: 12: ir0.inst307 -// CHECK:STDOUT: 13: ir0.inst308 -// CHECK:STDOUT: 14: ir0.inst309 -// CHECK:STDOUT: 15: ir0.inst310 +// CHECK:STDOUT: 0: ir0.inst296 +// CHECK:STDOUT: 1: ir0.inst297 +// CHECK:STDOUT: 2: ir0.inst298 +// CHECK:STDOUT: 3: ir0.inst299 +// CHECK:STDOUT: 4: ir0.inst300 +// CHECK:STDOUT: 5: ir0.inst301 +// CHECK:STDOUT: 6: ir0.inst302 +// CHECK:STDOUT: 7: ir0.inst303 +// CHECK:STDOUT: 8: ir0.inst304 +// CHECK:STDOUT: 9: ir0.inst305 +// CHECK:STDOUT: 10: ir0.inst306 +// CHECK:STDOUT: 11: ir0.inst307 +// CHECK:STDOUT: 12: ir0.inst308 +// CHECK:STDOUT: 13: ir0.inst309 +// CHECK:STDOUT: 14: ir0.inst310 +// CHECK:STDOUT: 15: ir0.inst311 // CHECK:STDOUT: inst_block100: -// CHECK:STDOUT: 0: ir0.inst246 -// CHECK:STDOUT: 1: ir0.inst247 -// CHECK:STDOUT: 2: ir0.inst311 +// CHECK:STDOUT: 0: ir0.inst247 +// CHECK:STDOUT: 1: ir0.inst248 +// CHECK:STDOUT: 2: ir0.inst312 // CHECK:STDOUT: inst_block101: -// CHECK:STDOUT: 0: ir0.inst269 -// CHECK:STDOUT: 1: ir0.inst270 +// CHECK:STDOUT: 0: ir0.inst270 +// CHECK:STDOUT: 1: ir0.inst271 // CHECK:STDOUT: inst_block102: -// CHECK:STDOUT: 0: ir0.inst167 -// CHECK:STDOUT: 1: ir0.inst168 -// CHECK:STDOUT: 2: ir0.inst61 +// CHECK:STDOUT: 0: ir0.inst168 +// CHECK:STDOUT: 1: ir0.inst169 +// CHECK:STDOUT: 2: ir0.inst62 // CHECK:STDOUT: inst_block103: -// CHECK:STDOUT: 0: ir0.inst312 -// CHECK:STDOUT: inst_block104: // CHECK:STDOUT: 0: ir0.inst313 -// CHECK:STDOUT: inst_block105: +// CHECK:STDOUT: inst_block104: // CHECK:STDOUT: 0: ir0.inst314 +// CHECK:STDOUT: inst_block105: +// CHECK:STDOUT: 0: ir0.inst315 // CHECK:STDOUT: inst_block106: -// CHECK:STDOUT: 0: ir0.inst314 -// CHECK:STDOUT: 1: ir0.inst27 -// CHECK:STDOUT: 2: ir0.inst30 +// CHECK:STDOUT: 0: ir0.inst315 +// CHECK:STDOUT: 1: ir0.inst28 +// CHECK:STDOUT: 2: ir0.inst31 // CHECK:STDOUT: inst_block107: -// CHECK:STDOUT: 0: ir0.inst318 +// CHECK:STDOUT: 0: ir0.inst319 // CHECK:STDOUT: inst_block108: -// CHECK:STDOUT: 0: ir0.inst63 +// CHECK:STDOUT: 0: ir0.inst64 // CHECK:STDOUT: inst_block109: -// CHECK:STDOUT: 0: ir0.inst328 -// CHECK:STDOUT: 1: ir0.inst332 +// CHECK:STDOUT: 0: ir0.inst329 +// CHECK:STDOUT: 1: ir0.inst333 // CHECK:STDOUT: inst_block110: -// CHECK:STDOUT: 0: ir0.inst59 -// CHECK:STDOUT: 1: ir0.inst62 -// CHECK:STDOUT: 2: ir0.inst313 -// CHECK:STDOUT: 3: ir0.inst318 -// CHECK:STDOUT: 4: ir0.inst319 -// CHECK:STDOUT: 5: ir0.inst320 -// CHECK:STDOUT: 6: ir0.inst324 +// CHECK:STDOUT: 0: ir0.inst60 +// CHECK:STDOUT: 1: ir0.inst63 +// CHECK:STDOUT: 2: ir0.inst314 +// CHECK:STDOUT: 3: ir0.inst319 +// CHECK:STDOUT: 4: ir0.inst320 +// CHECK:STDOUT: 5: ir0.inst321 +// CHECK:STDOUT: 6: ir0.inst325 // CHECK:STDOUT: inst_block111: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir0.inst15 -// CHECK:STDOUT: 2: ir0.inst53 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir0.inst16 +// CHECK:STDOUT: 2: ir0.inst54 // 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 c3376ee44c27e..ee7465bba9b69 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,11 +26,11 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst37}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name0: ir0.inst38}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name0: {name: name1, parent_scope: name_scope, index: -1, is_template: 0, clang_decl_id: clang_decl_id} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block9, return_slot_pattern: ir0.inst32, body: [inst_block12]} +// CHECK:STDOUT: function0: {name: name0, parent_scope: name_scope0, call_params_id: inst_block9, return_slot_pattern: ir0.inst33, body: [inst_block12]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} @@ -43,150 +43,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(ir0.inst15)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst15)} -// CHECK:STDOUT: 'type(ir0.inst24)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst26)} -// CHECK:STDOUT: 'type(ir0.inst26)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst26)} -// CHECK:STDOUT: 'type(ir0.inst38)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst15)} +// CHECK:STDOUT: 'type(ir0.inst16)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst16)} +// CHECK:STDOUT: 'type(ir0.inst25)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(ir0.inst27)} +// CHECK:STDOUT: 'type(ir0.inst27)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(ir0.inst27)} +// CHECK:STDOUT: 'type(ir0.inst39)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(ir0.inst16)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: ir0.inst15: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst16: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst17: {kind: Converted, arg0: ir0.inst16, arg1: ir0.inst15, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst18: {kind: BindName, arg0: entity_name0, arg1: ir0.inst33, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst19: {kind: PatternType, arg0: ir0.inst15, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst20: {kind: BindingPattern, arg0: entity_name0, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst21: {kind: ValueParamPattern, arg0: ir0.inst20, arg1: call_param0, type: type(ir0.inst19)} -// CHECK:STDOUT: ir0.inst22: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst23: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst24: {kind: TupleType, arg0: inst_block7, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst25: {kind: TupleLiteral, arg0: inst_block6, type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst26: {kind: PointerType, arg0: ir0.inst24, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst27: {kind: Converted, arg0: ir0.inst22, arg1: ir0.inst15, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst28: {kind: Converted, arg0: ir0.inst23, arg1: ir0.inst15, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst29: {kind: Converted, arg0: ir0.inst25, arg1: ir0.inst24, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst30: {kind: PatternType, arg0: ir0.inst24, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst31: {kind: ReturnSlotPattern, arg0: ir0.inst29, type: type(ir0.inst30)} -// CHECK:STDOUT: ir0.inst32: {kind: OutParamPattern, arg0: ir0.inst31, arg1: call_param1, type: type(ir0.inst30)} -// CHECK:STDOUT: ir0.inst33: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst34: {kind: SpliceBlock, arg0: inst_block4, arg1: ir0.inst17, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst35: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst36: {kind: ReturnSlot, arg0: ir0.inst24, arg1: ir0.inst35, type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst37: {kind: FunctionDecl, arg0: function0, arg1: inst_block11, type: type(ir0.inst38)} -// CHECK:STDOUT: ir0.inst38: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: ir0.inst39: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst38)} -// CHECK:STDOUT: ir0.inst40: {kind: NameRef, arg0: name1, arg1: ir0.inst18, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst41: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst42: {kind: TupleLiteral, arg0: inst_block13, type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst43: {kind: TupleAccess, arg0: ir0.inst36, arg1: element0, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst44: {kind: TupleInit, arg0: inst_block14, arg1: ir0.inst43, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst45: {kind: TupleValue, arg0: inst_block_empty, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst46: {kind: Converted, arg0: ir0.inst40, arg1: ir0.inst44, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst47: {kind: TupleAccess, arg0: ir0.inst36, arg1: element1, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst48: {kind: TupleInit, arg0: inst_block_empty, arg1: ir0.inst47, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst49: {kind: Converted, arg0: ir0.inst41, arg1: ir0.inst48, type: type(ir0.inst15)} -// CHECK:STDOUT: ir0.inst50: {kind: TupleInit, arg0: inst_block15, arg1: ir0.inst36, type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst51: {kind: TupleValue, arg0: inst_block16, type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst52: {kind: Converted, arg0: ir0.inst42, arg1: ir0.inst50, type: type(ir0.inst24)} -// CHECK:STDOUT: ir0.inst53: {kind: ReturnExpr, arg0: ir0.inst52, arg1: ir0.inst36} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: ir0.inst16: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst17: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst18: {kind: Converted, arg0: ir0.inst17, arg1: ir0.inst16, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst19: {kind: BindName, arg0: entity_name0, arg1: ir0.inst34, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst20: {kind: PatternType, arg0: ir0.inst16, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst21: {kind: BindingPattern, arg0: entity_name0, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst22: {kind: ValueParamPattern, arg0: ir0.inst21, arg1: call_param0, type: type(ir0.inst20)} +// CHECK:STDOUT: ir0.inst23: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst24: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst25: {kind: TupleType, arg0: inst_block7, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst26: {kind: TupleLiteral, arg0: inst_block6, type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst27: {kind: PointerType, arg0: ir0.inst25, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst28: {kind: Converted, arg0: ir0.inst23, arg1: ir0.inst16, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst29: {kind: Converted, arg0: ir0.inst24, arg1: ir0.inst16, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst30: {kind: Converted, arg0: ir0.inst26, arg1: ir0.inst25, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst31: {kind: PatternType, arg0: ir0.inst25, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst32: {kind: ReturnSlotPattern, arg0: ir0.inst30, type: type(ir0.inst31)} +// CHECK:STDOUT: ir0.inst33: {kind: OutParamPattern, arg0: ir0.inst32, arg1: call_param1, type: type(ir0.inst31)} +// CHECK:STDOUT: ir0.inst34: {kind: ValueParam, arg0: call_param0, arg1: name1, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst35: {kind: SpliceBlock, arg0: inst_block4, arg1: ir0.inst18, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst36: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst37: {kind: ReturnSlot, arg0: ir0.inst25, arg1: ir0.inst36, type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst38: {kind: FunctionDecl, arg0: function0, arg1: inst_block11, type: type(ir0.inst39)} +// CHECK:STDOUT: ir0.inst39: {kind: FunctionType, arg0: function0, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: ir0.inst40: {kind: StructValue, arg0: inst_block_empty, type: type(ir0.inst39)} +// CHECK:STDOUT: ir0.inst41: {kind: NameRef, arg0: name1, arg1: ir0.inst19, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst42: {kind: TupleLiteral, arg0: inst_block_empty, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst43: {kind: TupleLiteral, arg0: inst_block13, type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst44: {kind: TupleAccess, arg0: ir0.inst37, arg1: element0, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst45: {kind: TupleInit, arg0: inst_block14, arg1: ir0.inst44, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst46: {kind: TupleValue, arg0: inst_block_empty, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst47: {kind: Converted, arg0: ir0.inst41, arg1: ir0.inst45, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst48: {kind: TupleAccess, arg0: ir0.inst37, arg1: element1, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst49: {kind: TupleInit, arg0: inst_block_empty, arg1: ir0.inst48, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst50: {kind: Converted, arg0: ir0.inst42, arg1: ir0.inst49, type: type(ir0.inst16)} +// CHECK:STDOUT: ir0.inst51: {kind: TupleInit, arg0: inst_block15, arg1: ir0.inst37, type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst52: {kind: TupleValue, arg0: inst_block16, type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst53: {kind: Converted, arg0: ir0.inst43, arg1: ir0.inst51, type: type(ir0.inst25)} +// CHECK:STDOUT: ir0.inst54: {kind: ReturnExpr, arg0: ir0.inst53, arg1: ir0.inst37} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) -// CHECK:STDOUT: ir0.inst15: concrete_constant(ir0.inst15) -// CHECK:STDOUT: ir0.inst17: concrete_constant(ir0.inst15) -// CHECK:STDOUT: ir0.inst19: concrete_constant(ir0.inst19) +// CHECK:STDOUT: inst15: concrete_constant(inst15) +// CHECK:STDOUT: ir0.inst16: concrete_constant(ir0.inst16) +// CHECK:STDOUT: ir0.inst18: concrete_constant(ir0.inst16) // CHECK:STDOUT: ir0.inst20: concrete_constant(ir0.inst20) // CHECK:STDOUT: ir0.inst21: concrete_constant(ir0.inst21) -// CHECK:STDOUT: ir0.inst24: concrete_constant(ir0.inst24) -// CHECK:STDOUT: ir0.inst26: concrete_constant(ir0.inst26) -// CHECK:STDOUT: ir0.inst27: concrete_constant(ir0.inst15) -// CHECK:STDOUT: ir0.inst28: concrete_constant(ir0.inst15) -// CHECK:STDOUT: ir0.inst29: concrete_constant(ir0.inst24) -// CHECK:STDOUT: ir0.inst30: concrete_constant(ir0.inst30) +// CHECK:STDOUT: ir0.inst22: concrete_constant(ir0.inst22) +// CHECK:STDOUT: ir0.inst25: concrete_constant(ir0.inst25) +// CHECK:STDOUT: ir0.inst27: concrete_constant(ir0.inst27) +// CHECK:STDOUT: ir0.inst28: concrete_constant(ir0.inst16) +// CHECK:STDOUT: ir0.inst29: concrete_constant(ir0.inst16) +// CHECK:STDOUT: ir0.inst30: concrete_constant(ir0.inst25) // CHECK:STDOUT: ir0.inst31: concrete_constant(ir0.inst31) // CHECK:STDOUT: ir0.inst32: concrete_constant(ir0.inst32) -// CHECK:STDOUT: ir0.inst34: concrete_constant(ir0.inst15) -// CHECK:STDOUT: ir0.inst37: concrete_constant(ir0.inst39) -// CHECK:STDOUT: ir0.inst38: concrete_constant(ir0.inst38) +// CHECK:STDOUT: ir0.inst33: concrete_constant(ir0.inst33) +// CHECK:STDOUT: ir0.inst35: concrete_constant(ir0.inst16) +// CHECK:STDOUT: ir0.inst38: concrete_constant(ir0.inst40) // CHECK:STDOUT: ir0.inst39: concrete_constant(ir0.inst39) -// CHECK:STDOUT: ir0.inst44: concrete_constant(ir0.inst45) -// CHECK:STDOUT: ir0.inst45: concrete_constant(ir0.inst45) -// CHECK:STDOUT: ir0.inst46: concrete_constant(ir0.inst45) -// CHECK:STDOUT: ir0.inst48: concrete_constant(ir0.inst45) -// CHECK:STDOUT: ir0.inst49: concrete_constant(ir0.inst45) -// CHECK:STDOUT: ir0.inst50: concrete_constant(ir0.inst51) -// CHECK:STDOUT: ir0.inst51: concrete_constant(ir0.inst51) -// CHECK:STDOUT: ir0.inst52: concrete_constant(ir0.inst51) +// CHECK:STDOUT: ir0.inst40: concrete_constant(ir0.inst40) +// CHECK:STDOUT: ir0.inst45: concrete_constant(ir0.inst46) +// CHECK:STDOUT: ir0.inst46: concrete_constant(ir0.inst46) +// CHECK:STDOUT: ir0.inst47: concrete_constant(ir0.inst46) +// CHECK:STDOUT: ir0.inst49: concrete_constant(ir0.inst46) +// CHECK:STDOUT: ir0.inst50: concrete_constant(ir0.inst46) +// CHECK:STDOUT: ir0.inst51: concrete_constant(ir0.inst52) +// CHECK:STDOUT: ir0.inst52: concrete_constant(ir0.inst52) +// CHECK:STDOUT: ir0.inst53: concrete_constant(ir0.inst52) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: ir0.inst37 +// CHECK:STDOUT: 0: ir0.inst38 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: -// CHECK:STDOUT: 0: ir0.inst16 -// CHECK:STDOUT: 1: ir0.inst17 +// CHECK:STDOUT: 0: ir0.inst17 +// CHECK:STDOUT: 1: ir0.inst18 // CHECK:STDOUT: inst_block5: -// CHECK:STDOUT: 0: ir0.inst21 -// CHECK:STDOUT: inst_block6: // CHECK:STDOUT: 0: ir0.inst22 -// CHECK:STDOUT: 1: ir0.inst23 +// CHECK:STDOUT: inst_block6: +// CHECK:STDOUT: 0: ir0.inst23 +// CHECK:STDOUT: 1: ir0.inst24 // CHECK:STDOUT: inst_block7: -// CHECK:STDOUT: 0: ir0.inst15 -// CHECK:STDOUT: 1: ir0.inst15 +// CHECK:STDOUT: 0: ir0.inst16 +// CHECK:STDOUT: 1: ir0.inst16 // CHECK:STDOUT: inst_block8: -// CHECK:STDOUT: 0: ir0.inst27 -// CHECK:STDOUT: 1: ir0.inst28 +// CHECK:STDOUT: 0: ir0.inst28 +// CHECK:STDOUT: 1: ir0.inst29 // CHECK:STDOUT: inst_block9: -// CHECK:STDOUT: 0: ir0.inst33 -// CHECK:STDOUT: 1: ir0.inst35 +// CHECK:STDOUT: 0: ir0.inst34 +// CHECK:STDOUT: 1: ir0.inst36 // CHECK:STDOUT: inst_block10: -// CHECK:STDOUT: 0: ir0.inst20 -// CHECK:STDOUT: 1: ir0.inst21 -// CHECK:STDOUT: 2: ir0.inst31 -// CHECK:STDOUT: 3: ir0.inst32 +// CHECK:STDOUT: 0: ir0.inst21 +// CHECK:STDOUT: 1: ir0.inst22 +// CHECK:STDOUT: 2: ir0.inst32 +// CHECK:STDOUT: 3: ir0.inst33 // CHECK:STDOUT: inst_block11: -// CHECK:STDOUT: 0: ir0.inst22 -// CHECK:STDOUT: 1: ir0.inst23 -// CHECK:STDOUT: 2: ir0.inst25 -// CHECK:STDOUT: 3: ir0.inst27 -// CHECK:STDOUT: 4: ir0.inst28 -// CHECK:STDOUT: 5: ir0.inst29 -// CHECK:STDOUT: 6: ir0.inst33 -// CHECK:STDOUT: 7: ir0.inst34 -// CHECK:STDOUT: 8: ir0.inst18 -// CHECK:STDOUT: 9: ir0.inst35 -// CHECK:STDOUT: 10: ir0.inst36 +// CHECK:STDOUT: 0: ir0.inst23 +// CHECK:STDOUT: 1: ir0.inst24 +// CHECK:STDOUT: 2: ir0.inst26 +// CHECK:STDOUT: 3: ir0.inst28 +// CHECK:STDOUT: 4: ir0.inst29 +// CHECK:STDOUT: 5: ir0.inst30 +// CHECK:STDOUT: 6: ir0.inst34 +// CHECK:STDOUT: 7: ir0.inst35 +// CHECK:STDOUT: 8: ir0.inst19 +// CHECK:STDOUT: 9: ir0.inst36 +// CHECK:STDOUT: 10: ir0.inst37 // CHECK:STDOUT: inst_block12: -// CHECK:STDOUT: 0: ir0.inst40 -// CHECK:STDOUT: 1: ir0.inst41 -// CHECK:STDOUT: 2: ir0.inst42 -// CHECK:STDOUT: 3: ir0.inst43 -// CHECK:STDOUT: 4: ir0.inst44 -// CHECK:STDOUT: 5: ir0.inst46 -// CHECK:STDOUT: 6: ir0.inst47 -// CHECK:STDOUT: 7: ir0.inst48 -// CHECK:STDOUT: 8: ir0.inst49 -// CHECK:STDOUT: 9: ir0.inst50 -// CHECK:STDOUT: 10: ir0.inst52 -// CHECK:STDOUT: 11: ir0.inst53 +// CHECK:STDOUT: 0: ir0.inst41 +// CHECK:STDOUT: 1: ir0.inst42 +// CHECK:STDOUT: 2: ir0.inst43 +// CHECK:STDOUT: 3: ir0.inst44 +// CHECK:STDOUT: 4: ir0.inst45 +// CHECK:STDOUT: 5: ir0.inst47 +// CHECK:STDOUT: 6: ir0.inst48 +// CHECK:STDOUT: 7: ir0.inst49 +// CHECK:STDOUT: 8: ir0.inst50 +// CHECK:STDOUT: 9: ir0.inst51 +// CHECK:STDOUT: 10: ir0.inst53 +// CHECK:STDOUT: 11: ir0.inst54 // CHECK:STDOUT: inst_block13: -// CHECK:STDOUT: 0: ir0.inst40 -// CHECK:STDOUT: 1: ir0.inst41 +// CHECK:STDOUT: 0: ir0.inst41 +// CHECK:STDOUT: 1: ir0.inst42 // CHECK:STDOUT: inst_block14: {} // CHECK:STDOUT: inst_block15: -// CHECK:STDOUT: 0: ir0.inst46 -// CHECK:STDOUT: 1: ir0.inst49 +// CHECK:STDOUT: 0: ir0.inst47 +// CHECK:STDOUT: 1: ir0.inst50 // CHECK:STDOUT: inst_block16: -// CHECK:STDOUT: 0: ir0.inst45 -// CHECK:STDOUT: 1: ir0.inst45 +// CHECK:STDOUT: 0: ir0.inst46 +// CHECK:STDOUT: 1: ir0.inst46 // CHECK:STDOUT: inst_block17: -// CHECK:STDOUT: 0: inst14 -// CHECK:STDOUT: 1: ir0.inst37 +// CHECK:STDOUT: 0: inst15 +// CHECK:STDOUT: 1: ir0.inst38 // 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 12dfeed1c82a9..217a33dc62139 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(.ir4.inst20.loc4_14: type) { +// CHECK:STDOUT: generic class @C(.ir4.inst21.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, .ir4.inst25.loc4_24 [concrete = constants.%C.generic] +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .ir4.inst26.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 31778253cef2c..94b32a68ddb2e 100644 --- a/toolchain/check/testdata/interop/cpp/builtins.carbon +++ b/toolchain/check/testdata/interop/cpp/builtins.carbon @@ -3,6 +3,7 @@ // 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: @@ -50,6 +51,27 @@ library "[[@TEST_NAME]]"; import Cpp inline ""; + +// CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:13: error: name `ImplicitAs` not found [NameNotFound] +// CHECK:STDERR: impl i64 as ImplicitAs(Cpp.long_long) { +// CHECK:STDERR: ^~~~~~~~~~ +// CHECK:STDERR: +impl i64 as ImplicitAs(Cpp.long_long) { + // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+4]]:47: error: unknown builtin function name "i64.convert_checked" [UnknownBuiltinFunctionName] + // CHECK:STDERR: fn Convert[self: Self]() -> Cpp.long_long = "i64.convert_checked"; + // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~ + // CHECK:STDERR: + fn Convert[self: Self]() -> Cpp.long_long = "i64.convert_checked"; +} + +// impl forall [To:! IntLiteral()] IntLiteral() as ImplicitAs(CustomCppLongLongType(To)) { + // fn Convert[self: Self]() -> Int(To) = "int.convert_checked"; +// } + +// impl i64 as Cpp.long_long { + // fn Convert[self: Self]() -> Cpp.long_long = "int.convert_checked"; +// } + fn F() { //@dump-sem-ir-begin // CHECK:STDERR: fail_todo_unsupported_types.carbon:[[@LINE+7]]:25: error: semantics TODO: `Unsupported: builtin type: long double` [SemanticsTodo] @@ -486,8 +508,8 @@ 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: %int_64: Core.IntLiteral = int_value 64 [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] @@ -517,24 +539,24 @@ fn F() { // 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: %int_64.loc36: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %f64.loc36: 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: %bound_method.loc36_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: %bound_method.loc36_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.loc36_47.2(%float) [concrete = constants.%float.d20] +// CHECK:STDOUT: %.loc36_47.1: %f64.d77 = value_of_initializer %Core.FloatLiteral.as.As.impl.Convert.call [concrete = constants.%float.d20] +// CHECK:STDOUT: %.loc36_47.2: %f64.d77 = converted %float, %.loc36_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: %.loc37: type = splice_block %f64.loc37 [concrete = constants.%f64.d77] { +// CHECK:STDOUT: %int_64.loc37: Core.IntLiteral = int_value 64 [concrete = constants.%int_64] +// CHECK:STDOUT: %f64.loc37: 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/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index fd79b7035d572..5a144104ac75e 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -640,12 +640,12 @@ impl i32 as Empty { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .F = %C.F.decl -// CHECK:STDOUT: .x = .ir3.inst35.loc14_7 +// CHECK:STDOUT: .x = .ir3.inst36.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, .ir3.inst35.loc14_7 +// CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, .ir3.inst36.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 7d82e9130ffae..a1bdff98a2430 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 = .ir0.inst44.loc19_5 +// CHECK:STDOUT: .n = .ir0.inst45.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 933ebfc3f0256..541d5cda069dc 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 .ir0.inst341 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .ir0.inst342 [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, .ir0.inst27.loc5_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .ir0.inst28.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 .ir0.inst36.loc5_15 +// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .ir0.inst37.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 .ir2.inst341 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .ir2.inst342 [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, .ir2.inst27.loc5_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .ir2.inst28.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 .ir2.inst36.loc5_15 +// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .ir2.inst37.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(.ir4.inst30.loc4_14: bool) { +// CHECK:STDOUT: generic class @C(.ir4.inst31.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, .ir4.inst36.loc4_24 [concrete = constants.%C.generic] +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .ir4.inst37.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 08bc6a9077fab..4043e99b8198b 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_scope0: {inst: inst14, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope0: {inst: inst15, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: functions: {} // CHECK:STDOUT: classes: {} @@ -48,10 +48,10 @@ // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst14: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst15: {kind: Namespace, arg0: name_scope0, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst14: concrete_constant(inst14) +// CHECK:STDOUT: inst15: concrete_constant(inst15) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -59,7 +59,7 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block4: -// CHECK:STDOUT: 0: inst14 +// CHECK:STDOUT: 0: inst15 // CHECK:STDOUT: ... // CHECK:STDOUT: --- - // CHECK:STDOUT: diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index dc1b38f384771..e178bf3263929 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -819,6 +819,15 @@ static auto BuildTypeForInst(FileContext& /*context*/, return nullptr; } +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::FloatType inst) -> llvm::Type* { return llvm::Type::getFloatingPointTy(context.llvm_context(), 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/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 75ea18203e8e2..a77e2a30654dd 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 {