From 4d4d720ff00da92552b3a80e81c80e08348e3681 Mon Sep 17 00:00:00 2001 From: Boaz Brickner Date: Wed, 29 Oct 2025 10:03:53 +0100 Subject: [PATCH] C++ Interop: Support getting `void*` from C++ functions and passing `void*` it to C++ function (#6279) This defines `Cpp.void` as a custom type. `Cpp.void*` is mapped to C++ `void*`. Not supported yet: Conversions from and to other pointer types. C++ Interop Demo: ```carbon // main.carbon library "Main"; import Core library "io"; import Cpp inline ''' #include auto GetPointer() -> void* _Nonnull { static int x = 8; return &x; } auto GetValue(void* _Nonnull ptr) -> int { return *static_cast(ptr); } '''; fn Run() -> i32 { let ptr: Cpp.void* = Cpp.GetPointer(); Core.Print(Cpp.GetValue(ptr)); return 0; } ``` ```shell $ bazel-bin/toolchain/carbon compile main.carbon $ bazel-bin/toolchain/carbon link main.o --output=demo $ ./demo 8 ``` Part of #6280. --- toolchain/check/cpp/import.cpp | 4 + toolchain/check/cpp/type_mapping.cpp | 35 +- .../basics/raw_sem_ir/builtins.carbon | 10 +- .../basics/raw_sem_ir/cpp_interop.carbon | 414 +-- .../basics/raw_sem_ir/multifile.carbon | 120 +- .../multifile_with_textual_ir.carbon | 120 +- .../basics/raw_sem_ir/one_file.carbon | 3034 ++++++++--------- .../one_file_with_textual_ir.carbon | 236 +- .../if_expr/fail_not_in_function.carbon | 4 +- .../check/testdata/interface/require.carbon | 18 +- .../interop/cpp/function/void_pointer.carbon | 594 ++++ .../testdata/let/compile_time_bindings.carbon | 4 +- .../testdata/let/fail_missing_value.carbon | 2 +- .../fail_and_or_not_in_function.carbon | 16 +- toolchain/check/type_completion.cpp | 7 + toolchain/driver/testdata/stdin.carbon | 8 +- toolchain/lower/file_context.cpp | 2 +- .../lower/testdata/interop/cpp/return.carbon | 3 +- toolchain/sem_ir/expr_info.cpp | 1 + toolchain/sem_ir/inst_kind.def | 1 + toolchain/sem_ir/singleton_insts.h | 22 +- toolchain/sem_ir/stringify.cpp | 4 + toolchain/sem_ir/type_iterator.cpp | 1 + toolchain/sem_ir/typed_insts.h | 15 + 24 files changed, 2673 insertions(+), 2002 deletions(-) create mode 100644 toolchain/check/testdata/interop/cpp/function/void_pointer.carbon diff --git a/toolchain/check/cpp/import.cpp b/toolchain/check/cpp/import.cpp index 78d4cdd66c91..410d76453c0c 100644 --- a/toolchain/check/cpp/import.cpp +++ b/toolchain/check/cpp/import.cpp @@ -1137,6 +1137,9 @@ static auto MapBuiltinType(Context& context, SemIR::LocId loc_id, context.ints().Add(ast_context.getTypeSize(qual_type)))); } // TODO: Handle floating-point types that map to named aliases. + } else if (type.isVoidType()) { + return ExprAsType(context, Parse::NodeId::None, + SemIR::CppVoidType::TypeInstId); } return TypeExpr::None; @@ -2116,6 +2119,7 @@ static auto LookupBuiltinTypes(Context& context, SemIR::LocId loc_id, .Case("float", ast_context.FloatTy) .Case("double", ast_context.DoubleTy) .Case("long_double", ast_context.LongDoubleTy) + .Case("void", ast_context.VoidTy) .Default(clang::QualType()); if (builtin_type.isNull()) { return SemIR::InstId::None; diff --git a/toolchain/check/cpp/type_mapping.cpp b/toolchain/check/cpp/type_mapping.cpp index 2bf26be3a51d..0e6fc052dfc4 100644 --- a/toolchain/check/cpp/type_mapping.cpp +++ b/toolchain/check/cpp/type_mapping.cpp @@ -195,6 +195,33 @@ static auto MapNonWrapperType(Context& context, SemIR::InstId inst_id, } } +// Returns `void*` if the type is a wrapped `Cpp.void*`, consuming the pointer +// from `wrapper_types`. Otherwise returns no type. +static auto TryMapVoidPointer(Context& context, SemIR::TypeId type_id, + llvm::SmallVector& wrapper_types) + -> clang::QualType { + if (type_id != SemIR::CppVoidType::TypeId || wrapper_types.empty()) { + return clang::QualType(); + } + + if (context.types().Is(wrapper_types.back())) { + // `void*`. + wrapper_types.pop_back(); + } else if (wrapper_types.size() >= 2 && + context.types().Is(wrapper_types.back()) && + context.types().Is( + wrapper_types[wrapper_types.size() - 2])) { + // `const void*`. + wrapper_types.erase(wrapper_types.end() - 2); + } else { + return clang::QualType(); + } + + return context.ast_context().getAttributedType( + clang::attr::TypeNonNull, context.ast_context().VoidPtrTy, + context.ast_context().VoidPtrTy); +} + // Maps a Carbon type to a C++ type. Accepts an InstId, representing a value // whose type is mapped to a C++ type. Returns `clang::QualType` if the mapping // succeeds, or `clang::QualType::isNull()` if the type is not supported. @@ -219,9 +246,13 @@ static auto MapToCppType(Context& context, SemIR::InstId inst_id) wrapper_types.push_back(orig_type_id); } - clang::QualType mapped_type = MapNonWrapperType(context, inst_id, type_id); + clang::QualType mapped_type = + TryMapVoidPointer(context, type_id, wrapper_types); if (mapped_type.isNull()) { - return mapped_type; + mapped_type = MapNonWrapperType(context, inst_id, type_id); + if (mapped_type.isNull()) { + return mapped_type; + } } for (auto wrapper_type_id : llvm::reverse(wrapper_types)) { diff --git a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon index 3e0dfca3c281..f595a13a0c4b 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon @@ -20,7 +20,7 @@ // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: {} @@ -42,6 +42,7 @@ // CHECK:STDOUT: 'inst(BoolType)': {kind: BoolType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoundMethodType)': {kind: BoundMethodType, type: type(TypeType)} // CHECK:STDOUT: 'inst(CharLiteralType)': {kind: CharLiteralType, type: type(TypeType)} +// CHECK:STDOUT: 'inst(CppVoidType)': {kind: CppVoidType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ErrorInst)': {kind: ErrorInst, type: type(Error)} // CHECK:STDOUT: 'inst(FloatLiteralType)': {kind: FloatLiteralType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': {kind: ImplWitnessTablePlaceholder, type: type(TypeType)} @@ -51,7 +52,7 @@ // CHECK:STDOUT: 'inst(SpecificFunctionType)': {kind: SpecificFunctionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) @@ -59,6 +60,7 @@ // CHECK:STDOUT: 'inst(BoolType)': concrete_constant(inst(BoolType)) // CHECK:STDOUT: 'inst(BoundMethodType)': concrete_constant(inst(BoundMethodType)) // CHECK:STDOUT: 'inst(CharLiteralType)': concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: 'inst(CppVoidType)': concrete_constant(inst(CppVoidType)) // CHECK:STDOUT: 'inst(ErrorInst)': concrete_constant(inst(ErrorInst)) // CHECK:STDOUT: 'inst(FloatLiteralType)': concrete_constant(inst(FloatLiteralType)) // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': concrete_constant(inst(ImplWitnessTablePlaceholder)) @@ -68,7 +70,7 @@ // CHECK:STDOUT: 'inst(SpecificFunctionType)': concrete_constant(inst(SpecificFunctionType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -76,5 +78,5 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: -// CHECK:STDOUT: 0: inst0000000E +// CHECK:STDOUT: 0: inst0000000F // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon index 6ae6f30a6a89..081c38e4ccc4 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon @@ -43,18 +43,18 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc60000001} // CHECK:STDOUT: import_ir_inst00000002: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc60000002} // CHECK:STDOUT: clang_decls: -// CHECK:STDOUT: clang_decl_id60000000: {key: "", inst_id: inst60000010} -// CHECK:STDOUT: clang_decl_id60000001: {key: "struct X {}", inst_id: inst60000012} -// CHECK:STDOUT: clang_decl_id60000002: {key: "X * _Nonnull p", inst_id: inst60000021} -// CHECK:STDOUT: clang_decl_id60000003: {key: {decl: "void f(X x = {})", num_params: 0}, inst_id: inst6000002C} -// CHECK:STDOUT: clang_decl_id60000004: {key: {decl: "extern void f__carbon_thunk()", num_params: 0}, inst_id: inst6000002F} -// CHECK:STDOUT: clang_decl_id60000005: {key: {decl: "void f(X x = {})", num_params: 1}, inst_id: inst6000003A} -// CHECK:STDOUT: clang_decl_id60000006: {key: {decl: "extern void f__carbon_thunk(X * _Nonnull x)", num_params: 1}, inst_id: inst60000042} -// CHECK:STDOUT: clang_decl_id60000007: {key: "X * _Nonnull global", inst_id: inst6000004B} +// CHECK:STDOUT: clang_decl_id60000000: {key: "", inst_id: inst60000011} +// CHECK:STDOUT: clang_decl_id60000001: {key: "struct X {}", inst_id: inst60000013} +// CHECK:STDOUT: clang_decl_id60000002: {key: "X * _Nonnull p", inst_id: inst60000022} +// CHECK:STDOUT: clang_decl_id60000003: {key: {decl: "void f(X x = {})", num_params: 0}, inst_id: inst6000002D} +// CHECK:STDOUT: clang_decl_id60000004: {key: {decl: "extern void f__carbon_thunk()", num_params: 0}, inst_id: inst60000030} +// CHECK:STDOUT: clang_decl_id60000005: {key: {decl: "void f(X x = {})", num_params: 1}, inst_id: inst6000003B} +// CHECK:STDOUT: clang_decl_id60000006: {key: {decl: "extern void f__carbon_thunk(X * _Nonnull x)", num_params: 1}, inst_id: inst60000043} +// CHECK:STDOUT: clang_decl_id60000007: {key: "X * _Nonnull global", inst_id: inst6000004C} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000010, name00000001: inst6000001B}} -// CHECK:STDOUT: name_scope60000001: {inst: inst60000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000012, name00000004: inst60000029, name00000005: inst6000004B}} -// CHECK:STDOUT: name_scope60000002: {inst: inst60000012, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000011, name00000001: inst6000001C}} +// CHECK:STDOUT: name_scope60000001: {inst: inst60000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000013, name00000004: inst6000002A, name00000005: inst6000004C}} +// CHECK:STDOUT: name_scope60000002: {inst: inst60000013, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name60000000: {name: name00000002, parent_scope: name_scope, index: -1, is_template: 0} // CHECK:STDOUT: entity_name60000001: {name: name00000002, parent_scope: name_scope, index: -1, is_template: 0} @@ -69,15 +69,15 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope60000001, call_params_id: inst_block6000000D} // CHECK:STDOUT: function60000004: {name: name00000007, parent_scope: name_scope60000001, call_params_id: inst_block60000012} // CHECK:STDOUT: classes: -// CHECK:STDOUT: class60000000: {name: name00000003, parent_scope: name_scope60000001, self_type_id: type(inst60000013), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope60000002, body_block_id: inst_block6000000A, adapt_id: inst, base_id: inst, complete_type_witness_id: inst60000024, vtable_decl_id: inst}} +// CHECK:STDOUT: class60000000: {name: name00000003, parent_scope: name_scope60000001, self_type_id: type(inst60000014), inheritance_kind: Base, is_dynamic: 0, scope_id: name_scope60000002, body_block_id: inst_block6000000A, adapt_id: inst, base_id: inst, complete_type_witness_id: inst60000025, vtable_decl_id: inst}} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} // CHECK:STDOUT: struct_type_fields: // CHECK:STDOUT: struct_type_fields00000000: {} // CHECK:STDOUT: struct_type_fields60000001: -// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst6000001F} +// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst60000020} // CHECK:STDOUT: struct_type_fields60000002: -// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst6000001F} +// CHECK:STDOUT: 0: {name_id: name00000006, type_inst_id: inst60000020} // CHECK:STDOUT: types: // CHECK:STDOUT: 'type(TypeType)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(TypeType)} @@ -85,36 +85,37 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst6000001C)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} // CHECK:STDOUT: 'type(inst6000001D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst6000001E)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} // CHECK:STDOUT: 'type(inst(WitnessType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(WitnessType))} -// CHECK:STDOUT: 'type(inst6000001F)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000001F)} -// CHECK:STDOUT: 'type(inst60000023)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000026)} -// CHECK:STDOUT: 'type(inst60000026)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000026)} -// CHECK:STDOUT: 'type(inst60000013)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000026)} -// CHECK:STDOUT: 'type(inst60000028)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst6000002D)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst60000030)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst6000003B)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} -// CHECK:STDOUT: 'type(inst60000043)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001D)} +// CHECK:STDOUT: 'type(inst60000020)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000020)} +// CHECK:STDOUT: 'type(inst60000024)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000027)} +// CHECK:STDOUT: 'type(inst60000027)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000027)} +// CHECK:STDOUT: 'type(inst60000014)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000027)} +// CHECK:STDOUT: 'type(inst60000029)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst6000002E)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst60000031)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst6000003C)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} +// CHECK:STDOUT: 'type(inst60000044)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000001E)} // CHECK:STDOUT: insts: // CHECK:STDOUT: 'inst(TypeType)': {kind: TypeType, type: type(TypeType)} // CHECK:STDOUT: 'inst(AutoType)': {kind: AutoType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoolType)': {kind: BoolType, type: type(TypeType)} // CHECK:STDOUT: 'inst(BoundMethodType)': {kind: BoundMethodType, type: type(TypeType)} // CHECK:STDOUT: 'inst(CharLiteralType)': {kind: CharLiteralType, type: type(TypeType)} +// CHECK:STDOUT: 'inst(CppVoidType)': {kind: CppVoidType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ErrorInst)': {kind: ErrorInst, type: type(Error)} // CHECK:STDOUT: 'inst(FloatLiteralType)': {kind: FloatLiteralType, type: type(TypeType)} // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': {kind: ImplWitnessTablePlaceholder, type: type(TypeType)} @@ -124,79 +125,79 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(SpecificFunctionType)': {kind: SpecificFunctionType, type: type(TypeType)} // CHECK:STDOUT: 'inst(VtableType)': {kind: VtableType, type: type(TypeType)} // CHECK:STDOUT: 'inst(WitnessType)': {kind: WitnessType, type: type(TypeType)} -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: ImportCppDecl} -// CHECK:STDOUT: inst60000010: {kind: Namespace, arg0: name_scope60000001, arg1: inst6000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000011: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000012: {kind: ClassDecl, arg0: class60000000, arg1: inst_block, type: type(TypeType)} -// CHECK:STDOUT: inst60000013: {kind: ClassType, arg0: class60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000014: {kind: NameRef, arg0: name00000003, arg1: inst60000012, type: type(TypeType)} -// CHECK:STDOUT: inst60000015: {kind: ValueBinding, arg0: entity_name60000000, arg1: inst60000019, type: type(inst60000013)} -// CHECK:STDOUT: inst60000016: {kind: PatternType, arg0: inst60000013, type: type(TypeType)} -// CHECK:STDOUT: inst60000017: {kind: ValueBindingPattern, arg0: entity_name60000000, type: type(inst60000016)} -// CHECK:STDOUT: inst60000018: {kind: ValueParamPattern, arg0: inst60000017, arg1: call_param0, type: type(inst60000016)} -// CHECK:STDOUT: inst60000019: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000013)} -// CHECK:STDOUT: inst6000001A: {kind: SpliceBlock, arg0: inst_block60000004, arg1: inst60000014, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block60000008, type: type(inst6000001C)} -// CHECK:STDOUT: inst6000001C: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000001D: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst6000001E: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000001C)} -// CHECK:STDOUT: inst6000001F: {kind: PointerType, arg0: inst60000013, type: type(TypeType)} -// CHECK:STDOUT: inst60000020: {kind: UnboundElementType, arg0: inst60000013, arg1: inst6000001F, type: type(TypeType)} -// CHECK:STDOUT: inst60000021: {kind: FieldDecl, arg0: name00000006, arg1: element0, type: type(inst60000020)} -// CHECK:STDOUT: inst60000022: {kind: CustomLayoutType, arg0: struct_type_fields60000001, arg1: custom_layout60000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000023: {kind: CustomLayoutType, arg0: struct_type_fields60000002, arg1: custom_layout60000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000024: {kind: CompleteTypeWitness, arg0: inst60000022, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: ImportCppDecl} +// CHECK:STDOUT: inst60000011: {kind: Namespace, arg0: name_scope60000001, arg1: inst60000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000012: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000013: {kind: ClassDecl, arg0: class60000000, arg1: inst_block, type: type(TypeType)} +// CHECK:STDOUT: inst60000014: {kind: ClassType, arg0: class60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000015: {kind: NameRef, arg0: name00000003, arg1: inst60000013, type: type(TypeType)} +// CHECK:STDOUT: inst60000016: {kind: ValueBinding, arg0: entity_name60000000, arg1: inst6000001A, type: type(inst60000014)} +// CHECK:STDOUT: inst60000017: {kind: PatternType, arg0: inst60000014, type: type(TypeType)} +// CHECK:STDOUT: inst60000018: {kind: ValueBindingPattern, arg0: entity_name60000000, type: type(inst60000017)} +// CHECK:STDOUT: inst60000019: {kind: ValueParamPattern, arg0: inst60000018, arg1: call_param0, type: type(inst60000017)} +// CHECK:STDOUT: inst6000001A: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000014)} +// CHECK:STDOUT: inst6000001B: {kind: SpliceBlock, arg0: inst_block60000004, arg1: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst6000001C: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block60000008, type: type(inst6000001D)} +// CHECK:STDOUT: inst6000001D: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000001E: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst6000001F: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000001D)} +// CHECK:STDOUT: inst60000020: {kind: PointerType, arg0: inst60000014, type: type(TypeType)} +// CHECK:STDOUT: inst60000021: {kind: UnboundElementType, arg0: inst60000014, arg1: inst60000020, type: type(TypeType)} +// CHECK:STDOUT: inst60000022: {kind: FieldDecl, arg0: name00000006, arg1: element0, type: type(inst60000021)} +// CHECK:STDOUT: inst60000023: {kind: CustomLayoutType, arg0: struct_type_fields60000001, arg1: custom_layout60000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000024: {kind: CustomLayoutType, arg0: struct_type_fields60000002, arg1: custom_layout60000001, type: type(TypeType)} // CHECK:STDOUT: inst60000025: {kind: CompleteTypeWitness, arg0: inst60000023, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000026: {kind: PointerType, arg0: inst60000023, type: type(TypeType)} -// CHECK:STDOUT: inst60000027: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000028: {kind: CppOverloadSetType, arg0: cpp_overload_set60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000029: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002A: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002B: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)} -// CHECK:STDOUT: inst6000002C: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst6000002D)} -// CHECK:STDOUT: inst6000002D: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000002E: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000002D)} -// CHECK:STDOUT: inst6000002F: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(inst60000030)} -// CHECK:STDOUT: inst60000030: {kind: FunctionType, arg0: function60000002, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000031: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000030)} -// CHECK:STDOUT: inst60000032: {kind: Call, arg0: inst6000002F, arg1: inst_block_empty, type: type(inst6000001D)} -// CHECK:STDOUT: inst60000033: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000034: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)} -// CHECK:STDOUT: inst60000035: {kind: NameRef, arg0: name00000002, arg1: inst60000015, type: type(inst60000013)} -// CHECK:STDOUT: inst60000036: {kind: ValueBinding, arg0: entity_name60000001, arg1: inst60000039, type: type(inst60000013)} -// CHECK:STDOUT: inst60000037: {kind: ValueBindingPattern, arg0: entity_name60000001, type: type(inst60000016)} -// CHECK:STDOUT: inst60000038: {kind: ValueParamPattern, arg0: inst60000037, arg1: call_param0, type: type(inst60000016)} -// CHECK:STDOUT: inst60000039: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000013)} -// CHECK:STDOUT: inst6000003A: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block6000000F, type: type(inst6000003B)} -// CHECK:STDOUT: inst6000003B: {kind: FunctionType, arg0: function60000003, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000003C: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003B)} -// CHECK:STDOUT: inst6000003D: {kind: ValueBinding, arg0: entity_name60000002, arg1: inst60000041, type: type(inst6000001F)} -// CHECK:STDOUT: inst6000003E: {kind: PatternType, arg0: inst6000001F, type: type(TypeType)} -// CHECK:STDOUT: inst6000003F: {kind: ValueBindingPattern, arg0: entity_name60000002, type: type(inst6000003E)} -// CHECK:STDOUT: inst60000040: {kind: ValueParamPattern, arg0: inst6000003F, arg1: call_param0, type: type(inst6000003E)} -// CHECK:STDOUT: inst60000041: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000042: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block60000014, type: type(inst60000043)} -// CHECK:STDOUT: inst60000043: {kind: FunctionType, arg0: function60000004, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000044: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000043)} -// CHECK:STDOUT: inst60000045: {kind: ValueAsRef, arg0: inst60000035, type: type(inst60000013)} -// CHECK:STDOUT: inst60000046: {kind: AddrOf, arg0: inst60000045, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000047: {kind: Call, arg0: inst60000042, arg1: inst_block60000016, type: type(inst6000001D)} -// CHECK:STDOUT: inst60000048: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000049: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)} -// CHECK:STDOUT: inst6000004A: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000004B: {kind: VarStorage, arg0: inst6000004D, type: type(inst6000001F)} -// CHECK:STDOUT: inst6000004C: {kind: RefBindingPattern, arg0: entity_name60000003, type: type(inst6000003E)} -// CHECK:STDOUT: inst6000004D: {kind: VarPattern, arg0: inst6000004C, type: type(inst6000003E)} -// CHECK:STDOUT: inst6000004E: {kind: NameBindingDecl, arg0: inst_block60000017} -// CHECK:STDOUT: inst6000004F: {kind: NameRef, arg0: name00000005, arg1: inst6000004B, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000050: {kind: AcquireValue, arg0: inst6000004F, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000051: {kind: Deref, arg0: inst60000050, type: type(inst60000013)} -// CHECK:STDOUT: inst60000052: {kind: AcquireValue, arg0: inst60000051, type: type(inst60000013)} -// CHECK:STDOUT: inst60000053: {kind: ValueAsRef, arg0: inst60000052, type: type(inst60000013)} -// CHECK:STDOUT: inst60000054: {kind: AddrOf, arg0: inst60000053, type: type(inst6000001F)} -// CHECK:STDOUT: inst60000055: {kind: Call, arg0: inst60000042, arg1: inst_block60000019, type: type(inst6000001D)} -// CHECK:STDOUT: inst60000056: {kind: Return} +// CHECK:STDOUT: inst60000026: {kind: CompleteTypeWitness, arg0: inst60000024, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000027: {kind: PointerType, arg0: inst60000024, type: type(TypeType)} +// CHECK:STDOUT: inst60000028: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000029: {kind: CppOverloadSetType, arg0: cpp_overload_set60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000002A: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002B: {kind: CppOverloadSetValue, arg0: cpp_overload_set60000000, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002C: {kind: NameRef, arg0: name00000004, arg1: inst6000002A, type: type(inst60000029)} +// CHECK:STDOUT: inst6000002D: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst6000002E)} +// CHECK:STDOUT: inst6000002E: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000002F: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000002E)} +// CHECK:STDOUT: inst60000030: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(inst60000031)} +// CHECK:STDOUT: inst60000031: {kind: FunctionType, arg0: function60000002, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000032: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000031)} +// CHECK:STDOUT: inst60000033: {kind: Call, arg0: inst60000030, arg1: inst_block_empty, type: type(inst6000001E)} +// CHECK:STDOUT: inst60000034: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000035: {kind: NameRef, arg0: name00000004, arg1: inst6000002A, type: type(inst60000029)} +// CHECK:STDOUT: inst60000036: {kind: NameRef, arg0: name00000002, arg1: inst60000016, type: type(inst60000014)} +// CHECK:STDOUT: inst60000037: {kind: ValueBinding, arg0: entity_name60000001, arg1: inst6000003A, type: type(inst60000014)} +// CHECK:STDOUT: inst60000038: {kind: ValueBindingPattern, arg0: entity_name60000001, type: type(inst60000017)} +// CHECK:STDOUT: inst60000039: {kind: ValueParamPattern, arg0: inst60000038, arg1: call_param0, type: type(inst60000017)} +// CHECK:STDOUT: inst6000003A: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000014)} +// CHECK:STDOUT: inst6000003B: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block6000000F, type: type(inst6000003C)} +// CHECK:STDOUT: inst6000003C: {kind: FunctionType, arg0: function60000003, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000003D: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003C)} +// CHECK:STDOUT: inst6000003E: {kind: ValueBinding, arg0: entity_name60000002, arg1: inst60000042, type: type(inst60000020)} +// CHECK:STDOUT: inst6000003F: {kind: PatternType, arg0: inst60000020, type: type(TypeType)} +// CHECK:STDOUT: inst60000040: {kind: ValueBindingPattern, arg0: entity_name60000002, type: type(inst6000003F)} +// CHECK:STDOUT: inst60000041: {kind: ValueParamPattern, arg0: inst60000040, arg1: call_param0, type: type(inst6000003F)} +// CHECK:STDOUT: inst60000042: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000020)} +// CHECK:STDOUT: inst60000043: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block60000014, type: type(inst60000044)} +// CHECK:STDOUT: inst60000044: {kind: FunctionType, arg0: function60000004, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000045: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000044)} +// CHECK:STDOUT: inst60000046: {kind: ValueAsRef, arg0: inst60000036, type: type(inst60000014)} +// CHECK:STDOUT: inst60000047: {kind: AddrOf, arg0: inst60000046, type: type(inst60000020)} +// CHECK:STDOUT: inst60000048: {kind: Call, arg0: inst60000043, arg1: inst_block60000016, type: type(inst6000001E)} +// CHECK:STDOUT: inst60000049: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst6000004A: {kind: NameRef, arg0: name00000004, arg1: inst6000002A, type: type(inst60000029)} +// CHECK:STDOUT: inst6000004B: {kind: NameRef, arg0: name00000000, arg1: inst60000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst6000004C: {kind: VarStorage, arg0: inst6000004E, type: type(inst60000020)} +// CHECK:STDOUT: inst6000004D: {kind: RefBindingPattern, arg0: entity_name60000003, type: type(inst6000003F)} +// CHECK:STDOUT: inst6000004E: {kind: VarPattern, arg0: inst6000004D, type: type(inst6000003F)} +// CHECK:STDOUT: inst6000004F: {kind: NameBindingDecl, arg0: inst_block60000017} +// CHECK:STDOUT: inst60000050: {kind: NameRef, arg0: name00000005, arg1: inst6000004C, type: type(inst60000020)} +// CHECK:STDOUT: inst60000051: {kind: AcquireValue, arg0: inst60000050, type: type(inst60000020)} +// CHECK:STDOUT: inst60000052: {kind: Deref, arg0: inst60000051, type: type(inst60000014)} +// CHECK:STDOUT: inst60000053: {kind: AcquireValue, arg0: inst60000052, type: type(inst60000014)} +// CHECK:STDOUT: inst60000054: {kind: ValueAsRef, arg0: inst60000053, type: type(inst60000014)} +// CHECK:STDOUT: inst60000055: {kind: AddrOf, arg0: inst60000054, type: type(inst60000020)} +// CHECK:STDOUT: inst60000056: {kind: Call, arg0: inst60000043, arg1: inst_block60000019, type: type(inst6000001E)} +// CHECK:STDOUT: inst60000057: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: // CHECK:STDOUT: 'inst(TypeType)': concrete_constant(inst(TypeType)) @@ -204,6 +205,7 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(BoolType)': concrete_constant(inst(BoolType)) // CHECK:STDOUT: 'inst(BoundMethodType)': concrete_constant(inst(BoundMethodType)) // CHECK:STDOUT: 'inst(CharLiteralType)': concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: 'inst(CppVoidType)': concrete_constant(inst(CppVoidType)) // CHECK:STDOUT: 'inst(ErrorInst)': concrete_constant(inst(ErrorInst)) // CHECK:STDOUT: 'inst(FloatLiteralType)': concrete_constant(inst(FloatLiteralType)) // CHECK:STDOUT: 'inst(ImplWitnessTablePlaceholder)': concrete_constant(inst(ImplWitnessTablePlaceholder)) @@ -213,149 +215,149 @@ fn G(x: Cpp.X) { // CHECK:STDOUT: 'inst(SpecificFunctionType)': concrete_constant(inst(SpecificFunctionType)) // CHECK:STDOUT: 'inst(VtableType)': concrete_constant(inst(VtableType)) // CHECK:STDOUT: 'inst(WitnessType)': concrete_constant(inst(WitnessType)) -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000011: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000012: concrete_constant(inst60000013) -// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) -// CHECK:STDOUT: inst60000014: concrete_constant(inst60000013) -// CHECK:STDOUT: inst60000016: concrete_constant(inst60000016) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000012: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000013: concrete_constant(inst60000014) +// CHECK:STDOUT: inst60000014: concrete_constant(inst60000014) +// CHECK:STDOUT: inst60000015: concrete_constant(inst60000014) // CHECK:STDOUT: inst60000017: concrete_constant(inst60000017) // CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst6000001A: concrete_constant(inst60000013) -// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000001E) -// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000001C) +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001B: concrete_constant(inst60000014) +// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000001F) // CHECK:STDOUT: inst6000001D: concrete_constant(inst6000001D) // CHECK:STDOUT: inst6000001E: concrete_constant(inst6000001E) // CHECK:STDOUT: inst6000001F: concrete_constant(inst6000001F) // CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) // CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) -// CHECK:STDOUT: inst60000022: concrete_constant(inst60000023) -// CHECK:STDOUT: inst60000023: concrete_constant(inst60000023) -// CHECK:STDOUT: inst60000024: concrete_constant(inst60000025) -// CHECK:STDOUT: inst60000025: concrete_constant(inst60000025) +// CHECK:STDOUT: inst60000022: concrete_constant(inst60000022) +// CHECK:STDOUT: inst60000023: concrete_constant(inst60000024) +// CHECK:STDOUT: inst60000024: concrete_constant(inst60000024) +// CHECK:STDOUT: inst60000025: concrete_constant(inst60000026) // CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) -// CHECK:STDOUT: inst60000027: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) -// CHECK:STDOUT: inst60000029: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000002A: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000002B: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002E) -// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002D) +// CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) +// CHECK:STDOUT: inst60000028: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000029: concrete_constant(inst60000029) +// CHECK:STDOUT: inst6000002A: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000002B: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002F) // CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002E) -// CHECK:STDOUT: inst6000002F: concrete_constant(inst60000031) -// CHECK:STDOUT: inst60000030: concrete_constant(inst60000030) +// CHECK:STDOUT: inst6000002F: concrete_constant(inst6000002F) +// CHECK:STDOUT: inst60000030: concrete_constant(inst60000032) // CHECK:STDOUT: inst60000031: concrete_constant(inst60000031) -// CHECK:STDOUT: inst60000033: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000034: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst60000037: concrete_constant(inst60000037) +// CHECK:STDOUT: inst60000032: concrete_constant(inst60000032) +// CHECK:STDOUT: inst60000034: concrete_constant(inst60000011) +// CHECK:STDOUT: inst60000035: concrete_constant(inst6000002B) // CHECK:STDOUT: inst60000038: concrete_constant(inst60000038) -// CHECK:STDOUT: inst6000003A: concrete_constant(inst6000003C) -// CHECK:STDOUT: inst6000003B: concrete_constant(inst6000003B) +// CHECK:STDOUT: inst60000039: concrete_constant(inst60000039) +// CHECK:STDOUT: inst6000003B: concrete_constant(inst6000003D) // CHECK:STDOUT: inst6000003C: concrete_constant(inst6000003C) -// CHECK:STDOUT: inst6000003E: concrete_constant(inst6000003E) +// CHECK:STDOUT: inst6000003D: concrete_constant(inst6000003D) // CHECK:STDOUT: inst6000003F: concrete_constant(inst6000003F) // CHECK:STDOUT: inst60000040: concrete_constant(inst60000040) -// CHECK:STDOUT: inst60000042: concrete_constant(inst60000044) -// CHECK:STDOUT: inst60000043: concrete_constant(inst60000043) +// CHECK:STDOUT: inst60000041: concrete_constant(inst60000041) +// CHECK:STDOUT: inst60000043: concrete_constant(inst60000045) // CHECK:STDOUT: inst60000044: concrete_constant(inst60000044) -// CHECK:STDOUT: inst60000048: concrete_constant(inst60000010) -// CHECK:STDOUT: inst60000049: concrete_constant(inst6000002A) -// CHECK:STDOUT: inst6000004A: concrete_constant(inst60000010) -// CHECK:STDOUT: inst6000004B: concrete_constant(inst6000004B) +// CHECK:STDOUT: inst60000045: concrete_constant(inst60000045) +// CHECK:STDOUT: inst60000049: concrete_constant(inst60000011) +// CHECK:STDOUT: inst6000004A: concrete_constant(inst6000002B) +// CHECK:STDOUT: inst6000004B: concrete_constant(inst60000011) // CHECK:STDOUT: inst6000004C: concrete_constant(inst6000004C) // CHECK:STDOUT: inst6000004D: concrete_constant(inst6000004D) -// CHECK:STDOUT: inst6000004F: concrete_constant(inst6000004B) +// CHECK:STDOUT: inst6000004E: concrete_constant(inst6000004E) +// CHECK:STDOUT: inst60000050: concrete_constant(inst6000004C) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000001B +// CHECK:STDOUT: 0: inst6000001C // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst60000010 -// CHECK:STDOUT: 1: inst60000012 -// CHECK:STDOUT: 2: inst60000029 -// CHECK:STDOUT: 3: inst6000002C -// CHECK:STDOUT: 4: inst6000002F -// CHECK:STDOUT: 5: inst6000003A -// CHECK:STDOUT: 6: inst60000042 -// CHECK:STDOUT: 7: inst6000004E -// CHECK:STDOUT: 8: inst6000004B +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000013 +// CHECK:STDOUT: 2: inst6000002A +// CHECK:STDOUT: 3: inst6000002D +// CHECK:STDOUT: 4: inst60000030 +// CHECK:STDOUT: 5: inst6000003B +// CHECK:STDOUT: 6: inst60000043 +// CHECK:STDOUT: 7: inst6000004F +// CHECK:STDOUT: 8: inst6000004C // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: -// CHECK:STDOUT: 0: inst60000011 -// CHECK:STDOUT: 1: inst60000014 +// CHECK:STDOUT: 0: inst60000012 +// CHECK:STDOUT: 1: inst60000015 // CHECK:STDOUT: inst_block60000005: -// CHECK:STDOUT: 0: inst60000018 +// CHECK:STDOUT: 0: inst60000019 // CHECK:STDOUT: inst_block60000006: -// CHECK:STDOUT: 0: inst60000019 +// CHECK:STDOUT: 0: inst6000001A // CHECK:STDOUT: inst_block60000007: -// CHECK:STDOUT: 0: inst60000017 -// CHECK:STDOUT: 1: inst60000018 +// CHECK:STDOUT: 0: inst60000018 +// CHECK:STDOUT: 1: inst60000019 // CHECK:STDOUT: inst_block60000008: -// CHECK:STDOUT: 0: inst60000019 -// CHECK:STDOUT: 1: inst6000001A -// CHECK:STDOUT: 2: inst60000015 +// CHECK:STDOUT: 0: inst6000001A +// CHECK:STDOUT: 1: inst6000001B +// CHECK:STDOUT: 2: inst60000016 // CHECK:STDOUT: inst_block60000009: -// CHECK:STDOUT: 0: inst60000027 -// CHECK:STDOUT: 1: inst6000002B -// CHECK:STDOUT: 2: inst60000032 -// CHECK:STDOUT: 3: inst60000033 -// CHECK:STDOUT: 4: inst60000034 -// CHECK:STDOUT: 5: inst60000035 -// CHECK:STDOUT: 6: inst60000045 -// CHECK:STDOUT: 7: inst60000046 -// CHECK:STDOUT: 8: inst60000047 -// CHECK:STDOUT: 9: inst60000048 -// CHECK:STDOUT: 10: inst60000049 -// CHECK:STDOUT: 11: inst6000004A -// CHECK:STDOUT: 12: inst6000004F -// CHECK:STDOUT: 13: inst60000050 -// CHECK:STDOUT: 14: inst60000051 -// CHECK:STDOUT: 15: inst60000052 -// CHECK:STDOUT: 16: inst60000053 -// CHECK:STDOUT: 17: inst60000054 -// CHECK:STDOUT: 18: inst60000055 -// CHECK:STDOUT: 19: inst60000056 +// CHECK:STDOUT: 0: inst60000028 +// CHECK:STDOUT: 1: inst6000002C +// CHECK:STDOUT: 2: inst60000033 +// CHECK:STDOUT: 3: inst60000034 +// CHECK:STDOUT: 4: inst60000035 +// CHECK:STDOUT: 5: inst60000036 +// CHECK:STDOUT: 6: inst60000046 +// CHECK:STDOUT: 7: inst60000047 +// CHECK:STDOUT: 8: inst60000048 +// CHECK:STDOUT: 9: inst60000049 +// CHECK:STDOUT: 10: inst6000004A +// CHECK:STDOUT: 11: inst6000004B +// CHECK:STDOUT: 12: inst60000050 +// CHECK:STDOUT: 13: inst60000051 +// CHECK:STDOUT: 14: inst60000052 +// CHECK:STDOUT: 15: inst60000053 +// CHECK:STDOUT: 16: inst60000054 +// CHECK:STDOUT: 17: inst60000055 +// CHECK:STDOUT: 18: inst60000056 +// CHECK:STDOUT: 19: inst60000057 // CHECK:STDOUT: inst_block6000000A: -// CHECK:STDOUT: 0: inst60000021 -// CHECK:STDOUT: 1: inst60000022 -// CHECK:STDOUT: 2: inst60000024 +// CHECK:STDOUT: 0: inst60000022 +// CHECK:STDOUT: 1: inst60000023 +// CHECK:STDOUT: 2: inst60000025 // CHECK:STDOUT: inst_block6000000B: {} // CHECK:STDOUT: inst_block6000000C: -// CHECK:STDOUT: 0: inst60000038 +// CHECK:STDOUT: 0: inst60000039 // CHECK:STDOUT: inst_block6000000D: -// CHECK:STDOUT: 0: inst60000039 +// CHECK:STDOUT: 0: inst6000003A // CHECK:STDOUT: inst_block6000000E: -// CHECK:STDOUT: 0: inst60000037 -// CHECK:STDOUT: 1: inst60000038 +// CHECK:STDOUT: 0: inst60000038 +// CHECK:STDOUT: 1: inst60000039 // CHECK:STDOUT: inst_block6000000F: -// CHECK:STDOUT: 0: inst60000039 -// CHECK:STDOUT: 1: inst60000036 +// CHECK:STDOUT: 0: inst6000003A +// CHECK:STDOUT: 1: inst60000037 // CHECK:STDOUT: inst_block60000010: {} // CHECK:STDOUT: inst_block60000011: -// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 0: inst60000041 // CHECK:STDOUT: inst_block60000012: -// CHECK:STDOUT: 0: inst60000041 +// CHECK:STDOUT: 0: inst60000042 // CHECK:STDOUT: inst_block60000013: -// CHECK:STDOUT: 0: inst6000003F -// CHECK:STDOUT: 1: inst60000040 +// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 1: inst60000041 // CHECK:STDOUT: inst_block60000014: -// CHECK:STDOUT: 0: inst60000041 -// CHECK:STDOUT: 1: inst6000003D +// CHECK:STDOUT: 0: inst60000042 +// CHECK:STDOUT: 1: inst6000003E // CHECK:STDOUT: inst_block60000015: -// CHECK:STDOUT: 0: inst60000035 +// CHECK:STDOUT: 0: inst60000036 // CHECK:STDOUT: inst_block60000016: -// CHECK:STDOUT: 0: inst60000046 +// CHECK:STDOUT: 0: inst60000047 // CHECK:STDOUT: inst_block60000017: -// CHECK:STDOUT: 0: inst6000004C -// CHECK:STDOUT: 1: inst6000004D +// CHECK:STDOUT: 0: inst6000004D +// CHECK:STDOUT: 1: inst6000004E // CHECK:STDOUT: inst_block60000018: -// CHECK:STDOUT: 0: inst60000052 +// CHECK:STDOUT: 0: inst60000053 // CHECK:STDOUT: inst_block60000019: -// CHECK:STDOUT: 0: inst60000054 +// CHECK:STDOUT: 0: inst60000055 // CHECK:STDOUT: inst_block6000001A: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F -// CHECK:STDOUT: 2: inst6000001B +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: 2: inst6000001C // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon index 91e617881fde..885b1f3dccb1 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon @@ -36,7 +36,7 @@ fn B() { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst6000000F}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000010}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: @@ -53,37 +53,37 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst60000010)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} // CHECK:STDOUT: 'type(inst60000011)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} +// CHECK:STDOUT: 'type(inst60000012)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000010: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000013: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000011: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000012: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000014: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst6000000F: concrete_constant(inst60000012) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000013) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) // CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) +// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000000F +// CHECK:STDOUT: 0: inst60000010 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: {} // CHECK:STDOUT: inst_block60000005: -// CHECK:STDOUT: 0: inst60000013 +// CHECK:STDOUT: 0: inst60000014 // CHECK:STDOUT: inst_block60000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: ... // CHECK:STDOUT: --- // CHECK:STDOUT: filename: b.carbon @@ -91,14 +91,14 @@ fn B() { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir50000002: {decl_id: inst5000000F, is_export: false} +// CHECK:STDOUT: import_ir50000002: {decl_id: inst50000010, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir50000002, inst_id: inst6000000F} -// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir50000002, inst_id: inst6000000F} +// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir50000002, inst_id: inst60000010} +// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir50000002, inst_id: inst60000010} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}} -// CHECK:STDOUT: name_scope50000001: {inst: inst50000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000016}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000011, name00000000: inst50000012}} +// CHECK:STDOUT: name_scope50000001: {inst: inst50000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000017}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name50000000: {name: name00000001, parent_scope: name_scope50000001, index: -1, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} @@ -117,58 +117,58 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst50000012)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} // CHECK:STDOUT: 'type(inst50000013)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} +// CHECK:STDOUT: 'type(inst50000014)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst5000000F: {kind: ImportDecl, arg0: name00000001} -// CHECK:STDOUT: inst50000010: {kind: Namespace, arg0: name_scope50000001, arg1: inst5000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000011: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000012: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000015: {kind: NameRef, arg0: name00000001, arg1: inst50000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000016: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name50000000, type: type(inst50000018)} -// CHECK:STDOUT: inst50000017: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst50000018: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000019: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001A: {kind: NameRef, arg0: name00000001, arg1: inst50000016, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001B: {kind: Call, arg0: inst5000001A, arg1: inst_block_empty, type: type(inst50000013)} -// CHECK:STDOUT: inst5000001C: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name00000001} +// CHECK:STDOUT: inst50000011: {kind: Namespace, arg0: name_scope50000001, arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000012: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000013: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000015: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000016: {kind: NameRef, arg0: name00000001, arg1: inst50000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000017: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name50000000, type: type(inst50000019)} +// CHECK:STDOUT: inst50000018: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst50000019: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000001A: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001B: {kind: NameRef, arg0: name00000001, arg1: inst50000017, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001C: {kind: Call, arg0: inst5000001B, arg1: inst_block_empty, type: type(inst50000014)} +// CHECK:STDOUT: inst5000001D: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000012: concrete_constant(inst50000015) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) // CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000015: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000016: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) +// CHECK:STDOUT: inst50000015: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000017: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst50000018: concrete_constant(inst5000001A) // CHECK:STDOUT: inst50000019: concrete_constant(inst50000019) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst50000019) +// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001A) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 0: inst50000012 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst50000010 -// CHECK:STDOUT: 1: inst50000016 -// CHECK:STDOUT: 2: inst50000017 +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000017 +// CHECK:STDOUT: 2: inst50000018 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block50000004: {} // CHECK:STDOUT: inst_block50000005: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: 1: inst5000001A -// CHECK:STDOUT: 2: inst5000001B -// CHECK:STDOUT: 3: inst5000001C +// CHECK:STDOUT: 0: inst50000016 +// CHECK:STDOUT: 1: inst5000001B +// CHECK:STDOUT: 2: inst5000001C +// CHECK:STDOUT: 3: inst5000001D // CHECK:STDOUT: inst_block50000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst5000000F -// CHECK:STDOUT: 2: inst50000011 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst50000010 +// CHECK:STDOUT: 2: inst50000012 // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon index e1f64011a905..bc3f4def7bc8 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon @@ -36,7 +36,7 @@ fn B() { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst6000000F}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000010}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: @@ -53,37 +53,37 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst60000010)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} // CHECK:STDOUT: 'type(inst60000011)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000011)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} +// CHECK:STDOUT: 'type(inst60000012)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000012)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000010: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000011: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000010)} -// CHECK:STDOUT: inst60000013: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000011: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000012: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000011)} +// CHECK:STDOUT: inst60000014: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst6000000F: concrete_constant(inst60000012) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000013) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) // CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) +// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst6000000F +// CHECK:STDOUT: 0: inst60000010 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: {} // CHECK:STDOUT: inst_block60000005: -// CHECK:STDOUT: 0: inst60000013 +// CHECK:STDOUT: 0: inst60000014 // CHECK:STDOUT: inst_block60000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: ... // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: @@ -110,14 +110,14 @@ fn B() { // CHECK:STDOUT: import_irs: // CHECK:STDOUT: 'import_ir(ApiForImpl)': {decl_id: inst, is_export: false} // CHECK:STDOUT: 'import_ir(Cpp)': {decl_id: inst, is_export: false} -// CHECK:STDOUT: import_ir50000002: {decl_id: inst5000000F, is_export: false} +// CHECK:STDOUT: import_ir50000002: {decl_id: inst50000010, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir50000002, inst_id: inst6000000F} -// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir50000002, inst_id: inst6000000F} +// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir50000002, inst_id: inst60000010} +// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir50000002, inst_id: inst60000010} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}} -// CHECK:STDOUT: name_scope50000001: {inst: inst50000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000016}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000001: inst50000011, name00000000: inst50000012}} +// CHECK:STDOUT: name_scope50000001: {inst: inst50000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000001: inst50000017}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name50000000: {name: name00000001, parent_scope: name_scope50000001, index: -1, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} @@ -136,60 +136,60 @@ fn B() { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst50000012)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} // CHECK:STDOUT: 'type(inst50000013)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000013)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} +// CHECK:STDOUT: 'type(inst50000014)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst50000014)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst5000000F: {kind: ImportDecl, arg0: name00000001} -// CHECK:STDOUT: inst50000010: {kind: Namespace, arg0: name_scope50000001, arg1: inst5000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000011: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000012: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000013: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst50000014: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000012)} -// CHECK:STDOUT: inst50000015: {kind: NameRef, arg0: name00000001, arg1: inst50000010, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst50000016: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name50000000, type: type(inst50000018)} -// CHECK:STDOUT: inst50000017: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst50000018: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst50000019: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001A: {kind: NameRef, arg0: name00000001, arg1: inst50000016, type: type(inst50000018)} -// CHECK:STDOUT: inst5000001B: {kind: Call, arg0: inst5000001A, arg1: inst_block_empty, type: type(inst50000013)} -// CHECK:STDOUT: inst5000001C: {kind: Return} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000010: {kind: ImportDecl, arg0: name00000001} +// CHECK:STDOUT: inst50000011: {kind: Namespace, arg0: name_scope50000001, arg1: inst50000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000012: {kind: FunctionDecl, arg0: function50000000, arg1: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000013: {kind: FunctionType, arg0: function50000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst50000014: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst50000015: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000013)} +// CHECK:STDOUT: inst50000016: {kind: NameRef, arg0: name00000001, arg1: inst50000011, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst50000017: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name50000000, type: type(inst50000019)} +// CHECK:STDOUT: inst50000018: {kind: FunctionDecl, arg0: function50000001, arg1: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst50000019: {kind: FunctionType, arg0: function50000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst5000001A: {kind: StructValue, arg0: inst_block_empty, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001B: {kind: NameRef, arg0: name00000001, arg1: inst50000017, type: type(inst50000019)} +// CHECK:STDOUT: inst5000001C: {kind: Call, arg0: inst5000001B, arg1: inst_block_empty, type: type(inst50000014)} +// CHECK:STDOUT: inst5000001D: {kind: Return} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst50000010: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000011: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000012: concrete_constant(inst50000012) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst50000011: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000012: concrete_constant(inst50000015) // CHECK:STDOUT: inst50000013: concrete_constant(inst50000013) // CHECK:STDOUT: inst50000014: concrete_constant(inst50000014) -// CHECK:STDOUT: inst50000015: concrete_constant(inst50000010) -// CHECK:STDOUT: inst50000016: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000017: concrete_constant(inst50000019) -// CHECK:STDOUT: inst50000018: concrete_constant(inst50000018) +// CHECK:STDOUT: inst50000015: concrete_constant(inst50000015) +// CHECK:STDOUT: inst50000016: concrete_constant(inst50000011) +// CHECK:STDOUT: inst50000017: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst50000018: concrete_constant(inst5000001A) // CHECK:STDOUT: inst50000019: concrete_constant(inst50000019) -// CHECK:STDOUT: inst5000001A: concrete_constant(inst50000019) +// CHECK:STDOUT: inst5000001A: concrete_constant(inst5000001A) +// CHECK:STDOUT: inst5000001B: concrete_constant(inst5000001A) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 0: inst50000012 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst50000010 -// CHECK:STDOUT: 1: inst50000016 -// CHECK:STDOUT: 2: inst50000017 +// CHECK:STDOUT: 0: inst50000011 +// CHECK:STDOUT: 1: inst50000017 +// CHECK:STDOUT: 2: inst50000018 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block50000004: {} // CHECK:STDOUT: inst_block50000005: -// CHECK:STDOUT: 0: inst50000015 -// CHECK:STDOUT: 1: inst5000001A -// CHECK:STDOUT: 2: inst5000001B -// CHECK:STDOUT: 3: inst5000001C +// CHECK:STDOUT: 0: inst50000016 +// CHECK:STDOUT: 1: inst5000001B +// CHECK:STDOUT: 2: inst5000001C +// CHECK:STDOUT: 3: inst5000001D // CHECK:STDOUT: inst_block50000006: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst5000000F -// CHECK:STDOUT: 2: inst50000011 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst50000010 +// CHECK:STDOUT: 2: inst50000012 // CHECK:STDOUT: ... // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon index d7bac6f5158f..970c8d19189e 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_ir60000002: {decl_id: inst6000000F, is_export: false} -// CHECK:STDOUT: import_ir60000003: {decl_id: inst6000000F, is_export: false} -// CHECK:STDOUT: import_ir60000004: {decl_id: inst6000000F, is_export: false} -// CHECK:STDOUT: import_ir60000005: {decl_id: inst6000000F, is_export: false} +// CHECK:STDOUT: import_ir60000002: {decl_id: inst60000010, is_export: false} +// CHECK:STDOUT: import_ir60000003: {decl_id: inst60000010, is_export: false} +// CHECK:STDOUT: import_ir60000004: {decl_id: inst60000010, is_export: false} +// CHECK:STDOUT: import_ir60000005: {decl_id: inst60000010, is_export: false} // CHECK:STDOUT: import_ir_insts: -// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir60000004, inst_id: inst4800000F} -// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir60000004, inst_id: inst4800000F} -// CHECK:STDOUT: import_ir_inst00000002: {ir_id: import_ir60000004, inst_id: inst48000011} -// CHECK:STDOUT: import_ir_inst00000003: {ir_id: import_ir60000004, inst_id: inst4800002D} -// CHECK:STDOUT: import_ir_inst00000004: {ir_id: import_ir60000004, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_inst00000005: {ir_id: import_ir60000004, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_inst00000006: {ir_id: import_ir60000004, inst_id: inst48000028} -// CHECK:STDOUT: import_ir_inst00000007: {ir_id: import_ir60000004, inst_id: inst48000022} -// CHECK:STDOUT: import_ir_inst00000008: {ir_id: import_ir60000004, inst_id: inst48000023} -// CHECK:STDOUT: import_ir_inst00000009: {ir_id: import_ir60000004, inst_id: inst4800001C} -// CHECK:STDOUT: import_ir_inst0000000A: {ir_id: import_ir60000004, inst_id: inst4800001E} -// CHECK:STDOUT: import_ir_inst0000000B: {ir_id: import_ir60000004, inst_id: inst48000011} -// CHECK:STDOUT: import_ir_inst0000000C: {ir_id: import_ir60000004, inst_id: inst48000015} -// CHECK:STDOUT: import_ir_inst0000000D: {ir_id: import_ir60000004, inst_id: inst48000018} -// CHECK:STDOUT: import_ir_inst0000000E: {ir_id: import_ir60000004, inst_id: inst4800001D} -// CHECK:STDOUT: import_ir_inst0000000F: {ir_id: import_ir60000004, inst_id: inst48000061} -// CHECK:STDOUT: import_ir_inst00000010: {ir_id: import_ir60000004, inst_id: inst4800005F} -// CHECK:STDOUT: import_ir_inst00000011: {ir_id: import_ir60000004, inst_id: inst48000054} -// CHECK:STDOUT: import_ir_inst00000012: {ir_id: import_ir60000004, inst_id: inst48000050} -// CHECK:STDOUT: import_ir_inst00000013: {ir_id: import_ir60000004, inst_id: inst4800005A} -// CHECK:STDOUT: import_ir_inst00000014: {ir_id: import_ir60000004, inst_id: inst4800005D} -// CHECK:STDOUT: import_ir_inst00000015: {ir_id: import_ir60000004, inst_id: inst48000075} -// CHECK:STDOUT: import_ir_inst00000016: {ir_id: import_ir60000004, inst_id: inst48000060} -// CHECK:STDOUT: import_ir_inst00000017: {ir_id: import_ir60000004, inst_id: inst48000052} -// CHECK:STDOUT: import_ir_inst00000018: {ir_id: import_ir60000004, inst_id: inst48000058} -// CHECK:STDOUT: import_ir_inst00000019: {ir_id: import_ir60000004, inst_id: inst4800005C} -// CHECK:STDOUT: import_ir_inst0000001A: {ir_id: import_ir60000004, inst_id: inst48000063} -// CHECK:STDOUT: import_ir_inst0000001B: {ir_id: import_ir60000004, inst_id: inst48000075} -// CHECK:STDOUT: import_ir_inst0000001C: {ir_id: import_ir60000004, inst_id: inst48000070} -// CHECK:STDOUT: import_ir_inst0000001D: {ir_id: import_ir60000004, inst_id: inst48000071} -// CHECK:STDOUT: import_ir_inst0000001E: {ir_id: import_ir60000004, inst_id: inst4800006C} -// CHECK:STDOUT: import_ir_inst0000001F: {ir_id: import_ir60000004, inst_id: inst4800006E} -// CHECK:STDOUT: import_ir_inst00000020: {ir_id: import_ir60000004, inst_id: inst48000050} -// CHECK:STDOUT: import_ir_inst00000021: {ir_id: import_ir60000004, inst_id: inst48000078} -// CHECK:STDOUT: import_ir_inst00000022: {ir_id: import_ir60000004, inst_id: inst48000079} -// CHECK:STDOUT: import_ir_inst00000023: {ir_id: import_ir60000004, inst_id: inst48000067} -// CHECK:STDOUT: import_ir_inst00000024: {ir_id: import_ir60000004, inst_id: inst48000068} -// CHECK:STDOUT: import_ir_inst00000025: {ir_id: import_ir60000004, inst_id: inst48000069} -// CHECK:STDOUT: import_ir_inst00000026: {ir_id: import_ir60000004, inst_id: inst4800006D} -// CHECK:STDOUT: import_ir_inst00000027: {ir_id: import_ir60000004, inst_id: inst4800007D} -// CHECK:STDOUT: import_ir_inst00000028: {ir_id: import_ir60000004, inst_id: inst48000085} -// CHECK:STDOUT: import_ir_inst00000029: {ir_id: import_ir60000004, inst_id: inst4800008C} -// CHECK:STDOUT: import_ir_inst0000002A: {ir_id: import_ir60000004, inst_id: inst48000090} -// CHECK:STDOUT: import_ir_inst0000002B: {ir_id: import_ir60000004, inst_id: inst48000091} -// CHECK:STDOUT: import_ir_inst0000002C: {ir_id: import_ir60000004, inst_id: inst48000096} -// CHECK:STDOUT: import_ir_inst0000002D: {ir_id: import_ir60000004, inst_id: inst480000AB} -// CHECK:STDOUT: import_ir_inst0000002E: {ir_id: import_ir60000004, inst_id: inst480000A9} -// CHECK:STDOUT: import_ir_inst0000002F: {ir_id: import_ir60000004, inst_id: inst480000A7} -// CHECK:STDOUT: import_ir_inst00000030: {ir_id: import_ir60000004, inst_id: inst480000A8} -// CHECK:STDOUT: import_ir_inst00000031: {ir_id: import_ir60000004, inst_id: inst480000C3} -// CHECK:STDOUT: import_ir_inst00000032: {ir_id: import_ir60000004, inst_id: inst480000C1} -// CHECK:STDOUT: import_ir_inst00000033: {ir_id: import_ir60000004, inst_id: inst480000BF} -// CHECK:STDOUT: import_ir_inst00000034: {ir_id: import_ir60000004, inst_id: inst480000C0} -// CHECK:STDOUT: import_ir_inst00000035: {ir_id: import_ir60000004, inst_id: inst480000DB} -// CHECK:STDOUT: import_ir_inst00000036: {ir_id: import_ir60000004, inst_id: inst480000D9} -// CHECK:STDOUT: import_ir_inst00000037: {ir_id: import_ir60000004, inst_id: inst480000D7} -// CHECK:STDOUT: import_ir_inst00000038: {ir_id: import_ir60000004, inst_id: inst480000D8} -// CHECK:STDOUT: import_ir_inst00000039: {ir_id: import_ir60000004, inst_id: inst480000F3} -// CHECK:STDOUT: import_ir_inst0000003A: {ir_id: import_ir60000004, inst_id: inst480000F1} -// CHECK:STDOUT: import_ir_inst0000003B: {ir_id: import_ir60000004, inst_id: inst480000EF} -// CHECK:STDOUT: import_ir_inst0000003C: {ir_id: import_ir60000004, inst_id: inst480000F0} -// CHECK:STDOUT: import_ir_inst0000003D: {ir_id: import_ir60000004, inst_id: inst48000110} -// CHECK:STDOUT: import_ir_inst0000003E: {ir_id: import_ir60000004, inst_id: inst4800010E} -// CHECK:STDOUT: import_ir_inst0000003F: {ir_id: import_ir60000004, inst_id: inst48000108} -// CHECK:STDOUT: import_ir_inst00000040: {ir_id: import_ir60000004, inst_id: inst48000105} -// CHECK:STDOUT: import_ir_inst00000041: {ir_id: import_ir60000004, inst_id: inst4800010A} -// CHECK:STDOUT: import_ir_inst00000042: {ir_id: import_ir60000004, inst_id: inst4800010D} -// CHECK:STDOUT: import_ir_inst00000043: {ir_id: import_ir60000004, inst_id: inst48000121} -// CHECK:STDOUT: import_ir_inst00000044: {ir_id: import_ir60000004, inst_id: inst4800010F} -// CHECK:STDOUT: import_ir_inst00000045: {ir_id: import_ir60000004, inst_id: inst48000107} -// CHECK:STDOUT: import_ir_inst00000046: {ir_id: import_ir60000004, inst_id: inst4800010C} -// CHECK:STDOUT: import_ir_inst00000047: {ir_id: import_ir60000004, inst_id: inst48000112} -// CHECK:STDOUT: import_ir_inst00000048: {ir_id: import_ir60000004, inst_id: inst48000121} -// CHECK:STDOUT: import_ir_inst00000049: {ir_id: import_ir60000004, inst_id: inst4800011C} -// CHECK:STDOUT: import_ir_inst0000004A: {ir_id: import_ir60000004, inst_id: inst4800011D} -// CHECK:STDOUT: import_ir_inst0000004B: {ir_id: import_ir60000004, inst_id: inst48000118} -// CHECK:STDOUT: import_ir_inst0000004C: {ir_id: import_ir60000004, inst_id: inst4800011A} -// CHECK:STDOUT: import_ir_inst0000004D: {ir_id: import_ir60000004, inst_id: inst48000105} -// CHECK:STDOUT: import_ir_inst0000004E: {ir_id: import_ir60000004, inst_id: inst48000124} -// CHECK:STDOUT: import_ir_inst0000004F: {ir_id: import_ir60000004, inst_id: inst48000125} -// CHECK:STDOUT: import_ir_inst00000050: {ir_id: import_ir60000004, inst_id: inst48000128} -// CHECK:STDOUT: import_ir_inst00000051: {ir_id: import_ir60000004, inst_id: inst48000114} -// CHECK:STDOUT: import_ir_inst00000052: {ir_id: import_ir60000004, inst_id: inst48000115} -// CHECK:STDOUT: import_ir_inst00000053: {ir_id: import_ir60000004, inst_id: inst48000119} -// CHECK:STDOUT: import_ir_inst00000054: {ir_id: import_ir60000004, inst_id: inst4800012E} -// CHECK:STDOUT: import_ir_inst00000055: {ir_id: import_ir60000004, inst_id: inst4800012C} +// CHECK:STDOUT: import_ir_inst00000000: {ir_id: import_ir60000004, inst_id: inst48000010} +// CHECK:STDOUT: import_ir_inst00000001: {ir_id: import_ir60000004, inst_id: inst48000010} +// CHECK:STDOUT: import_ir_inst00000002: {ir_id: import_ir60000004, inst_id: inst48000012} +// CHECK:STDOUT: import_ir_inst00000003: {ir_id: import_ir60000004, inst_id: inst4800002E} +// CHECK:STDOUT: import_ir_inst00000004: {ir_id: import_ir60000004, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst00000005: {ir_id: import_ir60000004, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst00000006: {ir_id: import_ir60000004, inst_id: inst48000029} +// CHECK:STDOUT: import_ir_inst00000007: {ir_id: import_ir60000004, inst_id: inst48000023} +// CHECK:STDOUT: import_ir_inst00000008: {ir_id: import_ir60000004, inst_id: inst48000024} +// CHECK:STDOUT: import_ir_inst00000009: {ir_id: import_ir60000004, inst_id: inst4800001D} +// CHECK:STDOUT: import_ir_inst0000000A: {ir_id: import_ir60000004, inst_id: inst4800001F} +// CHECK:STDOUT: import_ir_inst0000000B: {ir_id: import_ir60000004, inst_id: inst48000012} +// CHECK:STDOUT: import_ir_inst0000000C: {ir_id: import_ir60000004, inst_id: inst48000016} +// CHECK:STDOUT: import_ir_inst0000000D: {ir_id: import_ir60000004, inst_id: inst48000019} +// CHECK:STDOUT: import_ir_inst0000000E: {ir_id: import_ir60000004, inst_id: inst4800001E} +// CHECK:STDOUT: import_ir_inst0000000F: {ir_id: import_ir60000004, inst_id: inst48000062} +// CHECK:STDOUT: import_ir_inst00000010: {ir_id: import_ir60000004, inst_id: inst48000060} +// CHECK:STDOUT: import_ir_inst00000011: {ir_id: import_ir60000004, inst_id: inst48000055} +// CHECK:STDOUT: import_ir_inst00000012: {ir_id: import_ir60000004, inst_id: inst48000051} +// CHECK:STDOUT: import_ir_inst00000013: {ir_id: import_ir60000004, inst_id: inst4800005B} +// CHECK:STDOUT: import_ir_inst00000014: {ir_id: import_ir60000004, inst_id: inst4800005E} +// CHECK:STDOUT: import_ir_inst00000015: {ir_id: import_ir60000004, inst_id: inst48000076} +// CHECK:STDOUT: import_ir_inst00000016: {ir_id: import_ir60000004, inst_id: inst48000061} +// CHECK:STDOUT: import_ir_inst00000017: {ir_id: import_ir60000004, inst_id: inst48000053} +// CHECK:STDOUT: import_ir_inst00000018: {ir_id: import_ir60000004, inst_id: inst48000059} +// CHECK:STDOUT: import_ir_inst00000019: {ir_id: import_ir60000004, inst_id: inst4800005D} +// CHECK:STDOUT: import_ir_inst0000001A: {ir_id: import_ir60000004, inst_id: inst48000064} +// CHECK:STDOUT: import_ir_inst0000001B: {ir_id: import_ir60000004, inst_id: inst48000076} +// CHECK:STDOUT: import_ir_inst0000001C: {ir_id: import_ir60000004, inst_id: inst48000071} +// CHECK:STDOUT: import_ir_inst0000001D: {ir_id: import_ir60000004, inst_id: inst48000072} +// CHECK:STDOUT: import_ir_inst0000001E: {ir_id: import_ir60000004, inst_id: inst4800006D} +// CHECK:STDOUT: import_ir_inst0000001F: {ir_id: import_ir60000004, inst_id: inst4800006F} +// CHECK:STDOUT: import_ir_inst00000020: {ir_id: import_ir60000004, inst_id: inst48000051} +// CHECK:STDOUT: import_ir_inst00000021: {ir_id: import_ir60000004, inst_id: inst48000079} +// CHECK:STDOUT: import_ir_inst00000022: {ir_id: import_ir60000004, inst_id: inst4800007A} +// CHECK:STDOUT: import_ir_inst00000023: {ir_id: import_ir60000004, inst_id: inst48000068} +// CHECK:STDOUT: import_ir_inst00000024: {ir_id: import_ir60000004, inst_id: inst48000069} +// CHECK:STDOUT: import_ir_inst00000025: {ir_id: import_ir60000004, inst_id: inst4800006A} +// CHECK:STDOUT: import_ir_inst00000026: {ir_id: import_ir60000004, inst_id: inst4800006E} +// CHECK:STDOUT: import_ir_inst00000027: {ir_id: import_ir60000004, inst_id: inst4800007E} +// CHECK:STDOUT: import_ir_inst00000028: {ir_id: import_ir60000004, inst_id: inst48000086} +// CHECK:STDOUT: import_ir_inst00000029: {ir_id: import_ir60000004, inst_id: inst4800008D} +// CHECK:STDOUT: import_ir_inst0000002A: {ir_id: import_ir60000004, inst_id: inst48000091} +// CHECK:STDOUT: import_ir_inst0000002B: {ir_id: import_ir60000004, inst_id: inst48000092} +// CHECK:STDOUT: import_ir_inst0000002C: {ir_id: import_ir60000004, inst_id: inst48000097} +// CHECK:STDOUT: import_ir_inst0000002D: {ir_id: import_ir60000004, inst_id: inst480000AC} +// CHECK:STDOUT: import_ir_inst0000002E: {ir_id: import_ir60000004, inst_id: inst480000AA} +// CHECK:STDOUT: import_ir_inst0000002F: {ir_id: import_ir60000004, inst_id: inst480000A8} +// CHECK:STDOUT: import_ir_inst00000030: {ir_id: import_ir60000004, inst_id: inst480000A9} +// CHECK:STDOUT: import_ir_inst00000031: {ir_id: import_ir60000004, inst_id: inst480000C4} +// CHECK:STDOUT: import_ir_inst00000032: {ir_id: import_ir60000004, inst_id: inst480000C2} +// CHECK:STDOUT: import_ir_inst00000033: {ir_id: import_ir60000004, inst_id: inst480000C0} +// CHECK:STDOUT: import_ir_inst00000034: {ir_id: import_ir60000004, inst_id: inst480000C1} +// CHECK:STDOUT: import_ir_inst00000035: {ir_id: import_ir60000004, inst_id: inst480000DC} +// CHECK:STDOUT: import_ir_inst00000036: {ir_id: import_ir60000004, inst_id: inst480000DA} +// CHECK:STDOUT: import_ir_inst00000037: {ir_id: import_ir60000004, inst_id: inst480000D8} +// CHECK:STDOUT: import_ir_inst00000038: {ir_id: import_ir60000004, inst_id: inst480000D9} +// CHECK:STDOUT: import_ir_inst00000039: {ir_id: import_ir60000004, inst_id: inst480000F4} +// CHECK:STDOUT: import_ir_inst0000003A: {ir_id: import_ir60000004, inst_id: inst480000F2} +// CHECK:STDOUT: import_ir_inst0000003B: {ir_id: import_ir60000004, inst_id: inst480000F0} +// CHECK:STDOUT: import_ir_inst0000003C: {ir_id: import_ir60000004, inst_id: inst480000F1} +// CHECK:STDOUT: import_ir_inst0000003D: {ir_id: import_ir60000004, inst_id: inst48000111} +// CHECK:STDOUT: import_ir_inst0000003E: {ir_id: import_ir60000004, inst_id: inst4800010F} +// CHECK:STDOUT: import_ir_inst0000003F: {ir_id: import_ir60000004, inst_id: inst48000109} +// CHECK:STDOUT: import_ir_inst00000040: {ir_id: import_ir60000004, inst_id: inst48000106} +// CHECK:STDOUT: import_ir_inst00000041: {ir_id: import_ir60000004, inst_id: inst4800010B} +// CHECK:STDOUT: import_ir_inst00000042: {ir_id: import_ir60000004, inst_id: inst4800010E} +// CHECK:STDOUT: import_ir_inst00000043: {ir_id: import_ir60000004, inst_id: inst48000122} +// CHECK:STDOUT: import_ir_inst00000044: {ir_id: import_ir60000004, inst_id: inst48000110} +// CHECK:STDOUT: import_ir_inst00000045: {ir_id: import_ir60000004, inst_id: inst48000108} +// CHECK:STDOUT: import_ir_inst00000046: {ir_id: import_ir60000004, inst_id: inst4800010D} +// CHECK:STDOUT: import_ir_inst00000047: {ir_id: import_ir60000004, inst_id: inst48000113} +// CHECK:STDOUT: import_ir_inst00000048: {ir_id: import_ir60000004, inst_id: inst48000122} +// CHECK:STDOUT: import_ir_inst00000049: {ir_id: import_ir60000004, inst_id: inst4800011D} +// CHECK:STDOUT: import_ir_inst0000004A: {ir_id: import_ir60000004, inst_id: inst4800011E} +// CHECK:STDOUT: import_ir_inst0000004B: {ir_id: import_ir60000004, inst_id: inst48000119} +// CHECK:STDOUT: import_ir_inst0000004C: {ir_id: import_ir60000004, inst_id: inst4800011B} +// CHECK:STDOUT: import_ir_inst0000004D: {ir_id: import_ir60000004, inst_id: inst48000106} +// CHECK:STDOUT: import_ir_inst0000004E: {ir_id: import_ir60000004, inst_id: inst48000125} +// CHECK:STDOUT: import_ir_inst0000004F: {ir_id: import_ir60000004, inst_id: inst48000126} +// CHECK:STDOUT: import_ir_inst00000050: {ir_id: import_ir60000004, inst_id: inst48000129} +// CHECK:STDOUT: import_ir_inst00000051: {ir_id: import_ir60000004, inst_id: inst48000115} +// CHECK:STDOUT: import_ir_inst00000052: {ir_id: import_ir60000004, inst_id: inst48000116} +// CHECK:STDOUT: import_ir_inst00000053: {ir_id: import_ir60000004, inst_id: inst4800011A} +// CHECK:STDOUT: import_ir_inst00000054: {ir_id: import_ir60000004, inst_id: inst4800012F} +// CHECK:STDOUT: import_ir_inst00000055: {ir_id: import_ir60000004, inst_id: inst4800012D} // CHECK:STDOUT: import_ir_inst00000056: {ir_id: import_ir60000004, inst_id: inst(TypeType)} -// CHECK:STDOUT: import_ir_inst00000057: {ir_id: import_ir60000004, inst_id: inst4800012B} -// CHECK:STDOUT: import_ir_inst00000058: {ir_id: import_ir60000004, inst_id: inst48000143} -// CHECK:STDOUT: import_ir_inst00000059: {ir_id: import_ir60000004, inst_id: inst48000141} -// CHECK:STDOUT: import_ir_inst0000005A: {ir_id: import_ir60000004, inst_id: inst4800013F} -// CHECK:STDOUT: import_ir_inst0000005B: {ir_id: import_ir60000004, inst_id: inst48000140} -// CHECK:STDOUT: import_ir_inst0000005C: {ir_id: import_ir60000004, inst_id: inst48000173} -// CHECK:STDOUT: import_ir_inst0000005D: {ir_id: import_ir60000004, inst_id: inst48000171} -// CHECK:STDOUT: import_ir_inst0000005E: {ir_id: import_ir60000004, inst_id: inst4800015E} -// CHECK:STDOUT: import_ir_inst0000005F: {ir_id: import_ir60000004, inst_id: inst48000158} -// CHECK:STDOUT: import_ir_inst00000060: {ir_id: import_ir60000004, inst_id: inst48000156} -// CHECK:STDOUT: import_ir_inst00000061: {ir_id: import_ir60000004, inst_id: inst4800015B} -// CHECK:STDOUT: import_ir_inst00000062: {ir_id: import_ir60000004, inst_id: inst4800016C} -// CHECK:STDOUT: import_ir_inst00000063: {ir_id: import_ir60000004, inst_id: inst4800016E} -// CHECK:STDOUT: import_ir_inst00000064: {ir_id: import_ir60000004, inst_id: inst4800018B} -// CHECK:STDOUT: import_ir_inst00000065: {ir_id: import_ir60000004, inst_id: inst48000172} -// CHECK:STDOUT: import_ir_inst00000066: {ir_id: import_ir60000004, inst_id: inst48000157} -// CHECK:STDOUT: import_ir_inst00000067: {ir_id: import_ir60000004, inst_id: inst4800015D} -// CHECK:STDOUT: import_ir_inst00000068: {ir_id: import_ir60000004, inst_id: inst48000165} -// CHECK:STDOUT: import_ir_inst00000069: {ir_id: import_ir60000004, inst_id: inst48000169} -// CHECK:STDOUT: import_ir_inst0000006A: {ir_id: import_ir60000004, inst_id: inst4800016D} -// CHECK:STDOUT: import_ir_inst0000006B: {ir_id: import_ir60000004, inst_id: inst48000175} -// CHECK:STDOUT: import_ir_inst0000006C: {ir_id: import_ir60000004, inst_id: inst4800018B} -// CHECK:STDOUT: import_ir_inst0000006D: {ir_id: import_ir60000004, inst_id: inst48000186} -// CHECK:STDOUT: import_ir_inst0000006E: {ir_id: import_ir60000004, inst_id: inst48000187} -// CHECK:STDOUT: import_ir_inst0000006F: {ir_id: import_ir60000004, inst_id: inst48000182} -// CHECK:STDOUT: import_ir_inst00000070: {ir_id: import_ir60000004, inst_id: inst48000184} -// CHECK:STDOUT: import_ir_inst00000071: {ir_id: import_ir60000004, inst_id: inst48000156} -// CHECK:STDOUT: import_ir_inst00000072: {ir_id: import_ir60000004, inst_id: inst4800015B} -// CHECK:STDOUT: import_ir_inst00000073: {ir_id: import_ir60000004, inst_id: inst4800018E} -// CHECK:STDOUT: import_ir_inst00000074: {ir_id: import_ir60000004, inst_id: inst4800018F} -// CHECK:STDOUT: import_ir_inst00000075: {ir_id: import_ir60000004, inst_id: inst4800017B} -// CHECK:STDOUT: import_ir_inst00000076: {ir_id: import_ir60000004, inst_id: inst4800017C} -// CHECK:STDOUT: import_ir_inst00000077: {ir_id: import_ir60000004, inst_id: inst4800017D} -// CHECK:STDOUT: import_ir_inst00000078: {ir_id: import_ir60000004, inst_id: inst4800017E} -// CHECK:STDOUT: import_ir_inst00000079: {ir_id: import_ir60000004, inst_id: inst4800017F} -// CHECK:STDOUT: import_ir_inst0000007A: {ir_id: import_ir60000004, inst_id: inst48000183} -// CHECK:STDOUT: import_ir_inst0000007B: {ir_id: import_ir60000004, inst_id: inst48000194} -// CHECK:STDOUT: import_ir_inst0000007C: {ir_id: import_ir60000004, inst_id: inst4800019C} -// CHECK:STDOUT: import_ir_inst0000007D: {ir_id: import_ir60000004, inst_id: inst480001A0} -// CHECK:STDOUT: import_ir_inst0000007E: {ir_id: import_ir60000004, inst_id: inst480001A2} -// CHECK:STDOUT: import_ir_inst0000007F: {ir_id: import_ir60000004, inst_id: inst480001A3} -// CHECK:STDOUT: import_ir_inst00000080: {ir_id: import_ir60000004, inst_id: inst480001A6} -// CHECK:STDOUT: import_ir_inst00000081: {ir_id: import_ir60000004, inst_id: inst480001B2} -// CHECK:STDOUT: import_ir_inst00000082: {ir_id: import_ir60000004, inst_id: inst480001B7} -// CHECK:STDOUT: import_ir_inst00000083: {ir_id: import_ir60000004, inst_id: inst480001BB} -// CHECK:STDOUT: import_ir_inst00000084: {ir_id: import_ir60000004, inst_id: inst480001BC} -// CHECK:STDOUT: import_ir_inst00000085: {ir_id: import_ir60000004, inst_id: inst480001C1} -// CHECK:STDOUT: import_ir_inst00000086: {ir_id: import_ir60000004, inst_id: inst480001FA} -// CHECK:STDOUT: import_ir_inst00000087: {ir_id: import_ir60000004, inst_id: inst480001F8} -// CHECK:STDOUT: import_ir_inst00000088: {ir_id: import_ir60000004, inst_id: inst480001E0} -// CHECK:STDOUT: import_ir_inst00000089: {ir_id: import_ir60000004, inst_id: inst480001DA} -// CHECK:STDOUT: import_ir_inst0000008A: {ir_id: import_ir60000004, inst_id: inst480001D5} -// CHECK:STDOUT: import_ir_inst0000008B: {ir_id: import_ir60000004, inst_id: inst480001D3} -// CHECK:STDOUT: import_ir_inst0000008C: {ir_id: import_ir60000004, inst_id: inst480001D8} -// CHECK:STDOUT: import_ir_inst0000008D: {ir_id: import_ir60000004, inst_id: inst480001DD} -// CHECK:STDOUT: import_ir_inst0000008E: {ir_id: import_ir60000004, inst_id: inst480001F2} -// CHECK:STDOUT: import_ir_inst0000008F: {ir_id: import_ir60000004, inst_id: inst480001F4} -// CHECK:STDOUT: import_ir_inst00000090: {ir_id: import_ir60000004, inst_id: inst48000216} -// CHECK:STDOUT: import_ir_inst00000091: {ir_id: import_ir60000004, inst_id: inst480001F9} -// CHECK:STDOUT: import_ir_inst00000092: {ir_id: import_ir60000004, inst_id: inst480001D4} -// CHECK:STDOUT: import_ir_inst00000093: {ir_id: import_ir60000004, inst_id: inst480001D9} -// CHECK:STDOUT: import_ir_inst00000094: {ir_id: import_ir60000004, inst_id: inst480001DF} -// CHECK:STDOUT: import_ir_inst00000095: {ir_id: import_ir60000004, inst_id: inst480001E8} -// CHECK:STDOUT: import_ir_inst00000096: {ir_id: import_ir60000004, inst_id: inst480001EB} -// CHECK:STDOUT: import_ir_inst00000097: {ir_id: import_ir60000004, inst_id: inst480001EF} -// CHECK:STDOUT: import_ir_inst00000098: {ir_id: import_ir60000004, inst_id: inst480001F3} -// CHECK:STDOUT: import_ir_inst00000099: {ir_id: import_ir60000004, inst_id: inst480001FC} -// CHECK:STDOUT: import_ir_inst0000009A: {ir_id: import_ir60000004, inst_id: inst48000216} -// CHECK:STDOUT: import_ir_inst0000009B: {ir_id: import_ir60000004, inst_id: inst48000211} -// CHECK:STDOUT: import_ir_inst0000009C: {ir_id: import_ir60000004, inst_id: inst48000212} -// CHECK:STDOUT: import_ir_inst0000009D: {ir_id: import_ir60000004, inst_id: inst4800020D} -// CHECK:STDOUT: import_ir_inst0000009E: {ir_id: import_ir60000004, inst_id: inst4800020F} -// CHECK:STDOUT: import_ir_inst0000009F: {ir_id: import_ir60000004, inst_id: inst480001D3} -// CHECK:STDOUT: import_ir_inst000000A0: {ir_id: import_ir60000004, inst_id: inst480001D8} -// CHECK:STDOUT: import_ir_inst000000A1: {ir_id: import_ir60000004, inst_id: inst480001DD} -// CHECK:STDOUT: import_ir_inst000000A2: {ir_id: import_ir60000004, inst_id: inst48000219} -// CHECK:STDOUT: import_ir_inst000000A3: {ir_id: import_ir60000004, inst_id: inst4800021A} -// CHECK:STDOUT: import_ir_inst000000A4: {ir_id: import_ir60000004, inst_id: inst48000204} -// CHECK:STDOUT: import_ir_inst000000A5: {ir_id: import_ir60000004, inst_id: inst48000205} -// CHECK:STDOUT: import_ir_inst000000A6: {ir_id: import_ir60000004, inst_id: inst48000206} -// CHECK:STDOUT: import_ir_inst000000A7: {ir_id: import_ir60000004, inst_id: inst48000207} -// CHECK:STDOUT: import_ir_inst000000A8: {ir_id: import_ir60000004, inst_id: inst48000208} -// CHECK:STDOUT: import_ir_inst000000A9: {ir_id: import_ir60000004, inst_id: inst48000209} -// CHECK:STDOUT: import_ir_inst000000AA: {ir_id: import_ir60000004, inst_id: inst4800020A} -// CHECK:STDOUT: import_ir_inst000000AB: {ir_id: import_ir60000004, inst_id: inst4800020E} -// CHECK:STDOUT: import_ir_inst000000AC: {ir_id: import_ir60000004, inst_id: inst4800021F} -// CHECK:STDOUT: import_ir_inst000000AD: {ir_id: import_ir60000004, inst_id: inst48000226} -// CHECK:STDOUT: import_ir_inst000000AE: {ir_id: import_ir60000004, inst_id: inst4800022A} -// CHECK:STDOUT: import_ir_inst000000AF: {ir_id: import_ir60000004, inst_id: inst4800022C} -// CHECK:STDOUT: import_ir_inst000000B0: {ir_id: import_ir60000004, inst_id: inst4800022D} -// CHECK:STDOUT: import_ir_inst000000B1: {ir_id: import_ir60000004, inst_id: inst48000230} -// CHECK:STDOUT: import_ir_inst000000B2: {ir_id: import_ir60000004, inst_id: inst4800023A} -// CHECK:STDOUT: import_ir_inst000000B3: {ir_id: import_ir60000004, inst_id: inst4800023E} -// CHECK:STDOUT: import_ir_inst000000B4: {ir_id: import_ir60000004, inst_id: inst48000240} -// CHECK:STDOUT: import_ir_inst000000B5: {ir_id: import_ir60000004, inst_id: inst48000241} -// CHECK:STDOUT: import_ir_inst000000B6: {ir_id: import_ir60000004, inst_id: inst48000244} -// CHECK:STDOUT: import_ir_inst000000B7: {ir_id: import_ir60000004, inst_id: inst48000250} -// CHECK:STDOUT: import_ir_inst000000B8: {ir_id: import_ir60000004, inst_id: inst48000255} -// CHECK:STDOUT: import_ir_inst000000B9: {ir_id: import_ir60000004, inst_id: inst48000259} -// CHECK:STDOUT: import_ir_inst000000BA: {ir_id: import_ir60000004, inst_id: inst4800025A} -// CHECK:STDOUT: import_ir_inst000000BB: {ir_id: import_ir60000004, inst_id: inst4800025F} +// CHECK:STDOUT: import_ir_inst00000057: {ir_id: import_ir60000004, inst_id: inst4800012C} +// CHECK:STDOUT: import_ir_inst00000058: {ir_id: import_ir60000004, inst_id: inst48000144} +// CHECK:STDOUT: import_ir_inst00000059: {ir_id: import_ir60000004, inst_id: inst48000142} +// CHECK:STDOUT: import_ir_inst0000005A: {ir_id: import_ir60000004, inst_id: inst48000140} +// CHECK:STDOUT: import_ir_inst0000005B: {ir_id: import_ir60000004, inst_id: inst48000141} +// CHECK:STDOUT: import_ir_inst0000005C: {ir_id: import_ir60000004, inst_id: inst48000174} +// CHECK:STDOUT: import_ir_inst0000005D: {ir_id: import_ir60000004, inst_id: inst48000172} +// CHECK:STDOUT: import_ir_inst0000005E: {ir_id: import_ir60000004, inst_id: inst4800015F} +// CHECK:STDOUT: import_ir_inst0000005F: {ir_id: import_ir60000004, inst_id: inst48000159} +// CHECK:STDOUT: import_ir_inst00000060: {ir_id: import_ir60000004, inst_id: inst48000157} +// CHECK:STDOUT: import_ir_inst00000061: {ir_id: import_ir60000004, inst_id: inst4800015C} +// CHECK:STDOUT: import_ir_inst00000062: {ir_id: import_ir60000004, inst_id: inst4800016D} +// CHECK:STDOUT: import_ir_inst00000063: {ir_id: import_ir60000004, inst_id: inst4800016F} +// CHECK:STDOUT: import_ir_inst00000064: {ir_id: import_ir60000004, inst_id: inst4800018C} +// CHECK:STDOUT: import_ir_inst00000065: {ir_id: import_ir60000004, inst_id: inst48000173} +// CHECK:STDOUT: import_ir_inst00000066: {ir_id: import_ir60000004, inst_id: inst48000158} +// CHECK:STDOUT: import_ir_inst00000067: {ir_id: import_ir60000004, inst_id: inst4800015E} +// CHECK:STDOUT: import_ir_inst00000068: {ir_id: import_ir60000004, inst_id: inst48000166} +// CHECK:STDOUT: import_ir_inst00000069: {ir_id: import_ir60000004, inst_id: inst4800016A} +// CHECK:STDOUT: import_ir_inst0000006A: {ir_id: import_ir60000004, inst_id: inst4800016E} +// CHECK:STDOUT: import_ir_inst0000006B: {ir_id: import_ir60000004, inst_id: inst48000176} +// CHECK:STDOUT: import_ir_inst0000006C: {ir_id: import_ir60000004, inst_id: inst4800018C} +// CHECK:STDOUT: import_ir_inst0000006D: {ir_id: import_ir60000004, inst_id: inst48000187} +// CHECK:STDOUT: import_ir_inst0000006E: {ir_id: import_ir60000004, inst_id: inst48000188} +// CHECK:STDOUT: import_ir_inst0000006F: {ir_id: import_ir60000004, inst_id: inst48000183} +// CHECK:STDOUT: import_ir_inst00000070: {ir_id: import_ir60000004, inst_id: inst48000185} +// CHECK:STDOUT: import_ir_inst00000071: {ir_id: import_ir60000004, inst_id: inst48000157} +// CHECK:STDOUT: import_ir_inst00000072: {ir_id: import_ir60000004, inst_id: inst4800015C} +// CHECK:STDOUT: import_ir_inst00000073: {ir_id: import_ir60000004, inst_id: inst4800018F} +// CHECK:STDOUT: import_ir_inst00000074: {ir_id: import_ir60000004, inst_id: inst48000190} +// CHECK:STDOUT: import_ir_inst00000075: {ir_id: import_ir60000004, inst_id: inst4800017C} +// CHECK:STDOUT: import_ir_inst00000076: {ir_id: import_ir60000004, inst_id: inst4800017D} +// CHECK:STDOUT: import_ir_inst00000077: {ir_id: import_ir60000004, inst_id: inst4800017E} +// CHECK:STDOUT: import_ir_inst00000078: {ir_id: import_ir60000004, inst_id: inst4800017F} +// CHECK:STDOUT: import_ir_inst00000079: {ir_id: import_ir60000004, inst_id: inst48000180} +// CHECK:STDOUT: import_ir_inst0000007A: {ir_id: import_ir60000004, inst_id: inst48000184} +// CHECK:STDOUT: import_ir_inst0000007B: {ir_id: import_ir60000004, inst_id: inst48000195} +// CHECK:STDOUT: import_ir_inst0000007C: {ir_id: import_ir60000004, inst_id: inst4800019D} +// CHECK:STDOUT: import_ir_inst0000007D: {ir_id: import_ir60000004, inst_id: inst480001A1} +// CHECK:STDOUT: import_ir_inst0000007E: {ir_id: import_ir60000004, inst_id: inst480001A3} +// CHECK:STDOUT: import_ir_inst0000007F: {ir_id: import_ir60000004, inst_id: inst480001A4} +// CHECK:STDOUT: import_ir_inst00000080: {ir_id: import_ir60000004, inst_id: inst480001A7} +// CHECK:STDOUT: import_ir_inst00000081: {ir_id: import_ir60000004, inst_id: inst480001B3} +// CHECK:STDOUT: import_ir_inst00000082: {ir_id: import_ir60000004, inst_id: inst480001B8} +// CHECK:STDOUT: import_ir_inst00000083: {ir_id: import_ir60000004, inst_id: inst480001BC} +// CHECK:STDOUT: import_ir_inst00000084: {ir_id: import_ir60000004, inst_id: inst480001BD} +// CHECK:STDOUT: import_ir_inst00000085: {ir_id: import_ir60000004, inst_id: inst480001C2} +// CHECK:STDOUT: import_ir_inst00000086: {ir_id: import_ir60000004, inst_id: inst480001FB} +// CHECK:STDOUT: import_ir_inst00000087: {ir_id: import_ir60000004, inst_id: inst480001F9} +// CHECK:STDOUT: import_ir_inst00000088: {ir_id: import_ir60000004, inst_id: inst480001E1} +// CHECK:STDOUT: import_ir_inst00000089: {ir_id: import_ir60000004, inst_id: inst480001DB} +// CHECK:STDOUT: import_ir_inst0000008A: {ir_id: import_ir60000004, inst_id: inst480001D6} +// CHECK:STDOUT: import_ir_inst0000008B: {ir_id: import_ir60000004, inst_id: inst480001D4} +// CHECK:STDOUT: import_ir_inst0000008C: {ir_id: import_ir60000004, inst_id: inst480001D9} +// CHECK:STDOUT: import_ir_inst0000008D: {ir_id: import_ir60000004, inst_id: inst480001DE} +// CHECK:STDOUT: import_ir_inst0000008E: {ir_id: import_ir60000004, inst_id: inst480001F3} +// CHECK:STDOUT: import_ir_inst0000008F: {ir_id: import_ir60000004, inst_id: inst480001F5} +// CHECK:STDOUT: import_ir_inst00000090: {ir_id: import_ir60000004, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_inst00000091: {ir_id: import_ir60000004, inst_id: inst480001FA} +// CHECK:STDOUT: import_ir_inst00000092: {ir_id: import_ir60000004, inst_id: inst480001D5} +// CHECK:STDOUT: import_ir_inst00000093: {ir_id: import_ir60000004, inst_id: inst480001DA} +// CHECK:STDOUT: import_ir_inst00000094: {ir_id: import_ir60000004, inst_id: inst480001E0} +// CHECK:STDOUT: import_ir_inst00000095: {ir_id: import_ir60000004, inst_id: inst480001E9} +// CHECK:STDOUT: import_ir_inst00000096: {ir_id: import_ir60000004, inst_id: inst480001EC} +// CHECK:STDOUT: import_ir_inst00000097: {ir_id: import_ir60000004, inst_id: inst480001F0} +// CHECK:STDOUT: import_ir_inst00000098: {ir_id: import_ir60000004, inst_id: inst480001F4} +// CHECK:STDOUT: import_ir_inst00000099: {ir_id: import_ir60000004, inst_id: inst480001FD} +// CHECK:STDOUT: import_ir_inst0000009A: {ir_id: import_ir60000004, inst_id: inst48000217} +// CHECK:STDOUT: import_ir_inst0000009B: {ir_id: import_ir60000004, inst_id: inst48000212} +// CHECK:STDOUT: import_ir_inst0000009C: {ir_id: import_ir60000004, inst_id: inst48000213} +// CHECK:STDOUT: import_ir_inst0000009D: {ir_id: import_ir60000004, inst_id: inst4800020E} +// CHECK:STDOUT: import_ir_inst0000009E: {ir_id: import_ir60000004, inst_id: inst48000210} +// CHECK:STDOUT: import_ir_inst0000009F: {ir_id: import_ir60000004, inst_id: inst480001D4} +// CHECK:STDOUT: import_ir_inst000000A0: {ir_id: import_ir60000004, inst_id: inst480001D9} +// CHECK:STDOUT: import_ir_inst000000A1: {ir_id: import_ir60000004, inst_id: inst480001DE} +// CHECK:STDOUT: import_ir_inst000000A2: {ir_id: import_ir60000004, inst_id: inst4800021A} +// CHECK:STDOUT: import_ir_inst000000A3: {ir_id: import_ir60000004, inst_id: inst4800021B} +// CHECK:STDOUT: import_ir_inst000000A4: {ir_id: import_ir60000004, inst_id: inst48000205} +// CHECK:STDOUT: import_ir_inst000000A5: {ir_id: import_ir60000004, inst_id: inst48000206} +// CHECK:STDOUT: import_ir_inst000000A6: {ir_id: import_ir60000004, inst_id: inst48000207} +// CHECK:STDOUT: import_ir_inst000000A7: {ir_id: import_ir60000004, inst_id: inst48000208} +// CHECK:STDOUT: import_ir_inst000000A8: {ir_id: import_ir60000004, inst_id: inst48000209} +// CHECK:STDOUT: import_ir_inst000000A9: {ir_id: import_ir60000004, inst_id: inst4800020A} +// CHECK:STDOUT: import_ir_inst000000AA: {ir_id: import_ir60000004, inst_id: inst4800020B} +// CHECK:STDOUT: import_ir_inst000000AB: {ir_id: import_ir60000004, inst_id: inst4800020F} +// CHECK:STDOUT: import_ir_inst000000AC: {ir_id: import_ir60000004, inst_id: inst48000220} +// CHECK:STDOUT: import_ir_inst000000AD: {ir_id: import_ir60000004, inst_id: inst48000227} +// CHECK:STDOUT: import_ir_inst000000AE: {ir_id: import_ir60000004, inst_id: inst4800022B} +// CHECK:STDOUT: import_ir_inst000000AF: {ir_id: import_ir60000004, inst_id: inst4800022D} +// CHECK:STDOUT: import_ir_inst000000B0: {ir_id: import_ir60000004, inst_id: inst4800022E} +// CHECK:STDOUT: import_ir_inst000000B1: {ir_id: import_ir60000004, inst_id: inst48000231} +// CHECK:STDOUT: import_ir_inst000000B2: {ir_id: import_ir60000004, inst_id: inst4800023B} +// CHECK:STDOUT: import_ir_inst000000B3: {ir_id: import_ir60000004, inst_id: inst4800023F} +// CHECK:STDOUT: import_ir_inst000000B4: {ir_id: import_ir60000004, inst_id: inst48000241} +// CHECK:STDOUT: import_ir_inst000000B5: {ir_id: import_ir60000004, inst_id: inst48000242} +// CHECK:STDOUT: import_ir_inst000000B6: {ir_id: import_ir60000004, inst_id: inst48000245} +// CHECK:STDOUT: import_ir_inst000000B7: {ir_id: import_ir60000004, inst_id: inst48000251} +// CHECK:STDOUT: import_ir_inst000000B8: {ir_id: import_ir60000004, inst_id: inst48000256} +// CHECK:STDOUT: import_ir_inst000000B9: {ir_id: import_ir60000004, inst_id: inst4800025A} +// CHECK:STDOUT: import_ir_inst000000BA: {ir_id: import_ir60000004, inst_id: inst4800025B} +// CHECK:STDOUT: import_ir_inst000000BB: {ir_id: import_ir60000004, inst_id: inst48000260} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst60000010, name00000000: inst60000035}} -// CHECK:STDOUT: name_scope60000001: {inst: inst60000010, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000045}} -// CHECK:STDOUT: name_scope60000002: {inst: inst60000046, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst60000049, name00000004: inst6000004A}} -// CHECK:STDOUT: name_scope60000003: {inst: inst6000005E, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000004: {inst: inst6000008B, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000005: {inst: inst6000008F, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000006: {inst: inst60000093, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000007: {inst: inst60000097, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000008: {inst: inst6000009B, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope60000009: {inst: inst600000B5, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000A: {inst: inst600000B9, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000B: {inst: inst600000BD, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} -// CHECK:STDOUT: name_scope6000000C: {inst: inst600000F5, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name(Core): inst60000011, name00000000: inst60000036}} +// CHECK:STDOUT: name_scope60000001: {inst: inst60000011, parent_scope: name_scope00000000, has_error: false, extended_scopes: [], names: {name00000003: inst60000046}} +// CHECK:STDOUT: name_scope60000002: {inst: inst60000047, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {name(SelfType): inst6000004A, name00000004: inst6000004B}} +// CHECK:STDOUT: name_scope60000003: {inst: inst6000005F, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000004: {inst: inst6000008C, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000005: {inst: inst60000090, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000006: {inst: inst60000094, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000007: {inst: inst60000098, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000008: {inst: inst6000009C, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope60000009: {inst: inst600000B6, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000A: {inst: inst600000BA, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000B: {inst: inst600000BE, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope6000000C: {inst: inst600000F6, parent_scope: name_scope60000001, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name60000000: {name: name(PeriodSelf), parent_scope: name_scope, index: -1, is_template: 0} // CHECK:STDOUT: entity_name60000001: {name: name00000001, parent_scope: name_scope, index: 0, is_template: 0} @@ -296,24 +296,24 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: entity_name6000003D: {name: name00000006, parent_scope: name_scope, index: 2, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block6000000D, return_slot_pattern: inst60000030, body: [inst_block60000014]} -// CHECK:STDOUT: function60000001: {name: name00000004, parent_scope: name_scope60000002, return_slot_pattern: inst60000055} -// CHECK:STDOUT: function60000002: {name: name00000004, parent_scope: name_scope60000003, return_slot_pattern: inst60000073} -// CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope60000008, return_slot_pattern: inst600000AA} -// CHECK:STDOUT: function60000004: {name: name00000004, parent_scope: name_scope6000000B, return_slot_pattern: inst600000D5} -// CHECK:STDOUT: function60000005: {name: name00000004, parent_scope: name_scope6000000C, return_slot_pattern: inst60000111} +// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block6000000D, return_slot_pattern: inst60000031, body: [inst_block60000014]} +// CHECK:STDOUT: function60000001: {name: name00000004, parent_scope: name_scope60000002, return_slot_pattern: inst60000056} +// CHECK:STDOUT: function60000002: {name: name00000004, parent_scope: name_scope60000003, return_slot_pattern: inst60000074} +// CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope60000008, return_slot_pattern: inst600000AB} +// CHECK:STDOUT: function60000004: {name: name00000004, parent_scope: name_scope6000000B, return_slot_pattern: inst600000D6} +// CHECK:STDOUT: function60000005: {name: name00000004, parent_scope: name_scope6000000C, return_slot_pattern: inst60000112} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: -// CHECK:STDOUT: generic60000000: {decl: inst60000035, bindings: inst_block60000010} -// CHECK:STDOUT: generic60000001: {decl: inst6000004F, bindings: inst_block60000018} -// CHECK:STDOUT: generic60000002: {decl: inst6000005E, bindings: inst_block6000001D} -// CHECK:STDOUT: generic60000003: {decl: inst6000006E, bindings: inst_block60000024} -// CHECK:STDOUT: generic60000004: {decl: inst6000009B, bindings: inst_block6000002E} -// CHECK:STDOUT: generic60000005: {decl: inst600000A6, bindings: inst_block60000034} -// CHECK:STDOUT: generic60000006: {decl: inst600000BD, bindings: inst_block6000003B} -// CHECK:STDOUT: generic60000007: {decl: inst600000D0, bindings: inst_block60000043} -// CHECK:STDOUT: generic60000008: {decl: inst600000F5, bindings: inst_block60000051} -// CHECK:STDOUT: generic60000009: {decl: inst6000010C, bindings: inst_block60000059} +// CHECK:STDOUT: generic60000000: {decl: inst60000036, bindings: inst_block60000010} +// CHECK:STDOUT: generic60000001: {decl: inst60000050, bindings: inst_block60000018} +// CHECK:STDOUT: generic60000002: {decl: inst6000005F, bindings: inst_block6000001D} +// CHECK:STDOUT: generic60000003: {decl: inst6000006F, bindings: inst_block60000024} +// CHECK:STDOUT: generic60000004: {decl: inst6000009C, bindings: inst_block6000002E} +// CHECK:STDOUT: generic60000005: {decl: inst600000A7, bindings: inst_block60000034} +// CHECK:STDOUT: generic60000006: {decl: inst600000BE, bindings: inst_block6000003B} +// CHECK:STDOUT: generic60000007: {decl: inst600000D1, bindings: inst_block60000043} +// CHECK:STDOUT: generic60000008: {decl: inst600000F6, bindings: inst_block60000051} +// CHECK:STDOUT: generic60000009: {decl: inst6000010D, bindings: inst_block60000059} // CHECK:STDOUT: specifics: // CHECK:STDOUT: specific60000000: {generic: generic60000000, args: inst_block60000011} // CHECK:STDOUT: specific60000001: {generic: generic60000001, args: inst_block6000001A} @@ -349,14 +349,14 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst60000024)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} -// CHECK:STDOUT: 'type(inst60000026)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000028)} -// CHECK:STDOUT: 'type(inst60000028)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000028)} -// CHECK:STDOUT: 'type(inst60000036)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} +// CHECK:STDOUT: 'type(inst60000025)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} +// CHECK:STDOUT: 'type(inst60000027)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst60000029)} +// CHECK:STDOUT: 'type(inst60000029)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000029)} +// CHECK:STDOUT: 'type(inst60000037)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(symbolic_constant00000003)': // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant00000003)} // CHECK:STDOUT: 'type(symbolic_constant00000007)': @@ -369,1430 +369,1430 @@ fn Foo[T:! type](p: T*) -> (T*, ()) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(symbolic_constant00000004)} // CHECK:STDOUT: 'type(symbolic_constant00000008)': // CHECK:STDOUT: value_repr: {kind: pointer, type: type(symbolic_constant0000000B)} -// CHECK:STDOUT: 'type(inst60000047)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000047)} +// CHECK:STDOUT: 'type(inst60000048)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst60000048)} // CHECK:STDOUT: 'type(inst(SpecificFunctionType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(SpecificFunctionType))} // CHECK:STDOUT: 'type(symbolic_constant600000FD)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(symbolic_constant60000100)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000024)} +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000025)} // CHECK:STDOUT: 'type(inst(BoundMethodType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(BoundMethodType))} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: ImportDecl, arg0: name(Core)} -// CHECK:STDOUT: inst60000010: {kind: Namespace, arg0: name_scope60000001, arg1: inst6000000F, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst60000011: {kind: FacetType, arg0: facet_type60000000, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000013: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000011)} -// CHECK:STDOUT: inst60000014: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: ImportDecl, arg0: name(Core)} +// CHECK:STDOUT: inst60000011: {kind: Namespace, arg0: name_scope60000001, arg1: inst60000010, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000012: {kind: FacetType, arg0: facet_type60000000, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} +// CHECK:STDOUT: inst60000014: {kind: SymbolicBinding, arg0: entity_name60000000, arg1: inst, type: type(inst60000012)} // CHECK:STDOUT: inst60000015: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} // CHECK:STDOUT: inst60000016: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst60000017: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} -// CHECK:STDOUT: inst60000018: {kind: SymbolicBindingPattern, arg0: entity_name60000001, type: type(inst60000017)} -// CHECK:STDOUT: inst60000019: {kind: NameRef, arg0: name00000001, arg1: inst60000014, type: type(TypeType)} -// CHECK:STDOUT: inst6000001A: {kind: PointerType, arg0: inst60000019, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: PointerType, arg0: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst60000017: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst60000018: {kind: PatternType, arg0: inst(TypeType), type: type(TypeType)} +// CHECK:STDOUT: inst60000019: {kind: SymbolicBindingPattern, arg0: entity_name60000001, type: type(inst60000018)} +// CHECK:STDOUT: inst6000001A: {kind: NameRef, arg0: name00000001, arg1: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst6000001B: {kind: PointerType, arg0: inst6000001A, type: type(TypeType)} // CHECK:STDOUT: inst6000001C: {kind: PointerType, arg0: inst60000016, type: type(TypeType)} -// CHECK:STDOUT: inst6000001D: {kind: ValueBinding, arg0: entity_name60000002, arg1: inst60000031, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst6000001E: {kind: PatternType, arg0: inst6000001B, type: type(TypeType)} -// CHECK:STDOUT: inst6000001F: {kind: ValueBindingPattern, arg0: entity_name60000002, type: type(symbolic_constant00000006)} -// CHECK:STDOUT: inst60000020: {kind: PatternType, arg0: inst6000001C, type: type(TypeType)} -// CHECK:STDOUT: inst60000021: {kind: ValueParamPattern, arg0: inst6000001F, arg1: call_param0, type: type(symbolic_constant00000006)} -// CHECK:STDOUT: inst60000022: {kind: NameRef, arg0: name00000001, arg1: inst60000014, type: type(TypeType)} -// CHECK:STDOUT: inst60000023: {kind: PointerType, arg0: inst60000022, type: type(TypeType)} -// CHECK:STDOUT: inst60000024: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000025: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000024)} -// CHECK:STDOUT: inst60000026: {kind: TupleType, arg0: inst_block60000009, type: type(TypeType)} -// CHECK:STDOUT: inst60000027: {kind: TupleLiteral, arg0: inst_block60000008, type: type(inst60000026)} -// CHECK:STDOUT: inst60000028: {kind: PointerType, arg0: inst60000026, type: type(TypeType)} -// CHECK:STDOUT: inst60000029: {kind: Converted, arg0: inst60000025, arg1: inst60000024, type: type(TypeType)} -// CHECK:STDOUT: inst6000002A: {kind: TupleType, arg0: inst_block6000000B, type: type(TypeType)} -// CHECK:STDOUT: inst6000002B: {kind: Converted, arg0: inst60000027, arg1: inst6000002A, type: type(TypeType)} -// CHECK:STDOUT: inst6000002C: {kind: TupleType, arg0: inst_block6000000C, type: type(TypeType)} -// CHECK:STDOUT: inst6000002D: {kind: PatternType, arg0: inst6000002A, type: type(TypeType)} -// CHECK:STDOUT: inst6000002E: {kind: ReturnSlotPattern, arg0: inst6000002B, type: type(symbolic_constant0000000A)} -// CHECK:STDOUT: inst6000002F: {kind: PatternType, arg0: inst6000002C, type: type(TypeType)} -// CHECK:STDOUT: inst60000030: {kind: OutParamPattern, arg0: inst6000002E, arg1: call_param1, type: type(symbolic_constant0000000A)} -// CHECK:STDOUT: inst60000031: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000032: {kind: SpliceBlock, arg0: inst_block60000006, arg1: inst6000001A, type: type(TypeType)} -// CHECK:STDOUT: inst60000033: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst60000034: {kind: ReturnSlot, arg0: inst6000002A, arg1: inst60000033, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst60000035: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block6000000F, type: type(inst60000036)} -// CHECK:STDOUT: inst60000036: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000037: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000036)} -// CHECK:STDOUT: inst60000038: {kind: PointerType, arg0: inst6000002A, type: type(TypeType)} -// CHECK:STDOUT: inst60000039: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003A: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003B: {kind: RequireCompleteType, arg0: inst6000002C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003C: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003D: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000001D: {kind: PointerType, arg0: inst60000017, type: type(TypeType)} +// CHECK:STDOUT: inst6000001E: {kind: ValueBinding, arg0: entity_name60000002, arg1: inst60000032, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst6000001F: {kind: PatternType, arg0: inst6000001C, type: type(TypeType)} +// CHECK:STDOUT: inst60000020: {kind: ValueBindingPattern, arg0: entity_name60000002, type: type(symbolic_constant00000006)} +// CHECK:STDOUT: inst60000021: {kind: PatternType, arg0: inst6000001D, type: type(TypeType)} +// CHECK:STDOUT: inst60000022: {kind: ValueParamPattern, arg0: inst60000020, arg1: call_param0, type: type(symbolic_constant00000006)} +// CHECK:STDOUT: inst60000023: {kind: NameRef, arg0: name00000001, arg1: inst60000015, type: type(TypeType)} +// CHECK:STDOUT: inst60000024: {kind: PointerType, arg0: inst60000023, type: type(TypeType)} +// CHECK:STDOUT: inst60000025: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000026: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000025)} +// CHECK:STDOUT: inst60000027: {kind: TupleType, arg0: inst_block60000009, type: type(TypeType)} +// CHECK:STDOUT: inst60000028: {kind: TupleLiteral, arg0: inst_block60000008, type: type(inst60000027)} +// CHECK:STDOUT: inst60000029: {kind: PointerType, arg0: inst60000027, type: type(TypeType)} +// CHECK:STDOUT: inst6000002A: {kind: Converted, arg0: inst60000026, arg1: inst60000025, type: type(TypeType)} +// CHECK:STDOUT: inst6000002B: {kind: TupleType, arg0: inst_block6000000B, type: type(TypeType)} +// CHECK:STDOUT: inst6000002C: {kind: Converted, arg0: inst60000028, arg1: inst6000002B, type: type(TypeType)} +// CHECK:STDOUT: inst6000002D: {kind: TupleType, arg0: inst_block6000000C, type: type(TypeType)} +// CHECK:STDOUT: inst6000002E: {kind: PatternType, arg0: inst6000002B, type: type(TypeType)} +// CHECK:STDOUT: inst6000002F: {kind: ReturnSlotPattern, arg0: inst6000002C, type: type(symbolic_constant0000000A)} +// CHECK:STDOUT: inst60000030: {kind: PatternType, arg0: inst6000002D, type: type(TypeType)} +// CHECK:STDOUT: inst60000031: {kind: OutParamPattern, arg0: inst6000002F, arg1: call_param1, type: type(symbolic_constant0000000A)} +// CHECK:STDOUT: inst60000032: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000033: {kind: SpliceBlock, arg0: inst_block60000006, arg1: inst6000001B, type: type(TypeType)} +// CHECK:STDOUT: inst60000034: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000035: {kind: ReturnSlot, arg0: inst6000002B, arg1: inst60000034, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000036: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block6000000F, type: type(inst60000037)} +// CHECK:STDOUT: inst60000037: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000038: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000037)} +// CHECK:STDOUT: inst60000039: {kind: PointerType, arg0: inst6000002B, type: type(TypeType)} +// CHECK:STDOUT: inst6000003A: {kind: RequireCompleteType, arg0: inst6000002B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003B: {kind: RequireCompleteType, arg0: inst6000002B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003C: {kind: RequireCompleteType, arg0: inst6000002D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003D: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} // CHECK:STDOUT: inst6000003E: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000003F: {kind: NameRef, arg0: name00000002, arg1: inst6000001D, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000040: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000024)} -// CHECK:STDOUT: inst60000041: {kind: TupleLiteral, arg0: inst_block60000015, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst60000042: {kind: RequireCompleteType, arg0: inst6000002A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000043: {kind: TupleAccess, arg0: inst60000034, arg1: element0, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000044: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000045: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name60000003, type: type(TypeType)} -// CHECK:STDOUT: inst60000046: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000047: {kind: FacetType, arg0: facet_type60000001, type: type(TypeType)} -// CHECK:STDOUT: inst60000048: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000049: {kind: ImportRefUnloaded, arg0: import_ir_inst00000002, arg1: entity_name} -// CHECK:STDOUT: inst6000004A: {kind: ImportRefLoaded, arg0: import_ir_inst00000003, arg1: entity_name, type: type(inst6000004C)} -// CHECK:STDOUT: inst6000004B: {kind: ImportRefUnloaded, arg0: import_ir_inst00000004, arg1: entity_name60000005} -// CHECK:STDOUT: inst6000004C: {kind: AssociatedEntityType, arg0: interface60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst6000004D: {kind: ImportRefLoaded, arg0: import_ir_inst00000005, arg1: entity_name, type: type(inst60000050)} -// CHECK:STDOUT: inst6000004E: {kind: AssociatedEntity, arg0: element0, arg1: inst6000004D, type: type(inst6000004C)} -// CHECK:STDOUT: inst6000004F: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst60000050)} -// CHECK:STDOUT: inst60000050: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000051: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000050)} -// CHECK:STDOUT: inst60000052: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000048, type: type(TypeType)} -// CHECK:STDOUT: inst60000053: {kind: PatternType, arg0: inst60000052, type: type(TypeType)} -// CHECK:STDOUT: inst60000054: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000013)} -// CHECK:STDOUT: inst60000055: {kind: OutParamPattern, arg0: inst60000054, arg1: call_param1, type: type(symbolic_constant60000013)} -// CHECK:STDOUT: inst60000056: {kind: ValueBindingPattern, arg0: entity_name60000008, type: type(symbolic_constant60000013)} -// CHECK:STDOUT: inst60000057: {kind: ValueParamPattern, arg0: inst60000056, arg1: call_param0, type: type(symbolic_constant60000013)} -// CHECK:STDOUT: inst60000058: {kind: ImportRefLoaded, arg0: import_ir_inst0000000B, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000059: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000005A: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000059, type: type(TypeType)} -// CHECK:STDOUT: inst6000005B: {kind: PatternType, arg0: inst6000005A, type: type(TypeType)} -// CHECK:STDOUT: inst6000005C: {kind: LookupImplWitness, arg0: inst6000001B, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000005D: {kind: ImportRefUnloaded, arg0: import_ir_inst0000000F, arg1: entity_name} -// CHECK:STDOUT: inst6000005E: {kind: ImplDecl, arg0: impl60000000, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000005F: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000060: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000005F, type: type(TypeType)} -// CHECK:STDOUT: inst60000061: {kind: ConstType, arg0: inst60000060, type: type(TypeType)} -// CHECK:STDOUT: inst60000062: {kind: PatternType, arg0: inst60000047, type: type(TypeType)} -// CHECK:STDOUT: inst60000063: {kind: SymbolicBindingPattern, arg0: entity_name6000000D, type: type(inst60000062)} -// CHECK:STDOUT: inst60000064: {kind: ImportRefLoaded, arg0: import_ir_inst00000012, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000065: {kind: ImportRefLoaded, arg0: import_ir_inst00000013, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000066: {kind: ImportRefLoaded, arg0: import_ir_inst00000014, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000067: {kind: ImportRefUnloaded, arg0: import_ir_inst00000015, arg1: entity_name} -// CHECK:STDOUT: inst60000068: {kind: ImplWitnessTable, arg0: inst_block6000001E, arg1: impl60000000} -// CHECK:STDOUT: inst60000069: {kind: ImplWitness, arg0: inst60000068, arg1: specific60000002, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000006A: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000006B: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000006A, type: type(TypeType)} -// CHECK:STDOUT: inst6000006C: {kind: ConstType, arg0: inst6000006B, type: type(TypeType)} -// CHECK:STDOUT: inst6000006D: {kind: ImplWitness, arg0: inst60000068, arg1: specific60000003, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000006E: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant60000026)} -// CHECK:STDOUT: inst6000006F: {kind: FunctionType, arg0: function60000002, arg1: specific60000002, type: type(TypeType)} -// CHECK:STDOUT: inst60000070: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000026)} -// CHECK:STDOUT: inst60000071: {kind: PatternType, arg0: inst60000061, type: type(TypeType)} -// CHECK:STDOUT: inst60000072: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant6000002B)} -// CHECK:STDOUT: inst60000073: {kind: OutParamPattern, arg0: inst60000072, arg1: call_param1, type: type(symbolic_constant6000002B)} -// CHECK:STDOUT: inst60000074: {kind: ValueBindingPattern, arg0: entity_name60000011, type: type(symbolic_constant6000002B)} -// CHECK:STDOUT: inst60000075: {kind: ValueParamPattern, arg0: inst60000074, arg1: call_param0, type: type(symbolic_constant6000002B)} -// CHECK:STDOUT: inst60000076: {kind: ImportRefLoaded, arg0: import_ir_inst00000020, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000077: {kind: FunctionType, arg0: function60000002, arg1: specific60000003, type: type(TypeType)} -// CHECK:STDOUT: inst60000078: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant6000002D)} -// CHECK:STDOUT: inst60000079: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000007A: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000079, type: type(TypeType)} -// CHECK:STDOUT: inst6000007B: {kind: ConstType, arg0: inst6000007A, type: type(TypeType)} -// CHECK:STDOUT: inst6000007C: {kind: PatternType, arg0: inst6000007B, type: type(TypeType)} -// CHECK:STDOUT: inst6000007D: {kind: RequireCompleteType, arg0: inst60000061, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000007E: {kind: RequireCompleteType, arg0: inst60000060, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000007F: {kind: LookupImplWitness, arg0: inst6000005F, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000080: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000005F, type: type(TypeType)} -// CHECK:STDOUT: inst60000081: {kind: ImplWitnessAccess, arg0: inst6000007F, arg1: element0, type: type(symbolic_constant6000003C)} -// CHECK:STDOUT: inst60000082: {kind: SpecificImplFunction, arg0: inst60000081, arg1: specific60000005, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000083: {kind: RequireCompleteType, arg0: inst6000007B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000084: {kind: RequireCompleteType, arg0: inst6000007A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000085: {kind: LookupImplWitness, arg0: inst60000079, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000086: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst60000079, type: type(TypeType)} -// CHECK:STDOUT: inst60000087: {kind: ImplWitnessAccess, arg0: inst60000085, arg1: element0, type: type(symbolic_constant60000045)} -// CHECK:STDOUT: inst60000088: {kind: SpecificImplFunction, arg0: inst60000087, arg1: specific60000006, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000089: {kind: PatternType, arg0: inst60000060, type: type(TypeType)} -// CHECK:STDOUT: inst6000008A: {kind: ImportRefUnloaded, arg0: import_ir_inst0000002D, arg1: entity_name} -// CHECK:STDOUT: inst6000008B: {kind: ImplDecl, arg0: impl60000001, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000008C: {kind: ImportRefLoaded, arg0: import_ir_inst0000002F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000008D: {kind: ImportRefLoaded, arg0: import_ir_inst00000030, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000008E: {kind: ImportRefUnloaded, arg0: import_ir_inst00000031, arg1: entity_name} -// CHECK:STDOUT: inst6000008F: {kind: ImplDecl, arg0: impl60000002, arg1: inst_block_empty} -// CHECK:STDOUT: inst60000090: {kind: ImportRefLoaded, arg0: import_ir_inst00000033, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000091: {kind: ImportRefLoaded, arg0: import_ir_inst00000034, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000092: {kind: ImportRefUnloaded, arg0: import_ir_inst00000035, arg1: entity_name} -// CHECK:STDOUT: inst60000093: {kind: ImplDecl, arg0: impl60000003, arg1: inst_block_empty} -// CHECK:STDOUT: inst60000094: {kind: ImportRefLoaded, arg0: import_ir_inst00000037, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000095: {kind: ImportRefLoaded, arg0: import_ir_inst00000038, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000096: {kind: ImportRefUnloaded, arg0: import_ir_inst00000039, arg1: entity_name} -// CHECK:STDOUT: inst60000097: {kind: ImplDecl, arg0: impl60000004, arg1: inst_block_empty} -// CHECK:STDOUT: inst60000098: {kind: ImportRefLoaded, arg0: import_ir_inst0000003B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000099: {kind: ImportRefLoaded, arg0: import_ir_inst0000003C, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009A: {kind: ImportRefLoaded, arg0: import_ir_inst0000003D, arg1: entity_name, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000009B: {kind: ImplDecl, arg0: impl60000005, arg1: inst_block_empty} -// CHECK:STDOUT: inst6000009C: {kind: SymbolicBindingPattern, arg0: entity_name60000015, type: type(inst60000017)} -// CHECK:STDOUT: inst6000009D: {kind: ImportRefLoaded, arg0: import_ir_inst00000040, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009E: {kind: ImportRefLoaded, arg0: import_ir_inst00000041, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst6000009F: {kind: ImportRefLoaded, arg0: import_ir_inst00000042, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000A0: {kind: ImportRefUnloaded, arg0: import_ir_inst00000043, arg1: entity_name} -// CHECK:STDOUT: inst600000A1: {kind: ImplWitnessTable, arg0: inst_block6000002F, arg1: impl60000005} -// CHECK:STDOUT: inst600000A2: {kind: ImplWitness, arg0: inst600000A1, arg1: specific60000007, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000A3: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst600000A4: {kind: PointerType, arg0: inst600000A3, type: type(TypeType)} -// CHECK:STDOUT: inst600000A5: {kind: ImplWitness, arg0: inst600000A1, arg1: specific60000008, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000A6: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant60000051)} -// CHECK:STDOUT: inst600000A7: {kind: FunctionType, arg0: function60000003, arg1: specific60000007, type: type(TypeType)} -// CHECK:STDOUT: inst600000A8: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000051)} -// CHECK:STDOUT: inst600000A9: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000055)} -// CHECK:STDOUT: inst600000AA: {kind: OutParamPattern, arg0: inst600000A9, arg1: call_param1, type: type(symbolic_constant60000055)} -// CHECK:STDOUT: inst600000AB: {kind: ValueBindingPattern, arg0: entity_name60000018, type: type(symbolic_constant60000055)} -// CHECK:STDOUT: inst600000AC: {kind: ValueParamPattern, arg0: inst600000AB, arg1: call_param0, type: type(symbolic_constant60000055)} -// CHECK:STDOUT: inst600000AD: {kind: ImportRefLoaded, arg0: import_ir_inst0000004D, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000AE: {kind: FunctionType, arg0: function60000003, arg1: specific60000008, type: type(TypeType)} -// CHECK:STDOUT: inst600000AF: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000058)} -// CHECK:STDOUT: inst600000B0: {kind: RequireCompleteType, arg0: inst600000A4, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000B1: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} -// CHECK:STDOUT: inst600000B2: {kind: PointerType, arg0: inst600000B1, type: type(TypeType)} -// CHECK:STDOUT: inst600000B3: {kind: PatternType, arg0: inst600000B2, type: type(TypeType)} -// CHECK:STDOUT: inst600000B4: {kind: ImportRefUnloaded, arg0: import_ir_inst00000054, arg1: entity_name} -// CHECK:STDOUT: inst600000B5: {kind: ImplDecl, arg0: impl60000006, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000B6: {kind: ImportRefLoaded, arg0: import_ir_inst00000056, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B7: {kind: ImportRefLoaded, arg0: import_ir_inst00000057, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000B8: {kind: ImportRefUnloaded, arg0: import_ir_inst00000058, arg1: entity_name} -// CHECK:STDOUT: inst600000B9: {kind: ImplDecl, arg0: impl60000007, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000BA: {kind: ImportRefLoaded, arg0: import_ir_inst0000005A, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000BB: {kind: ImportRefLoaded, arg0: import_ir_inst0000005B, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000BC: {kind: ImportRefUnloaded, arg0: import_ir_inst0000005C, arg1: entity_name} -// CHECK:STDOUT: inst600000BD: {kind: ImplDecl, arg0: impl60000008, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000BE: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000BF: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst600000BE, type: type(TypeType)} -// CHECK:STDOUT: inst600000C0: {kind: TupleType, arg0: inst_block60000039, type: type(TypeType)} -// CHECK:STDOUT: inst600000C1: {kind: SymbolicBindingPattern, arg0: entity_name6000001C, type: type(inst60000062)} -// CHECK:STDOUT: inst600000C2: {kind: SymbolicBindingPattern, arg0: entity_name6000001D, type: type(inst60000062)} -// CHECK:STDOUT: inst600000C3: {kind: ImportRefLoaded, arg0: import_ir_inst00000060, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000C4: {kind: ImportRefLoaded, arg0: import_ir_inst00000061, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000C5: {kind: ImportRefLoaded, arg0: import_ir_inst00000062, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000C6: {kind: ImportRefLoaded, arg0: import_ir_inst00000063, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst600000C7: {kind: ImportRefUnloaded, arg0: import_ir_inst00000064, arg1: entity_name} -// CHECK:STDOUT: inst600000C8: {kind: ImplWitnessTable, arg0: inst_block6000003C, arg1: impl60000008} -// CHECK:STDOUT: inst600000C9: {kind: ImplWitness, arg0: inst600000C8, arg1: specific6000000A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000CA: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000CB: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000CC: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst600000CA, type: type(TypeType)} -// CHECK:STDOUT: inst600000CD: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst600000CB, type: type(TypeType)} -// CHECK:STDOUT: inst600000CE: {kind: TupleType, arg0: inst_block6000003E, type: type(TypeType)} -// CHECK:STDOUT: inst600000CF: {kind: ImplWitness, arg0: inst600000C8, arg1: specific6000000B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000D0: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant60000072)} -// CHECK:STDOUT: inst600000D1: {kind: FunctionType, arg0: function60000004, arg1: specific6000000A, type: type(TypeType)} -// CHECK:STDOUT: inst600000D2: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000072)} -// CHECK:STDOUT: inst600000D3: {kind: PatternType, arg0: inst600000C0, type: type(TypeType)} -// CHECK:STDOUT: inst600000D4: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000077)} -// CHECK:STDOUT: inst600000D5: {kind: OutParamPattern, arg0: inst600000D4, arg1: call_param1, type: type(symbolic_constant60000077)} -// CHECK:STDOUT: inst600000D6: {kind: ValueBindingPattern, arg0: entity_name60000024, type: type(symbolic_constant60000077)} -// CHECK:STDOUT: inst600000D7: {kind: ValueParamPattern, arg0: inst600000D6, arg1: call_param0, type: type(symbolic_constant60000077)} -// CHECK:STDOUT: inst600000D8: {kind: ImportRefLoaded, arg0: import_ir_inst00000071, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000D9: {kind: ImportRefLoaded, arg0: import_ir_inst00000072, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000DA: {kind: FunctionType, arg0: function60000004, arg1: specific6000000B, type: type(TypeType)} -// CHECK:STDOUT: inst600000DB: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000079)} -// CHECK:STDOUT: inst600000DC: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000DD: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst600000DC, type: type(TypeType)} -// CHECK:STDOUT: inst600000DE: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000DF: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst600000DE, type: type(TypeType)} -// CHECK:STDOUT: inst600000E0: {kind: TupleType, arg0: inst_block60000046, type: type(TypeType)} -// CHECK:STDOUT: inst600000E1: {kind: PatternType, arg0: inst600000E0, type: type(TypeType)} -// CHECK:STDOUT: inst600000E2: {kind: RequireCompleteType, arg0: inst600000C0, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E3: {kind: RequireCompleteType, arg0: inst600000BF, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E4: {kind: LookupImplWitness, arg0: inst600000BE, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E5: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000BE, type: type(TypeType)} -// CHECK:STDOUT: inst600000E6: {kind: ImplWitnessAccess, arg0: inst600000E4, arg1: element0, type: type(symbolic_constant60000091)} -// CHECK:STDOUT: inst600000E7: {kind: SpecificImplFunction, arg0: inst600000E6, arg1: specific6000000D, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000E8: {kind: RequireCompleteType, arg0: inst600000E0, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000E9: {kind: RequireCompleteType, arg0: inst600000DD, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000EA: {kind: LookupImplWitness, arg0: inst600000DC, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000EB: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000DC, type: type(TypeType)} -// CHECK:STDOUT: inst600000EC: {kind: ImplWitnessAccess, arg0: inst600000EA, arg1: element0, type: type(symbolic_constant6000009A)} -// CHECK:STDOUT: inst600000ED: {kind: SpecificImplFunction, arg0: inst600000EC, arg1: specific6000000E, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000EE: {kind: RequireCompleteType, arg0: inst600000DF, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000EF: {kind: LookupImplWitness, arg0: inst600000DE, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst600000F0: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000DE, type: type(TypeType)} -// CHECK:STDOUT: inst600000F1: {kind: ImplWitnessAccess, arg0: inst600000EF, arg1: element0, type: type(symbolic_constant6000009F)} -// CHECK:STDOUT: inst600000F2: {kind: SpecificImplFunction, arg0: inst600000F1, arg1: specific6000000F, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst600000F3: {kind: PatternType, arg0: inst600000BF, type: type(TypeType)} -// CHECK:STDOUT: inst600000F4: {kind: ImportRefUnloaded, arg0: import_ir_inst00000086, arg1: entity_name} -// CHECK:STDOUT: inst600000F5: {kind: ImplDecl, arg0: impl60000009, arg1: inst_block_empty} -// CHECK:STDOUT: inst600000F6: {kind: SymbolicBinding, arg0: entity_name60000029, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst600000F7: {kind: SymbolicBindingType, arg0: entity_name60000029, arg1: inst600000F6, type: type(TypeType)} -// CHECK:STDOUT: inst600000F8: {kind: TupleType, arg0: inst_block6000004F, type: type(TypeType)} -// CHECK:STDOUT: inst600000F9: {kind: SymbolicBindingPattern, arg0: entity_name6000002B, type: type(inst60000062)} -// CHECK:STDOUT: inst600000FA: {kind: SymbolicBindingPattern, arg0: entity_name6000002C, type: type(inst60000062)} -// CHECK:STDOUT: inst600000FB: {kind: SymbolicBindingPattern, arg0: entity_name6000002D, type: type(inst60000062)} -// CHECK:STDOUT: inst600000FC: {kind: ImportRefLoaded, arg0: import_ir_inst0000008B, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000FD: {kind: ImportRefLoaded, arg0: import_ir_inst0000008C, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000FE: {kind: ImportRefLoaded, arg0: import_ir_inst0000008D, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst600000FF: {kind: ImportRefLoaded, arg0: import_ir_inst0000008E, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000100: {kind: ImportRefLoaded, arg0: import_ir_inst0000008F, arg1: entity_name, type: type(TypeType)} -// CHECK:STDOUT: inst60000101: {kind: ImportRefUnloaded, arg0: import_ir_inst00000090, arg1: entity_name} -// CHECK:STDOUT: inst60000102: {kind: ImplWitnessTable, arg0: inst_block60000052, arg1: impl60000009} -// CHECK:STDOUT: inst60000103: {kind: ImplWitness, arg0: inst60000102, arg1: specific60000010, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000104: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000105: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000106: {kind: SymbolicBinding, arg0: entity_name60000029, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst60000107: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000104, type: type(TypeType)} -// CHECK:STDOUT: inst60000108: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst60000105, type: type(TypeType)} -// CHECK:STDOUT: inst60000109: {kind: SymbolicBindingType, arg0: entity_name60000029, arg1: inst60000106, type: type(TypeType)} -// CHECK:STDOUT: inst6000010A: {kind: TupleType, arg0: inst_block60000054, type: type(TypeType)} -// CHECK:STDOUT: inst6000010B: {kind: ImplWitness, arg0: inst60000102, arg1: specific60000011, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000010C: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant600000BA)} -// CHECK:STDOUT: inst6000010D: {kind: FunctionType, arg0: function60000005, arg1: specific60000010, type: type(TypeType)} -// CHECK:STDOUT: inst6000010E: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000BA)} -// CHECK:STDOUT: inst6000010F: {kind: PatternType, arg0: inst600000F8, type: type(TypeType)} -// CHECK:STDOUT: inst60000110: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant600000BF)} -// CHECK:STDOUT: inst60000111: {kind: OutParamPattern, arg0: inst60000110, arg1: call_param1, type: type(symbolic_constant600000BF)} -// CHECK:STDOUT: inst60000112: {kind: ValueBindingPattern, arg0: entity_name60000037, type: type(symbolic_constant600000BF)} -// CHECK:STDOUT: inst60000113: {kind: ValueParamPattern, arg0: inst60000112, arg1: call_param0, type: type(symbolic_constant600000BF)} -// CHECK:STDOUT: inst60000114: {kind: ImportRefLoaded, arg0: import_ir_inst0000009F, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000115: {kind: ImportRefLoaded, arg0: import_ir_inst000000A0, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000116: {kind: ImportRefLoaded, arg0: import_ir_inst000000A1, arg1: entity_name, type: type(inst60000047)} -// CHECK:STDOUT: inst60000117: {kind: FunctionType, arg0: function60000005, arg1: specific60000011, type: type(TypeType)} -// CHECK:STDOUT: inst60000118: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000C1)} -// CHECK:STDOUT: inst60000119: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000011A: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000119, type: type(TypeType)} -// CHECK:STDOUT: inst6000011B: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000011C: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst6000011B, type: type(TypeType)} -// CHECK:STDOUT: inst6000011D: {kind: SymbolicBinding, arg0: entity_name60000029, arg1: inst, type: type(inst60000047)} -// CHECK:STDOUT: inst6000011E: {kind: SymbolicBindingType, arg0: entity_name60000029, arg1: inst6000011D, type: type(TypeType)} -// CHECK:STDOUT: inst6000011F: {kind: TupleType, arg0: inst_block6000005C, type: type(TypeType)} -// CHECK:STDOUT: inst60000120: {kind: PatternType, arg0: inst6000011F, type: type(TypeType)} -// CHECK:STDOUT: inst60000121: {kind: RequireCompleteType, arg0: inst600000F8, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000122: {kind: RequireCompleteType, arg0: inst600000F7, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000123: {kind: LookupImplWitness, arg0: inst600000F6, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000124: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst600000F6, type: type(TypeType)} -// CHECK:STDOUT: inst60000125: {kind: ImplWitnessAccess, arg0: inst60000123, arg1: element0, type: type(symbolic_constant600000E2)} -// CHECK:STDOUT: inst60000126: {kind: SpecificImplFunction, arg0: inst60000125, arg1: specific60000013, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000127: {kind: RequireCompleteType, arg0: inst6000011F, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000128: {kind: RequireCompleteType, arg0: inst6000011A, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000129: {kind: LookupImplWitness, arg0: inst60000119, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000012A: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst60000119, type: type(TypeType)} -// CHECK:STDOUT: inst6000012B: {kind: ImplWitnessAccess, arg0: inst60000129, arg1: element0, type: type(symbolic_constant600000EB)} -// CHECK:STDOUT: inst6000012C: {kind: SpecificImplFunction, arg0: inst6000012B, arg1: specific60000014, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst6000012D: {kind: RequireCompleteType, arg0: inst6000011C, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000012E: {kind: LookupImplWitness, arg0: inst6000011B, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000012F: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000011B, type: type(TypeType)} -// CHECK:STDOUT: inst60000130: {kind: ImplWitnessAccess, arg0: inst6000012E, arg1: element0, type: type(symbolic_constant600000F0)} -// CHECK:STDOUT: inst60000131: {kind: SpecificImplFunction, arg0: inst60000130, arg1: specific60000015, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000132: {kind: RequireCompleteType, arg0: inst6000011E, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000133: {kind: LookupImplWitness, arg0: inst6000011D, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000134: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000011D, type: type(TypeType)} -// CHECK:STDOUT: inst60000135: {kind: ImplWitnessAccess, arg0: inst60000133, arg1: element0, type: type(symbolic_constant600000F5)} -// CHECK:STDOUT: inst60000136: {kind: SpecificImplFunction, arg0: inst60000135, arg1: specific60000016, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000137: {kind: PatternType, arg0: inst600000F7, type: type(TypeType)} -// CHECK:STDOUT: inst60000138: {kind: LookupImplWitness, arg0: inst6000001B, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000003F: {kind: RequireCompleteType, arg0: inst6000001D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000040: {kind: NameRef, arg0: name00000002, arg1: inst6000001E, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000041: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000025)} +// CHECK:STDOUT: inst60000042: {kind: TupleLiteral, arg0: inst_block60000015, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000043: {kind: RequireCompleteType, arg0: inst6000002B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000044: {kind: TupleAccess, arg0: inst60000035, arg1: element0, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000045: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000046: {kind: ImportRefLoaded, arg0: import_ir_inst00000000, arg1: entity_name60000003, type: type(TypeType)} +// CHECK:STDOUT: inst60000047: {kind: InterfaceDecl, arg0: interface60000000, arg1: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000048: {kind: FacetType, arg0: facet_type60000001, type: type(TypeType)} +// CHECK:STDOUT: inst60000049: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000004A: {kind: ImportRefUnloaded, arg0: import_ir_inst00000002, arg1: entity_name} +// CHECK:STDOUT: inst6000004B: {kind: ImportRefLoaded, arg0: import_ir_inst00000003, arg1: entity_name, type: type(inst6000004D)} +// CHECK:STDOUT: inst6000004C: {kind: ImportRefUnloaded, arg0: import_ir_inst00000004, arg1: entity_name60000005} +// CHECK:STDOUT: inst6000004D: {kind: AssociatedEntityType, arg0: interface60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst6000004E: {kind: ImportRefLoaded, arg0: import_ir_inst00000005, arg1: entity_name, type: type(inst60000051)} +// CHECK:STDOUT: inst6000004F: {kind: AssociatedEntity, arg0: element0, arg1: inst6000004E, type: type(inst6000004D)} +// CHECK:STDOUT: inst60000050: {kind: FunctionDecl, arg0: function60000001, arg1: inst_block_empty, type: type(inst60000051)} +// CHECK:STDOUT: inst60000051: {kind: FunctionType, arg0: function60000001, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000052: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000051)} +// CHECK:STDOUT: inst60000053: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst60000049, type: type(TypeType)} +// CHECK:STDOUT: inst60000054: {kind: PatternType, arg0: inst60000053, type: type(TypeType)} +// CHECK:STDOUT: inst60000055: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000013)} +// CHECK:STDOUT: inst60000056: {kind: OutParamPattern, arg0: inst60000055, arg1: call_param1, type: type(symbolic_constant60000013)} +// CHECK:STDOUT: inst60000057: {kind: ValueBindingPattern, arg0: entity_name60000008, type: type(symbolic_constant60000013)} +// CHECK:STDOUT: inst60000058: {kind: ValueParamPattern, arg0: inst60000057, arg1: call_param0, type: type(symbolic_constant60000013)} +// CHECK:STDOUT: inst60000059: {kind: ImportRefLoaded, arg0: import_ir_inst0000000B, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst6000005A: {kind: SymbolicBinding, arg0: entity_name60000004, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000005B: {kind: SymbolicBindingType, arg0: entity_name60000004, arg1: inst6000005A, type: type(TypeType)} +// CHECK:STDOUT: inst6000005C: {kind: PatternType, arg0: inst6000005B, type: type(TypeType)} +// CHECK:STDOUT: inst6000005D: {kind: LookupImplWitness, arg0: inst6000001C, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000005E: {kind: ImportRefUnloaded, arg0: import_ir_inst0000000F, arg1: entity_name} +// CHECK:STDOUT: inst6000005F: {kind: ImplDecl, arg0: impl60000000, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000060: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000061: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000060, type: type(TypeType)} +// CHECK:STDOUT: inst60000062: {kind: ConstType, arg0: inst60000061, type: type(TypeType)} +// CHECK:STDOUT: inst60000063: {kind: PatternType, arg0: inst60000048, type: type(TypeType)} +// CHECK:STDOUT: inst60000064: {kind: SymbolicBindingPattern, arg0: entity_name6000000D, type: type(inst60000063)} +// CHECK:STDOUT: inst60000065: {kind: ImportRefLoaded, arg0: import_ir_inst00000012, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000066: {kind: ImportRefLoaded, arg0: import_ir_inst00000013, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000067: {kind: ImportRefLoaded, arg0: import_ir_inst00000014, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000068: {kind: ImportRefUnloaded, arg0: import_ir_inst00000015, arg1: entity_name} +// CHECK:STDOUT: inst60000069: {kind: ImplWitnessTable, arg0: inst_block6000001E, arg1: impl60000000} +// CHECK:STDOUT: inst6000006A: {kind: ImplWitness, arg0: inst60000069, arg1: specific60000002, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000006B: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000006C: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000006B, type: type(TypeType)} +// CHECK:STDOUT: inst6000006D: {kind: ConstType, arg0: inst6000006C, type: type(TypeType)} +// CHECK:STDOUT: inst6000006E: {kind: ImplWitness, arg0: inst60000069, arg1: specific60000003, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000006F: {kind: FunctionDecl, arg0: function60000002, arg1: inst_block_empty, type: type(symbolic_constant60000026)} +// CHECK:STDOUT: inst60000070: {kind: FunctionType, arg0: function60000002, arg1: specific60000002, type: type(TypeType)} +// CHECK:STDOUT: inst60000071: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000026)} +// CHECK:STDOUT: inst60000072: {kind: PatternType, arg0: inst60000062, type: type(TypeType)} +// CHECK:STDOUT: inst60000073: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant6000002B)} +// CHECK:STDOUT: inst60000074: {kind: OutParamPattern, arg0: inst60000073, arg1: call_param1, type: type(symbolic_constant6000002B)} +// CHECK:STDOUT: inst60000075: {kind: ValueBindingPattern, arg0: entity_name60000011, type: type(symbolic_constant6000002B)} +// CHECK:STDOUT: inst60000076: {kind: ValueParamPattern, arg0: inst60000075, arg1: call_param0, type: type(symbolic_constant6000002B)} +// CHECK:STDOUT: inst60000077: {kind: ImportRefLoaded, arg0: import_ir_inst00000020, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000078: {kind: FunctionType, arg0: function60000002, arg1: specific60000003, type: type(TypeType)} +// CHECK:STDOUT: inst60000079: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant6000002D)} +// CHECK:STDOUT: inst6000007A: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000007B: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000007A, type: type(TypeType)} +// CHECK:STDOUT: inst6000007C: {kind: ConstType, arg0: inst6000007B, type: type(TypeType)} +// CHECK:STDOUT: inst6000007D: {kind: PatternType, arg0: inst6000007C, type: type(TypeType)} +// CHECK:STDOUT: inst6000007E: {kind: RequireCompleteType, arg0: inst60000062, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000007F: {kind: RequireCompleteType, arg0: inst60000061, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000080: {kind: LookupImplWitness, arg0: inst60000060, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000081: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst60000060, type: type(TypeType)} +// CHECK:STDOUT: inst60000082: {kind: ImplWitnessAccess, arg0: inst60000080, arg1: element0, type: type(symbolic_constant6000003C)} +// CHECK:STDOUT: inst60000083: {kind: SpecificImplFunction, arg0: inst60000082, arg1: specific60000005, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000084: {kind: RequireCompleteType, arg0: inst6000007C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000085: {kind: RequireCompleteType, arg0: inst6000007B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000086: {kind: LookupImplWitness, arg0: inst6000007A, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000087: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000007A, type: type(TypeType)} +// CHECK:STDOUT: inst60000088: {kind: ImplWitnessAccess, arg0: inst60000086, arg1: element0, type: type(symbolic_constant60000045)} +// CHECK:STDOUT: inst60000089: {kind: SpecificImplFunction, arg0: inst60000088, arg1: specific60000006, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000008A: {kind: PatternType, arg0: inst60000061, type: type(TypeType)} +// CHECK:STDOUT: inst6000008B: {kind: ImportRefUnloaded, arg0: import_ir_inst0000002D, arg1: entity_name} +// CHECK:STDOUT: inst6000008C: {kind: ImplDecl, arg0: impl60000001, arg1: inst_block_empty} +// CHECK:STDOUT: inst6000008D: {kind: ImportRefLoaded, arg0: import_ir_inst0000002F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000008E: {kind: ImportRefLoaded, arg0: import_ir_inst00000030, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000008F: {kind: ImportRefUnloaded, arg0: import_ir_inst00000031, arg1: entity_name} +// CHECK:STDOUT: inst60000090: {kind: ImplDecl, arg0: impl60000002, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000091: {kind: ImportRefLoaded, arg0: import_ir_inst00000033, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000092: {kind: ImportRefLoaded, arg0: import_ir_inst00000034, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000093: {kind: ImportRefUnloaded, arg0: import_ir_inst00000035, arg1: entity_name} +// CHECK:STDOUT: inst60000094: {kind: ImplDecl, arg0: impl60000003, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000095: {kind: ImportRefLoaded, arg0: import_ir_inst00000037, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000096: {kind: ImportRefLoaded, arg0: import_ir_inst00000038, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000097: {kind: ImportRefUnloaded, arg0: import_ir_inst00000039, arg1: entity_name} +// CHECK:STDOUT: inst60000098: {kind: ImplDecl, arg0: impl60000004, arg1: inst_block_empty} +// CHECK:STDOUT: inst60000099: {kind: ImportRefLoaded, arg0: import_ir_inst0000003B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009A: {kind: ImportRefLoaded, arg0: import_ir_inst0000003C, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009B: {kind: ImportRefLoaded, arg0: import_ir_inst0000003D, arg1: entity_name, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000009C: {kind: ImplDecl, arg0: impl60000005, arg1: inst_block_empty} +// CHECK:STDOUT: inst6000009D: {kind: SymbolicBindingPattern, arg0: entity_name60000015, type: type(inst60000018)} +// CHECK:STDOUT: inst6000009E: {kind: ImportRefLoaded, arg0: import_ir_inst00000040, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst6000009F: {kind: ImportRefLoaded, arg0: import_ir_inst00000041, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000A0: {kind: ImportRefLoaded, arg0: import_ir_inst00000042, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000A1: {kind: ImportRefUnloaded, arg0: import_ir_inst00000043, arg1: entity_name} +// CHECK:STDOUT: inst600000A2: {kind: ImplWitnessTable, arg0: inst_block6000002F, arg1: impl60000005} +// CHECK:STDOUT: inst600000A3: {kind: ImplWitness, arg0: inst600000A2, arg1: specific60000007, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000A4: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst600000A5: {kind: PointerType, arg0: inst600000A4, type: type(TypeType)} +// CHECK:STDOUT: inst600000A6: {kind: ImplWitness, arg0: inst600000A2, arg1: specific60000008, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000A7: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block_empty, type: type(symbolic_constant60000051)} +// CHECK:STDOUT: inst600000A8: {kind: FunctionType, arg0: function60000003, arg1: specific60000007, type: type(TypeType)} +// CHECK:STDOUT: inst600000A9: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000051)} +// CHECK:STDOUT: inst600000AA: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000055)} +// CHECK:STDOUT: inst600000AB: {kind: OutParamPattern, arg0: inst600000AA, arg1: call_param1, type: type(symbolic_constant60000055)} +// CHECK:STDOUT: inst600000AC: {kind: ValueBindingPattern, arg0: entity_name60000018, type: type(symbolic_constant60000055)} +// CHECK:STDOUT: inst600000AD: {kind: ValueParamPattern, arg0: inst600000AC, arg1: call_param0, type: type(symbolic_constant60000055)} +// CHECK:STDOUT: inst600000AE: {kind: ImportRefLoaded, arg0: import_ir_inst0000004D, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000AF: {kind: FunctionType, arg0: function60000003, arg1: specific60000008, type: type(TypeType)} +// CHECK:STDOUT: inst600000B0: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000058)} +// CHECK:STDOUT: inst600000B1: {kind: RequireCompleteType, arg0: inst600000A5, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000B2: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(TypeType)} +// CHECK:STDOUT: inst600000B3: {kind: PointerType, arg0: inst600000B2, type: type(TypeType)} +// CHECK:STDOUT: inst600000B4: {kind: PatternType, arg0: inst600000B3, type: type(TypeType)} +// CHECK:STDOUT: inst600000B5: {kind: ImportRefUnloaded, arg0: import_ir_inst00000054, arg1: entity_name} +// CHECK:STDOUT: inst600000B6: {kind: ImplDecl, arg0: impl60000006, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000B7: {kind: ImportRefLoaded, arg0: import_ir_inst00000056, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B8: {kind: ImportRefLoaded, arg0: import_ir_inst00000057, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000B9: {kind: ImportRefUnloaded, arg0: import_ir_inst00000058, arg1: entity_name} +// CHECK:STDOUT: inst600000BA: {kind: ImplDecl, arg0: impl60000007, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000BB: {kind: ImportRefLoaded, arg0: import_ir_inst0000005A, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BC: {kind: ImportRefLoaded, arg0: import_ir_inst0000005B, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000BD: {kind: ImportRefUnloaded, arg0: import_ir_inst0000005C, arg1: entity_name} +// CHECK:STDOUT: inst600000BE: {kind: ImplDecl, arg0: impl60000008, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000BF: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000C0: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst600000BF, type: type(TypeType)} +// CHECK:STDOUT: inst600000C1: {kind: TupleType, arg0: inst_block60000039, type: type(TypeType)} +// CHECK:STDOUT: inst600000C2: {kind: SymbolicBindingPattern, arg0: entity_name6000001C, type: type(inst60000063)} +// CHECK:STDOUT: inst600000C3: {kind: SymbolicBindingPattern, arg0: entity_name6000001D, type: type(inst60000063)} +// CHECK:STDOUT: inst600000C4: {kind: ImportRefLoaded, arg0: import_ir_inst00000060, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000C5: {kind: ImportRefLoaded, arg0: import_ir_inst00000061, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000C6: {kind: ImportRefLoaded, arg0: import_ir_inst00000062, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000C7: {kind: ImportRefLoaded, arg0: import_ir_inst00000063, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst600000C8: {kind: ImportRefUnloaded, arg0: import_ir_inst00000064, arg1: entity_name} +// CHECK:STDOUT: inst600000C9: {kind: ImplWitnessTable, arg0: inst_block6000003C, arg1: impl60000008} +// CHECK:STDOUT: inst600000CA: {kind: ImplWitness, arg0: inst600000C9, arg1: specific6000000A, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000CB: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000CC: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000CD: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst600000CB, type: type(TypeType)} +// CHECK:STDOUT: inst600000CE: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst600000CC, type: type(TypeType)} +// CHECK:STDOUT: inst600000CF: {kind: TupleType, arg0: inst_block6000003E, type: type(TypeType)} +// CHECK:STDOUT: inst600000D0: {kind: ImplWitness, arg0: inst600000C9, arg1: specific6000000B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000D1: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block_empty, type: type(symbolic_constant60000072)} +// CHECK:STDOUT: inst600000D2: {kind: FunctionType, arg0: function60000004, arg1: specific6000000A, type: type(TypeType)} +// CHECK:STDOUT: inst600000D3: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000072)} +// CHECK:STDOUT: inst600000D4: {kind: PatternType, arg0: inst600000C1, type: type(TypeType)} +// CHECK:STDOUT: inst600000D5: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant60000077)} +// CHECK:STDOUT: inst600000D6: {kind: OutParamPattern, arg0: inst600000D5, arg1: call_param1, type: type(symbolic_constant60000077)} +// CHECK:STDOUT: inst600000D7: {kind: ValueBindingPattern, arg0: entity_name60000024, type: type(symbolic_constant60000077)} +// CHECK:STDOUT: inst600000D8: {kind: ValueParamPattern, arg0: inst600000D7, arg1: call_param0, type: type(symbolic_constant60000077)} +// CHECK:STDOUT: inst600000D9: {kind: ImportRefLoaded, arg0: import_ir_inst00000071, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000DA: {kind: ImportRefLoaded, arg0: import_ir_inst00000072, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000DB: {kind: FunctionType, arg0: function60000004, arg1: specific6000000B, type: type(TypeType)} +// CHECK:STDOUT: inst600000DC: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant60000079)} +// CHECK:STDOUT: inst600000DD: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000DE: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst600000DD, type: type(TypeType)} +// CHECK:STDOUT: inst600000DF: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000E0: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst600000DF, type: type(TypeType)} +// CHECK:STDOUT: inst600000E1: {kind: TupleType, arg0: inst_block60000046, type: type(TypeType)} +// CHECK:STDOUT: inst600000E2: {kind: PatternType, arg0: inst600000E1, type: type(TypeType)} +// CHECK:STDOUT: inst600000E3: {kind: RequireCompleteType, arg0: inst600000C1, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E4: {kind: RequireCompleteType, arg0: inst600000C0, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E5: {kind: LookupImplWitness, arg0: inst600000BF, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000E6: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000BF, type: type(TypeType)} +// CHECK:STDOUT: inst600000E7: {kind: ImplWitnessAccess, arg0: inst600000E5, arg1: element0, type: type(symbolic_constant60000091)} +// CHECK:STDOUT: inst600000E8: {kind: SpecificImplFunction, arg0: inst600000E7, arg1: specific6000000D, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000E9: {kind: RequireCompleteType, arg0: inst600000E1, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000EA: {kind: RequireCompleteType, arg0: inst600000DE, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000EB: {kind: LookupImplWitness, arg0: inst600000DD, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000EC: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000DD, type: type(TypeType)} +// CHECK:STDOUT: inst600000ED: {kind: ImplWitnessAccess, arg0: inst600000EB, arg1: element0, type: type(symbolic_constant6000009A)} +// CHECK:STDOUT: inst600000EE: {kind: SpecificImplFunction, arg0: inst600000ED, arg1: specific6000000E, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000EF: {kind: RequireCompleteType, arg0: inst600000E0, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000F0: {kind: LookupImplWitness, arg0: inst600000DF, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst600000F1: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000DF, type: type(TypeType)} +// CHECK:STDOUT: inst600000F2: {kind: ImplWitnessAccess, arg0: inst600000F0, arg1: element0, type: type(symbolic_constant6000009F)} +// CHECK:STDOUT: inst600000F3: {kind: SpecificImplFunction, arg0: inst600000F2, arg1: specific6000000F, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst600000F4: {kind: PatternType, arg0: inst600000C0, type: type(TypeType)} +// CHECK:STDOUT: inst600000F5: {kind: ImportRefUnloaded, arg0: import_ir_inst00000086, arg1: entity_name} +// CHECK:STDOUT: inst600000F6: {kind: ImplDecl, arg0: impl60000009, arg1: inst_block_empty} +// CHECK:STDOUT: inst600000F7: {kind: SymbolicBinding, arg0: entity_name60000029, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst600000F8: {kind: SymbolicBindingType, arg0: entity_name60000029, arg1: inst600000F7, type: type(TypeType)} +// CHECK:STDOUT: inst600000F9: {kind: TupleType, arg0: inst_block6000004F, type: type(TypeType)} +// CHECK:STDOUT: inst600000FA: {kind: SymbolicBindingPattern, arg0: entity_name6000002B, type: type(inst60000063)} +// CHECK:STDOUT: inst600000FB: {kind: SymbolicBindingPattern, arg0: entity_name6000002C, type: type(inst60000063)} +// CHECK:STDOUT: inst600000FC: {kind: SymbolicBindingPattern, arg0: entity_name6000002D, type: type(inst60000063)} +// CHECK:STDOUT: inst600000FD: {kind: ImportRefLoaded, arg0: import_ir_inst0000008B, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000FE: {kind: ImportRefLoaded, arg0: import_ir_inst0000008C, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst600000FF: {kind: ImportRefLoaded, arg0: import_ir_inst0000008D, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000100: {kind: ImportRefLoaded, arg0: import_ir_inst0000008E, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000101: {kind: ImportRefLoaded, arg0: import_ir_inst0000008F, arg1: entity_name, type: type(TypeType)} +// CHECK:STDOUT: inst60000102: {kind: ImportRefUnloaded, arg0: import_ir_inst00000090, arg1: entity_name} +// CHECK:STDOUT: inst60000103: {kind: ImplWitnessTable, arg0: inst_block60000052, arg1: impl60000009} +// CHECK:STDOUT: inst60000104: {kind: ImplWitness, arg0: inst60000103, arg1: specific60000010, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000105: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000106: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000107: {kind: SymbolicBinding, arg0: entity_name60000029, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst60000108: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst60000105, type: type(TypeType)} +// CHECK:STDOUT: inst60000109: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst60000106, type: type(TypeType)} +// CHECK:STDOUT: inst6000010A: {kind: SymbolicBindingType, arg0: entity_name60000029, arg1: inst60000107, type: type(TypeType)} +// CHECK:STDOUT: inst6000010B: {kind: TupleType, arg0: inst_block60000054, type: type(TypeType)} +// CHECK:STDOUT: inst6000010C: {kind: ImplWitness, arg0: inst60000103, arg1: specific60000011, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000010D: {kind: FunctionDecl, arg0: function60000005, arg1: inst_block_empty, type: type(symbolic_constant600000BA)} +// CHECK:STDOUT: inst6000010E: {kind: FunctionType, arg0: function60000005, arg1: specific60000010, type: type(TypeType)} +// CHECK:STDOUT: inst6000010F: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000BA)} +// CHECK:STDOUT: inst60000110: {kind: PatternType, arg0: inst600000F9, type: type(TypeType)} +// CHECK:STDOUT: inst60000111: {kind: ReturnSlotPattern, arg0: inst, type: type(symbolic_constant600000BF)} +// CHECK:STDOUT: inst60000112: {kind: OutParamPattern, arg0: inst60000111, arg1: call_param1, type: type(symbolic_constant600000BF)} +// CHECK:STDOUT: inst60000113: {kind: ValueBindingPattern, arg0: entity_name60000037, type: type(symbolic_constant600000BF)} +// CHECK:STDOUT: inst60000114: {kind: ValueParamPattern, arg0: inst60000113, arg1: call_param0, type: type(symbolic_constant600000BF)} +// CHECK:STDOUT: inst60000115: {kind: ImportRefLoaded, arg0: import_ir_inst0000009F, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000116: {kind: ImportRefLoaded, arg0: import_ir_inst000000A0, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000117: {kind: ImportRefLoaded, arg0: import_ir_inst000000A1, arg1: entity_name, type: type(inst60000048)} +// CHECK:STDOUT: inst60000118: {kind: FunctionType, arg0: function60000005, arg1: specific60000011, type: type(TypeType)} +// CHECK:STDOUT: inst60000119: {kind: StructValue, arg0: inst_block_empty, type: type(symbolic_constant600000C1)} +// CHECK:STDOUT: inst6000011A: {kind: SymbolicBinding, arg0: entity_name60000001, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000011B: {kind: SymbolicBindingType, arg0: entity_name60000001, arg1: inst6000011A, type: type(TypeType)} +// CHECK:STDOUT: inst6000011C: {kind: SymbolicBinding, arg0: entity_name6000001A, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000011D: {kind: SymbolicBindingType, arg0: entity_name6000001A, arg1: inst6000011C, type: type(TypeType)} +// CHECK:STDOUT: inst6000011E: {kind: SymbolicBinding, arg0: entity_name60000029, arg1: inst, type: type(inst60000048)} +// CHECK:STDOUT: inst6000011F: {kind: SymbolicBindingType, arg0: entity_name60000029, arg1: inst6000011E, type: type(TypeType)} +// CHECK:STDOUT: inst60000120: {kind: TupleType, arg0: inst_block6000005C, type: type(TypeType)} +// CHECK:STDOUT: inst60000121: {kind: PatternType, arg0: inst60000120, type: type(TypeType)} +// CHECK:STDOUT: inst60000122: {kind: RequireCompleteType, arg0: inst600000F9, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000123: {kind: RequireCompleteType, arg0: inst600000F8, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000124: {kind: LookupImplWitness, arg0: inst600000F7, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000125: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst600000F7, type: type(TypeType)} +// CHECK:STDOUT: inst60000126: {kind: ImplWitnessAccess, arg0: inst60000124, arg1: element0, type: type(symbolic_constant600000E2)} +// CHECK:STDOUT: inst60000127: {kind: SpecificImplFunction, arg0: inst60000126, arg1: specific60000013, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000128: {kind: RequireCompleteType, arg0: inst60000120, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000129: {kind: RequireCompleteType, arg0: inst6000011B, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000012A: {kind: LookupImplWitness, arg0: inst6000011A, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000012B: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000011A, type: type(TypeType)} +// CHECK:STDOUT: inst6000012C: {kind: ImplWitnessAccess, arg0: inst6000012A, arg1: element0, type: type(symbolic_constant600000EB)} +// CHECK:STDOUT: inst6000012D: {kind: SpecificImplFunction, arg0: inst6000012C, arg1: specific60000014, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000012E: {kind: RequireCompleteType, arg0: inst6000011D, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000012F: {kind: LookupImplWitness, arg0: inst6000011C, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000130: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000011C, type: type(TypeType)} +// CHECK:STDOUT: inst60000131: {kind: ImplWitnessAccess, arg0: inst6000012F, arg1: element0, type: type(symbolic_constant600000F0)} +// CHECK:STDOUT: inst60000132: {kind: SpecificImplFunction, arg0: inst60000131, arg1: specific60000015, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000133: {kind: RequireCompleteType, arg0: inst6000011F, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000134: {kind: LookupImplWitness, arg0: inst6000011E, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000135: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000011E, type: type(TypeType)} +// CHECK:STDOUT: inst60000136: {kind: ImplWitnessAccess, arg0: inst60000134, arg1: element0, type: type(symbolic_constant600000F5)} +// CHECK:STDOUT: inst60000137: {kind: SpecificImplFunction, arg0: inst60000136, arg1: specific60000016, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000138: {kind: PatternType, arg0: inst600000F8, type: type(TypeType)} // CHECK:STDOUT: inst60000139: {kind: LookupImplWitness, arg0: inst6000001C, arg1: specific_interface60000000, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst6000013A: {kind: FacetValue, arg0: inst6000001B, arg1: inst_block60000067, type: type(inst60000047)} -// CHECK:STDOUT: inst6000013B: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000013A, type: type(TypeType)} -// CHECK:STDOUT: inst6000013C: {kind: ImplWitnessAccess, arg0: inst60000138, arg1: element0, type: type(symbolic_constant60000100)} -// CHECK:STDOUT: inst6000013D: {kind: ImplWitnessAccess, arg0: inst60000138, arg1: element0, type: type(symbolic_constant600000FD)} -// CHECK:STDOUT: inst6000013E: {kind: FacetValue, arg0: inst6000001C, arg1: inst_block60000068, type: type(inst60000047)} -// CHECK:STDOUT: inst6000013F: {kind: FunctionTypeWithSelfType, arg0: inst60000050, arg1: inst6000013E, type: type(TypeType)} -// CHECK:STDOUT: inst60000140: {kind: ImplWitnessAccess, arg0: inst60000139, arg1: element0, type: type(symbolic_constant60000100)} -// CHECK:STDOUT: inst60000141: {kind: BoundMethod, arg0: inst6000003F, arg1: inst6000013C, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst60000142: {kind: SpecificImplFunction, arg0: inst6000013C, arg1: specific60000017, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst6000013A: {kind: LookupImplWitness, arg0: inst6000001D, arg1: specific_interface60000000, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst6000013B: {kind: FacetValue, arg0: inst6000001C, arg1: inst_block60000067, type: type(inst60000048)} +// CHECK:STDOUT: inst6000013C: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000013B, type: type(TypeType)} +// CHECK:STDOUT: inst6000013D: {kind: ImplWitnessAccess, arg0: inst60000139, arg1: element0, type: type(symbolic_constant60000100)} +// CHECK:STDOUT: inst6000013E: {kind: ImplWitnessAccess, arg0: inst60000139, arg1: element0, type: type(symbolic_constant600000FD)} +// CHECK:STDOUT: inst6000013F: {kind: FacetValue, arg0: inst6000001D, arg1: inst_block60000068, type: type(inst60000048)} +// CHECK:STDOUT: inst60000140: {kind: FunctionTypeWithSelfType, arg0: inst60000051, arg1: inst6000013F, type: type(TypeType)} +// CHECK:STDOUT: inst60000141: {kind: ImplWitnessAccess, arg0: inst6000013A, arg1: element0, type: type(symbolic_constant60000100)} +// CHECK:STDOUT: inst60000142: {kind: BoundMethod, arg0: inst60000040, arg1: inst6000013D, type: type(inst(BoundMethodType))} // CHECK:STDOUT: inst60000143: {kind: SpecificImplFunction, arg0: inst6000013D, arg1: specific60000017, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000144: {kind: SpecificImplFunction, arg0: inst60000140, arg1: specific60000018, type: type(inst(SpecificFunctionType))} -// CHECK:STDOUT: inst60000145: {kind: BoundMethod, arg0: inst6000003F, arg1: inst60000142, type: type(inst(BoundMethodType))} -// CHECK:STDOUT: inst60000146: {kind: RequireCompleteType, arg0: inst6000001B, type: type(inst(WitnessType))} -// CHECK:STDOUT: inst60000147: {kind: Call, arg0: inst60000145, arg1: inst_block6000006C, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000148: {kind: InitializeFrom, arg0: inst60000147, arg1: inst60000043, type: type(symbolic_constant00000004)} -// CHECK:STDOUT: inst60000149: {kind: TupleAccess, arg0: inst60000034, arg1: element1, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014A: {kind: TupleInit, arg0: inst_block_empty, arg1: inst60000149, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014B: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014C: {kind: Converted, arg0: inst60000040, arg1: inst6000014A, type: type(inst60000024)} -// CHECK:STDOUT: inst6000014D: {kind: TupleInit, arg0: inst_block6000006D, arg1: inst60000034, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst6000014E: {kind: Converted, arg0: inst60000041, arg1: inst6000014D, type: type(symbolic_constant00000008)} -// CHECK:STDOUT: inst6000014F: {kind: ReturnExpr, arg0: inst6000014E, arg1: inst60000034} +// CHECK:STDOUT: inst60000144: {kind: SpecificImplFunction, arg0: inst6000013E, arg1: specific60000017, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000145: {kind: SpecificImplFunction, arg0: inst60000141, arg1: specific60000018, type: type(inst(SpecificFunctionType))} +// CHECK:STDOUT: inst60000146: {kind: BoundMethod, arg0: inst60000040, arg1: inst60000143, type: type(inst(BoundMethodType))} +// CHECK:STDOUT: inst60000147: {kind: RequireCompleteType, arg0: inst6000001C, type: type(inst(WitnessType))} +// CHECK:STDOUT: inst60000148: {kind: Call, arg0: inst60000146, arg1: inst_block6000006C, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst60000149: {kind: InitializeFrom, arg0: inst60000148, arg1: inst60000044, type: type(symbolic_constant00000004)} +// CHECK:STDOUT: inst6000014A: {kind: TupleAccess, arg0: inst60000035, arg1: element1, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014B: {kind: TupleInit, arg0: inst_block_empty, arg1: inst6000014A, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014C: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014D: {kind: Converted, arg0: inst60000041, arg1: inst6000014B, type: type(inst60000025)} +// CHECK:STDOUT: inst6000014E: {kind: TupleInit, arg0: inst_block6000006D, arg1: inst60000035, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst6000014F: {kind: Converted, arg0: inst60000042, arg1: inst6000014E, type: type(symbolic_constant00000008)} +// CHECK:STDOUT: inst60000150: {kind: ReturnExpr, arg0: inst6000014F, arg1: inst60000035} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) // CHECK:STDOUT: inst60000011: concrete_constant(inst60000011) -// CHECK:STDOUT: inst60000012: symbolic_constant00000000 +// CHECK:STDOUT: inst60000012: concrete_constant(inst60000012) // CHECK:STDOUT: inst60000013: symbolic_constant00000000 -// CHECK:STDOUT: inst60000014: symbolic_constant00000002 -// CHECK:STDOUT: inst60000015: symbolic_constant00000001 -// CHECK:STDOUT: inst60000016: symbolic_constant00000002 -// CHECK:STDOUT: inst60000017: concrete_constant(inst60000017) +// CHECK:STDOUT: inst60000014: symbolic_constant00000000 +// CHECK:STDOUT: inst60000015: symbolic_constant00000002 +// CHECK:STDOUT: inst60000016: symbolic_constant00000001 +// CHECK:STDOUT: inst60000017: symbolic_constant00000002 // CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst60000019: symbolic_constant00000002 -// CHECK:STDOUT: inst6000001A: symbolic_constant00000004 -// CHECK:STDOUT: inst6000001B: symbolic_constant00000003 -// CHECK:STDOUT: inst6000001C: symbolic_constant00000004 -// CHECK:STDOUT: inst6000001E: symbolic_constant00000005 -// CHECK:STDOUT: inst6000001F: concrete_constant(inst6000001F) -// CHECK:STDOUT: inst60000020: symbolic_constant00000006 -// CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) -// CHECK:STDOUT: inst60000022: symbolic_constant00000002 -// CHECK:STDOUT: inst60000023: symbolic_constant00000004 -// CHECK:STDOUT: inst60000024: concrete_constant(inst60000024) -// CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) -// CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) -// CHECK:STDOUT: inst60000029: concrete_constant(inst60000024) -// CHECK:STDOUT: inst6000002A: symbolic_constant00000007 -// CHECK:STDOUT: inst6000002B: symbolic_constant00000008 +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001A: symbolic_constant00000002 +// CHECK:STDOUT: inst6000001B: symbolic_constant00000004 +// CHECK:STDOUT: inst6000001C: symbolic_constant00000003 +// CHECK:STDOUT: inst6000001D: symbolic_constant00000004 +// CHECK:STDOUT: inst6000001F: symbolic_constant00000005 +// CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) +// CHECK:STDOUT: inst60000021: symbolic_constant00000006 +// CHECK:STDOUT: inst60000022: concrete_constant(inst60000022) +// CHECK:STDOUT: inst60000023: symbolic_constant00000002 +// CHECK:STDOUT: inst60000024: symbolic_constant00000004 +// CHECK:STDOUT: inst60000025: concrete_constant(inst60000025) +// CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) +// CHECK:STDOUT: inst60000029: concrete_constant(inst60000029) +// CHECK:STDOUT: inst6000002A: concrete_constant(inst60000025) +// CHECK:STDOUT: inst6000002B: symbolic_constant00000007 // CHECK:STDOUT: inst6000002C: symbolic_constant00000008 -// CHECK:STDOUT: inst6000002D: symbolic_constant00000009 -// CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002E) -// CHECK:STDOUT: inst6000002F: symbolic_constant0000000A -// CHECK:STDOUT: inst60000030: concrete_constant(inst60000030) -// CHECK:STDOUT: inst60000032: symbolic_constant00000004 -// CHECK:STDOUT: inst60000035: concrete_constant(inst60000037) -// CHECK:STDOUT: inst60000036: concrete_constant(inst60000036) +// CHECK:STDOUT: inst6000002D: symbolic_constant00000008 +// CHECK:STDOUT: inst6000002E: symbolic_constant00000009 +// CHECK:STDOUT: inst6000002F: concrete_constant(inst6000002F) +// CHECK:STDOUT: inst60000030: symbolic_constant0000000A +// CHECK:STDOUT: inst60000031: concrete_constant(inst60000031) +// CHECK:STDOUT: inst60000033: symbolic_constant00000004 +// CHECK:STDOUT: inst60000036: concrete_constant(inst60000038) // CHECK:STDOUT: inst60000037: concrete_constant(inst60000037) -// CHECK:STDOUT: inst60000038: symbolic_constant0000000B -// CHECK:STDOUT: inst60000039: symbolic_constant0000000D -// CHECK:STDOUT: inst6000003A: symbolic_constant0000000C -// CHECK:STDOUT: inst6000003B: symbolic_constant0000000D -// CHECK:STDOUT: inst6000003C: symbolic_constant6000000F -// CHECK:STDOUT: inst6000003D: symbolic_constant0000000E -// CHECK:STDOUT: inst6000003E: symbolic_constant6000000F -// CHECK:STDOUT: inst60000042: symbolic_constant0000000D -// CHECK:STDOUT: inst60000044: symbolic_constant6000000F -// CHECK:STDOUT: inst60000045: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000046: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000047: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000048: symbolic_constant60000010 -// CHECK:STDOUT: inst60000049: constant -// CHECK:STDOUT: inst6000004A: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004B: constant -// CHECK:STDOUT: inst6000004C: concrete_constant(inst6000004C) -// CHECK:STDOUT: inst6000004D: concrete_constant(inst60000051) -// CHECK:STDOUT: inst6000004E: concrete_constant(inst6000004E) -// CHECK:STDOUT: inst6000004F: concrete_constant(inst60000051) -// CHECK:STDOUT: inst60000050: concrete_constant(inst60000050) +// CHECK:STDOUT: inst60000038: concrete_constant(inst60000038) +// CHECK:STDOUT: inst60000039: symbolic_constant0000000B +// CHECK:STDOUT: inst6000003A: symbolic_constant0000000D +// CHECK:STDOUT: inst6000003B: symbolic_constant0000000C +// CHECK:STDOUT: inst6000003C: symbolic_constant0000000D +// CHECK:STDOUT: inst6000003D: symbolic_constant0000000F +// CHECK:STDOUT: inst6000003E: symbolic_constant0000000E +// CHECK:STDOUT: inst6000003F: symbolic_constant0000000F +// CHECK:STDOUT: inst60000043: symbolic_constant0000000D +// CHECK:STDOUT: inst60000045: symbolic_constant0000000F +// CHECK:STDOUT: inst60000046: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000047: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000048: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000049: symbolic_constant60000010 +// CHECK:STDOUT: inst6000004A: constant +// CHECK:STDOUT: inst6000004B: concrete_constant(inst6000004F) +// CHECK:STDOUT: inst6000004C: constant +// CHECK:STDOUT: inst6000004D: concrete_constant(inst6000004D) +// CHECK:STDOUT: inst6000004E: concrete_constant(inst60000052) +// CHECK:STDOUT: inst6000004F: concrete_constant(inst6000004F) +// CHECK:STDOUT: inst60000050: concrete_constant(inst60000052) // CHECK:STDOUT: inst60000051: concrete_constant(inst60000051) -// CHECK:STDOUT: inst60000052: symbolic_constant60000011 -// CHECK:STDOUT: inst60000053: symbolic_constant60000012 -// CHECK:STDOUT: inst60000054: concrete_constant(inst60000054) +// CHECK:STDOUT: inst60000052: concrete_constant(inst60000052) +// CHECK:STDOUT: inst60000053: symbolic_constant60000011 +// CHECK:STDOUT: inst60000054: symbolic_constant60000012 // CHECK:STDOUT: inst60000055: concrete_constant(inst60000055) // CHECK:STDOUT: inst60000056: concrete_constant(inst60000056) // CHECK:STDOUT: inst60000057: concrete_constant(inst60000057) -// CHECK:STDOUT: inst60000058: symbolic_constant60000010 -// CHECK:STDOUT: inst60000059: symbolic_constant60000016 -// CHECK:STDOUT: inst6000005A: symbolic_constant60000017 -// CHECK:STDOUT: inst6000005B: symbolic_constant60000018 -// CHECK:STDOUT: inst6000005C: symbolic_constant600000FB -// CHECK:STDOUT: inst6000005D: constant -// CHECK:STDOUT: inst6000005E: concrete_constant(inst6000005E) -// CHECK:STDOUT: inst6000005F: symbolic_constant60000019 -// CHECK:STDOUT: inst60000060: symbolic_constant6000001A -// CHECK:STDOUT: inst60000061: symbolic_constant6000001B -// CHECK:STDOUT: inst60000062: concrete_constant(inst60000062) +// CHECK:STDOUT: inst60000058: concrete_constant(inst60000058) +// CHECK:STDOUT: inst60000059: symbolic_constant60000010 +// CHECK:STDOUT: inst6000005A: symbolic_constant60000016 +// CHECK:STDOUT: inst6000005B: symbolic_constant60000017 +// CHECK:STDOUT: inst6000005C: symbolic_constant60000018 +// CHECK:STDOUT: inst6000005D: symbolic_constant600000FB +// CHECK:STDOUT: inst6000005E: constant +// CHECK:STDOUT: inst6000005F: concrete_constant(inst6000005F) +// CHECK:STDOUT: inst60000060: symbolic_constant60000019 +// CHECK:STDOUT: inst60000061: symbolic_constant6000001A +// CHECK:STDOUT: inst60000062: symbolic_constant6000001B // CHECK:STDOUT: inst60000063: concrete_constant(inst60000063) -// CHECK:STDOUT: inst60000064: symbolic_constant6000001D -// CHECK:STDOUT: inst60000065: symbolic_constant6000001C -// CHECK:STDOUT: inst60000066: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000067: constant -// CHECK:STDOUT: inst60000068: concrete_constant(inst60000068) -// CHECK:STDOUT: inst60000069: symbolic_constant60000020 -// CHECK:STDOUT: inst6000006A: symbolic_constant60000022 -// CHECK:STDOUT: inst6000006B: symbolic_constant60000023 -// CHECK:STDOUT: inst6000006C: symbolic_constant60000024 -// CHECK:STDOUT: inst6000006D: symbolic_constant60000025 -// CHECK:STDOUT: inst6000006E: symbolic_constant60000028 -// CHECK:STDOUT: inst6000006F: symbolic_constant60000026 -// CHECK:STDOUT: inst60000070: symbolic_constant60000027 -// CHECK:STDOUT: inst60000071: symbolic_constant6000002A -// CHECK:STDOUT: inst60000072: concrete_constant(inst60000072) +// CHECK:STDOUT: inst60000064: concrete_constant(inst60000064) +// CHECK:STDOUT: inst60000065: symbolic_constant6000001D +// CHECK:STDOUT: inst60000066: symbolic_constant6000001C +// CHECK:STDOUT: inst60000067: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000068: constant +// CHECK:STDOUT: inst60000069: concrete_constant(inst60000069) +// CHECK:STDOUT: inst6000006A: symbolic_constant60000020 +// CHECK:STDOUT: inst6000006B: symbolic_constant60000022 +// CHECK:STDOUT: inst6000006C: symbolic_constant60000023 +// CHECK:STDOUT: inst6000006D: symbolic_constant60000024 +// CHECK:STDOUT: inst6000006E: symbolic_constant60000025 +// CHECK:STDOUT: inst6000006F: symbolic_constant60000028 +// CHECK:STDOUT: inst60000070: symbolic_constant60000026 +// CHECK:STDOUT: inst60000071: symbolic_constant60000027 +// CHECK:STDOUT: inst60000072: symbolic_constant6000002A // CHECK:STDOUT: inst60000073: concrete_constant(inst60000073) // CHECK:STDOUT: inst60000074: concrete_constant(inst60000074) // CHECK:STDOUT: inst60000075: concrete_constant(inst60000075) -// CHECK:STDOUT: inst60000076: symbolic_constant6000001D -// CHECK:STDOUT: inst60000077: symbolic_constant6000002D -// CHECK:STDOUT: inst60000078: symbolic_constant6000002E -// CHECK:STDOUT: inst60000079: symbolic_constant60000032 -// CHECK:STDOUT: inst6000007A: symbolic_constant60000033 -// CHECK:STDOUT: inst6000007B: symbolic_constant60000034 -// CHECK:STDOUT: inst6000007C: symbolic_constant60000035 -// CHECK:STDOUT: inst6000007D: symbolic_constant60000036 -// CHECK:STDOUT: inst6000007E: symbolic_constant60000038 -// CHECK:STDOUT: inst6000007F: symbolic_constant6000003A -// CHECK:STDOUT: inst60000080: symbolic_constant6000003C -// CHECK:STDOUT: inst60000081: symbolic_constant6000003E -// CHECK:STDOUT: inst60000082: symbolic_constant60000040 -// CHECK:STDOUT: inst60000083: symbolic_constant60000042 -// CHECK:STDOUT: inst60000084: symbolic_constant60000043 -// CHECK:STDOUT: inst60000085: symbolic_constant60000044 -// CHECK:STDOUT: inst60000086: symbolic_constant60000045 -// CHECK:STDOUT: inst60000087: symbolic_constant60000046 -// CHECK:STDOUT: inst60000088: symbolic_constant60000047 -// CHECK:STDOUT: inst60000089: symbolic_constant60000048 -// CHECK:STDOUT: inst6000008A: constant -// CHECK:STDOUT: inst6000008B: concrete_constant(inst6000008B) -// CHECK:STDOUT: inst6000008C: concrete_constant(inst(BoolType)) -// CHECK:STDOUT: inst6000008D: concrete_constant(inst60000047) -// CHECK:STDOUT: inst6000008E: constant -// CHECK:STDOUT: inst6000008F: concrete_constant(inst6000008F) -// CHECK:STDOUT: inst60000090: concrete_constant(inst(CharLiteralType)) -// CHECK:STDOUT: inst60000091: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000092: constant -// CHECK:STDOUT: inst60000093: concrete_constant(inst60000093) -// CHECK:STDOUT: inst60000094: concrete_constant(inst(FloatLiteralType)) -// CHECK:STDOUT: inst60000095: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000096: constant -// CHECK:STDOUT: inst60000097: concrete_constant(inst60000097) -// CHECK:STDOUT: inst60000098: concrete_constant(inst(IntLiteralType)) -// CHECK:STDOUT: inst60000099: concrete_constant(inst60000047) -// CHECK:STDOUT: inst6000009A: symbolic_constant600000F9 -// CHECK:STDOUT: inst6000009B: concrete_constant(inst6000009B) +// CHECK:STDOUT: inst60000076: concrete_constant(inst60000076) +// CHECK:STDOUT: inst60000077: symbolic_constant6000001D +// CHECK:STDOUT: inst60000078: symbolic_constant6000002D +// CHECK:STDOUT: inst60000079: symbolic_constant6000002E +// CHECK:STDOUT: inst6000007A: symbolic_constant60000032 +// CHECK:STDOUT: inst6000007B: symbolic_constant60000033 +// CHECK:STDOUT: inst6000007C: symbolic_constant60000034 +// CHECK:STDOUT: inst6000007D: symbolic_constant60000035 +// CHECK:STDOUT: inst6000007E: symbolic_constant60000036 +// CHECK:STDOUT: inst6000007F: symbolic_constant60000038 +// CHECK:STDOUT: inst60000080: symbolic_constant6000003A +// CHECK:STDOUT: inst60000081: symbolic_constant6000003C +// CHECK:STDOUT: inst60000082: symbolic_constant6000003E +// CHECK:STDOUT: inst60000083: symbolic_constant60000040 +// CHECK:STDOUT: inst60000084: symbolic_constant60000042 +// CHECK:STDOUT: inst60000085: symbolic_constant60000043 +// CHECK:STDOUT: inst60000086: symbolic_constant60000044 +// CHECK:STDOUT: inst60000087: symbolic_constant60000045 +// CHECK:STDOUT: inst60000088: symbolic_constant60000046 +// CHECK:STDOUT: inst60000089: symbolic_constant60000047 +// CHECK:STDOUT: inst6000008A: symbolic_constant60000048 +// CHECK:STDOUT: inst6000008B: constant +// CHECK:STDOUT: inst6000008C: concrete_constant(inst6000008C) +// CHECK:STDOUT: inst6000008D: concrete_constant(inst(BoolType)) +// CHECK:STDOUT: inst6000008E: concrete_constant(inst60000048) +// CHECK:STDOUT: inst6000008F: constant +// CHECK:STDOUT: inst60000090: concrete_constant(inst60000090) +// CHECK:STDOUT: inst60000091: concrete_constant(inst(CharLiteralType)) +// CHECK:STDOUT: inst60000092: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000093: constant +// CHECK:STDOUT: inst60000094: concrete_constant(inst60000094) +// CHECK:STDOUT: inst60000095: concrete_constant(inst(FloatLiteralType)) +// CHECK:STDOUT: inst60000096: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000097: constant +// CHECK:STDOUT: inst60000098: concrete_constant(inst60000098) +// CHECK:STDOUT: inst60000099: concrete_constant(inst(IntLiteralType)) +// CHECK:STDOUT: inst6000009A: concrete_constant(inst60000048) +// CHECK:STDOUT: inst6000009B: symbolic_constant600000F9 // CHECK:STDOUT: inst6000009C: concrete_constant(inst6000009C) -// CHECK:STDOUT: inst6000009D: symbolic_constant6000004A -// CHECK:STDOUT: inst6000009E: symbolic_constant60000049 -// CHECK:STDOUT: inst6000009F: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000A0: constant -// CHECK:STDOUT: inst600000A1: concrete_constant(inst600000A1) -// CHECK:STDOUT: inst600000A2: symbolic_constant6000004C -// CHECK:STDOUT: inst600000A3: symbolic_constant6000004E -// CHECK:STDOUT: inst600000A4: symbolic_constant6000004F -// CHECK:STDOUT: inst600000A5: symbolic_constant60000050 -// CHECK:STDOUT: inst600000A6: symbolic_constant60000053 -// CHECK:STDOUT: inst600000A7: symbolic_constant60000051 -// CHECK:STDOUT: inst600000A8: symbolic_constant60000052 -// CHECK:STDOUT: inst600000A9: concrete_constant(inst600000A9) +// CHECK:STDOUT: inst6000009D: concrete_constant(inst6000009D) +// CHECK:STDOUT: inst6000009E: symbolic_constant6000004A +// CHECK:STDOUT: inst6000009F: symbolic_constant60000049 +// CHECK:STDOUT: inst600000A0: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000A1: constant +// CHECK:STDOUT: inst600000A2: concrete_constant(inst600000A2) +// CHECK:STDOUT: inst600000A3: symbolic_constant6000004C +// CHECK:STDOUT: inst600000A4: symbolic_constant6000004E +// CHECK:STDOUT: inst600000A5: symbolic_constant6000004F +// CHECK:STDOUT: inst600000A6: symbolic_constant60000050 +// CHECK:STDOUT: inst600000A7: symbolic_constant60000053 +// CHECK:STDOUT: inst600000A8: symbolic_constant60000051 +// CHECK:STDOUT: inst600000A9: symbolic_constant60000052 // CHECK:STDOUT: inst600000AA: concrete_constant(inst600000AA) // CHECK:STDOUT: inst600000AB: concrete_constant(inst600000AB) // CHECK:STDOUT: inst600000AC: concrete_constant(inst600000AC) -// CHECK:STDOUT: inst600000AD: symbolic_constant6000004A -// CHECK:STDOUT: inst600000AE: symbolic_constant60000058 -// CHECK:STDOUT: inst600000AF: symbolic_constant60000059 -// CHECK:STDOUT: inst600000B0: symbolic_constant6000005A -// CHECK:STDOUT: inst600000B1: symbolic_constant6000005D -// CHECK:STDOUT: inst600000B2: symbolic_constant6000005E -// CHECK:STDOUT: inst600000B3: symbolic_constant6000005F -// CHECK:STDOUT: inst600000B4: constant -// CHECK:STDOUT: inst600000B5: concrete_constant(inst600000B5) -// CHECK:STDOUT: inst600000B6: concrete_constant(inst(TypeType)) -// CHECK:STDOUT: inst600000B7: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000B8: constant -// CHECK:STDOUT: inst600000B9: concrete_constant(inst600000B9) -// CHECK:STDOUT: inst600000BA: concrete_constant(inst60000024) -// CHECK:STDOUT: inst600000BB: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000BC: constant -// CHECK:STDOUT: inst600000BD: concrete_constant(inst600000BD) -// CHECK:STDOUT: inst600000BE: symbolic_constant60000060 -// CHECK:STDOUT: inst600000BF: symbolic_constant60000061 -// CHECK:STDOUT: inst600000C0: symbolic_constant60000062 -// CHECK:STDOUT: inst600000C1: concrete_constant(inst600000C1) +// CHECK:STDOUT: inst600000AD: concrete_constant(inst600000AD) +// CHECK:STDOUT: inst600000AE: symbolic_constant6000004A +// CHECK:STDOUT: inst600000AF: symbolic_constant60000058 +// CHECK:STDOUT: inst600000B0: symbolic_constant60000059 +// CHECK:STDOUT: inst600000B1: symbolic_constant6000005A +// CHECK:STDOUT: inst600000B2: symbolic_constant6000005D +// CHECK:STDOUT: inst600000B3: symbolic_constant6000005E +// CHECK:STDOUT: inst600000B4: symbolic_constant6000005F +// CHECK:STDOUT: inst600000B5: constant +// CHECK:STDOUT: inst600000B6: concrete_constant(inst600000B6) +// CHECK:STDOUT: inst600000B7: concrete_constant(inst(TypeType)) +// CHECK:STDOUT: inst600000B8: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000B9: constant +// CHECK:STDOUT: inst600000BA: concrete_constant(inst600000BA) +// CHECK:STDOUT: inst600000BB: concrete_constant(inst60000025) +// CHECK:STDOUT: inst600000BC: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000BD: constant +// CHECK:STDOUT: inst600000BE: concrete_constant(inst600000BE) +// CHECK:STDOUT: inst600000BF: symbolic_constant60000060 +// CHECK:STDOUT: inst600000C0: symbolic_constant60000061 +// CHECK:STDOUT: inst600000C1: symbolic_constant60000062 // CHECK:STDOUT: inst600000C2: concrete_constant(inst600000C2) -// CHECK:STDOUT: inst600000C3: symbolic_constant60000064 -// CHECK:STDOUT: inst600000C4: symbolic_constant60000065 -// CHECK:STDOUT: inst600000C5: symbolic_constant60000063 -// CHECK:STDOUT: inst600000C6: concrete_constant(inst60000047) -// CHECK:STDOUT: inst600000C7: constant -// CHECK:STDOUT: inst600000C8: concrete_constant(inst600000C8) -// CHECK:STDOUT: inst600000C9: symbolic_constant6000006A -// CHECK:STDOUT: inst600000CA: symbolic_constant6000006C -// CHECK:STDOUT: inst600000CB: symbolic_constant6000006D -// CHECK:STDOUT: inst600000CC: symbolic_constant6000006E -// CHECK:STDOUT: inst600000CD: symbolic_constant6000006F -// CHECK:STDOUT: inst600000CE: symbolic_constant60000070 -// CHECK:STDOUT: inst600000CF: symbolic_constant60000071 -// CHECK:STDOUT: inst600000D0: symbolic_constant60000074 -// CHECK:STDOUT: inst600000D1: symbolic_constant60000072 -// CHECK:STDOUT: inst600000D2: symbolic_constant60000073 -// CHECK:STDOUT: inst600000D3: symbolic_constant60000076 -// CHECK:STDOUT: inst600000D4: concrete_constant(inst600000D4) +// CHECK:STDOUT: inst600000C3: concrete_constant(inst600000C3) +// CHECK:STDOUT: inst600000C4: symbolic_constant60000064 +// CHECK:STDOUT: inst600000C5: symbolic_constant60000065 +// CHECK:STDOUT: inst600000C6: symbolic_constant60000063 +// CHECK:STDOUT: inst600000C7: concrete_constant(inst60000048) +// CHECK:STDOUT: inst600000C8: constant +// CHECK:STDOUT: inst600000C9: concrete_constant(inst600000C9) +// CHECK:STDOUT: inst600000CA: symbolic_constant6000006A +// CHECK:STDOUT: inst600000CB: symbolic_constant6000006C +// CHECK:STDOUT: inst600000CC: symbolic_constant6000006D +// CHECK:STDOUT: inst600000CD: symbolic_constant6000006E +// CHECK:STDOUT: inst600000CE: symbolic_constant6000006F +// CHECK:STDOUT: inst600000CF: symbolic_constant60000070 +// CHECK:STDOUT: inst600000D0: symbolic_constant60000071 +// CHECK:STDOUT: inst600000D1: symbolic_constant60000074 +// CHECK:STDOUT: inst600000D2: symbolic_constant60000072 +// CHECK:STDOUT: inst600000D3: symbolic_constant60000073 +// CHECK:STDOUT: inst600000D4: symbolic_constant60000076 // CHECK:STDOUT: inst600000D5: concrete_constant(inst600000D5) // CHECK:STDOUT: inst600000D6: concrete_constant(inst600000D6) // CHECK:STDOUT: inst600000D7: concrete_constant(inst600000D7) -// CHECK:STDOUT: inst600000D8: symbolic_constant60000064 -// CHECK:STDOUT: inst600000D9: symbolic_constant60000065 -// CHECK:STDOUT: inst600000DA: symbolic_constant60000079 -// CHECK:STDOUT: inst600000DB: symbolic_constant6000007A -// CHECK:STDOUT: inst600000DC: symbolic_constant60000080 -// CHECK:STDOUT: inst600000DD: symbolic_constant60000081 -// CHECK:STDOUT: inst600000DE: symbolic_constant60000082 -// CHECK:STDOUT: inst600000DF: symbolic_constant60000083 -// CHECK:STDOUT: inst600000E0: symbolic_constant60000084 -// CHECK:STDOUT: inst600000E1: symbolic_constant60000085 -// CHECK:STDOUT: inst600000E2: symbolic_constant60000086 -// CHECK:STDOUT: inst600000E3: symbolic_constant6000008D -// CHECK:STDOUT: inst600000E4: symbolic_constant6000008F -// CHECK:STDOUT: inst600000E5: symbolic_constant60000091 -// CHECK:STDOUT: inst600000E6: symbolic_constant60000093 -// CHECK:STDOUT: inst600000E7: symbolic_constant60000095 -// CHECK:STDOUT: inst600000E8: symbolic_constant60000097 -// CHECK:STDOUT: inst600000E9: symbolic_constant60000098 -// CHECK:STDOUT: inst600000EA: symbolic_constant60000099 -// CHECK:STDOUT: inst600000EB: symbolic_constant6000009A -// CHECK:STDOUT: inst600000EC: symbolic_constant6000009B -// CHECK:STDOUT: inst600000ED: symbolic_constant6000009C -// CHECK:STDOUT: inst600000EE: symbolic_constant6000009D -// CHECK:STDOUT: inst600000EF: symbolic_constant6000009E -// CHECK:STDOUT: inst600000F0: symbolic_constant6000009F -// CHECK:STDOUT: inst600000F1: symbolic_constant600000A0 -// CHECK:STDOUT: inst600000F2: symbolic_constant600000A1 -// CHECK:STDOUT: inst600000F3: symbolic_constant600000A2 -// CHECK:STDOUT: inst600000F4: constant -// CHECK:STDOUT: inst600000F5: concrete_constant(inst600000F5) -// CHECK:STDOUT: inst600000F6: symbolic_constant600000A3 -// CHECK:STDOUT: inst600000F7: symbolic_constant600000A4 -// CHECK:STDOUT: inst600000F8: symbolic_constant600000A5 -// CHECK:STDOUT: inst600000F9: concrete_constant(inst600000F9) +// CHECK:STDOUT: inst600000D8: concrete_constant(inst600000D8) +// CHECK:STDOUT: inst600000D9: symbolic_constant60000064 +// CHECK:STDOUT: inst600000DA: symbolic_constant60000065 +// CHECK:STDOUT: inst600000DB: symbolic_constant60000079 +// CHECK:STDOUT: inst600000DC: symbolic_constant6000007A +// CHECK:STDOUT: inst600000DD: symbolic_constant60000080 +// CHECK:STDOUT: inst600000DE: symbolic_constant60000081 +// CHECK:STDOUT: inst600000DF: symbolic_constant60000082 +// CHECK:STDOUT: inst600000E0: symbolic_constant60000083 +// CHECK:STDOUT: inst600000E1: symbolic_constant60000084 +// CHECK:STDOUT: inst600000E2: symbolic_constant60000085 +// CHECK:STDOUT: inst600000E3: symbolic_constant60000086 +// CHECK:STDOUT: inst600000E4: symbolic_constant6000008D +// CHECK:STDOUT: inst600000E5: symbolic_constant6000008F +// CHECK:STDOUT: inst600000E6: symbolic_constant60000091 +// CHECK:STDOUT: inst600000E7: symbolic_constant60000093 +// CHECK:STDOUT: inst600000E8: symbolic_constant60000095 +// CHECK:STDOUT: inst600000E9: symbolic_constant60000097 +// CHECK:STDOUT: inst600000EA: symbolic_constant60000098 +// CHECK:STDOUT: inst600000EB: symbolic_constant60000099 +// CHECK:STDOUT: inst600000EC: symbolic_constant6000009A +// CHECK:STDOUT: inst600000ED: symbolic_constant6000009B +// CHECK:STDOUT: inst600000EE: symbolic_constant6000009C +// CHECK:STDOUT: inst600000EF: symbolic_constant6000009D +// CHECK:STDOUT: inst600000F0: symbolic_constant6000009E +// CHECK:STDOUT: inst600000F1: symbolic_constant6000009F +// CHECK:STDOUT: inst600000F2: symbolic_constant600000A0 +// CHECK:STDOUT: inst600000F3: symbolic_constant600000A1 +// CHECK:STDOUT: inst600000F4: symbolic_constant600000A2 +// CHECK:STDOUT: inst600000F5: constant +// CHECK:STDOUT: inst600000F6: concrete_constant(inst600000F6) +// CHECK:STDOUT: inst600000F7: symbolic_constant600000A3 +// CHECK:STDOUT: inst600000F8: symbolic_constant600000A4 +// CHECK:STDOUT: inst600000F9: symbolic_constant600000A5 // CHECK:STDOUT: inst600000FA: concrete_constant(inst600000FA) // CHECK:STDOUT: inst600000FB: concrete_constant(inst600000FB) -// CHECK:STDOUT: inst600000FC: symbolic_constant600000A7 -// CHECK:STDOUT: inst600000FD: symbolic_constant600000A8 -// CHECK:STDOUT: inst600000FE: symbolic_constant600000A9 -// CHECK:STDOUT: inst600000FF: symbolic_constant600000A6 -// CHECK:STDOUT: inst60000100: concrete_constant(inst60000047) -// CHECK:STDOUT: inst60000101: constant -// CHECK:STDOUT: inst60000102: concrete_constant(inst60000102) -// CHECK:STDOUT: inst60000103: symbolic_constant600000B0 -// CHECK:STDOUT: inst60000104: symbolic_constant600000B2 -// CHECK:STDOUT: inst60000105: symbolic_constant600000B3 -// CHECK:STDOUT: inst60000106: symbolic_constant600000B4 -// CHECK:STDOUT: inst60000107: symbolic_constant600000B5 -// CHECK:STDOUT: inst60000108: symbolic_constant600000B6 -// CHECK:STDOUT: inst60000109: symbolic_constant600000B7 -// CHECK:STDOUT: inst6000010A: symbolic_constant600000B8 -// CHECK:STDOUT: inst6000010B: symbolic_constant600000B9 -// CHECK:STDOUT: inst6000010C: symbolic_constant600000BC -// CHECK:STDOUT: inst6000010D: symbolic_constant600000BA -// CHECK:STDOUT: inst6000010E: symbolic_constant600000BB -// CHECK:STDOUT: inst6000010F: symbolic_constant600000BE -// CHECK:STDOUT: inst60000110: concrete_constant(inst60000110) +// CHECK:STDOUT: inst600000FC: concrete_constant(inst600000FC) +// CHECK:STDOUT: inst600000FD: symbolic_constant600000A7 +// CHECK:STDOUT: inst600000FE: symbolic_constant600000A8 +// CHECK:STDOUT: inst600000FF: symbolic_constant600000A9 +// CHECK:STDOUT: inst60000100: symbolic_constant600000A6 +// CHECK:STDOUT: inst60000101: concrete_constant(inst60000048) +// CHECK:STDOUT: inst60000102: constant +// CHECK:STDOUT: inst60000103: concrete_constant(inst60000103) +// CHECK:STDOUT: inst60000104: symbolic_constant600000B0 +// CHECK:STDOUT: inst60000105: symbolic_constant600000B2 +// CHECK:STDOUT: inst60000106: symbolic_constant600000B3 +// CHECK:STDOUT: inst60000107: symbolic_constant600000B4 +// CHECK:STDOUT: inst60000108: symbolic_constant600000B5 +// CHECK:STDOUT: inst60000109: symbolic_constant600000B6 +// CHECK:STDOUT: inst6000010A: symbolic_constant600000B7 +// CHECK:STDOUT: inst6000010B: symbolic_constant600000B8 +// CHECK:STDOUT: inst6000010C: symbolic_constant600000B9 +// CHECK:STDOUT: inst6000010D: symbolic_constant600000BC +// CHECK:STDOUT: inst6000010E: symbolic_constant600000BA +// CHECK:STDOUT: inst6000010F: symbolic_constant600000BB +// CHECK:STDOUT: inst60000110: symbolic_constant600000BE // CHECK:STDOUT: inst60000111: concrete_constant(inst60000111) // CHECK:STDOUT: inst60000112: concrete_constant(inst60000112) // CHECK:STDOUT: inst60000113: concrete_constant(inst60000113) -// CHECK:STDOUT: inst60000114: symbolic_constant600000A7 -// CHECK:STDOUT: inst60000115: symbolic_constant600000A8 -// CHECK:STDOUT: inst60000116: symbolic_constant600000A9 -// CHECK:STDOUT: inst60000117: symbolic_constant600000C1 -// CHECK:STDOUT: inst60000118: symbolic_constant600000C2 -// CHECK:STDOUT: inst60000119: symbolic_constant600000CA -// CHECK:STDOUT: inst6000011A: symbolic_constant600000CB -// CHECK:STDOUT: inst6000011B: symbolic_constant600000CC -// CHECK:STDOUT: inst6000011C: symbolic_constant600000CD -// CHECK:STDOUT: inst6000011D: symbolic_constant600000CE -// CHECK:STDOUT: inst6000011E: symbolic_constant600000CF -// CHECK:STDOUT: inst6000011F: symbolic_constant600000D0 -// CHECK:STDOUT: inst60000120: symbolic_constant600000D1 -// CHECK:STDOUT: inst60000121: symbolic_constant600000D2 -// CHECK:STDOUT: inst60000122: symbolic_constant600000DE -// CHECK:STDOUT: inst60000123: symbolic_constant600000E0 -// CHECK:STDOUT: inst60000124: symbolic_constant600000E2 -// CHECK:STDOUT: inst60000125: symbolic_constant600000E4 -// CHECK:STDOUT: inst60000126: symbolic_constant600000E6 -// CHECK:STDOUT: inst60000127: symbolic_constant600000E8 -// CHECK:STDOUT: inst60000128: symbolic_constant600000E9 -// CHECK:STDOUT: inst60000129: symbolic_constant600000EA -// CHECK:STDOUT: inst6000012A: symbolic_constant600000EB -// CHECK:STDOUT: inst6000012B: symbolic_constant600000EC -// CHECK:STDOUT: inst6000012C: symbolic_constant600000ED -// CHECK:STDOUT: inst6000012D: symbolic_constant600000EE -// CHECK:STDOUT: inst6000012E: symbolic_constant600000EF -// CHECK:STDOUT: inst6000012F: symbolic_constant600000F0 -// CHECK:STDOUT: inst60000130: symbolic_constant600000F1 -// CHECK:STDOUT: inst60000131: symbolic_constant600000F2 -// CHECK:STDOUT: inst60000132: symbolic_constant600000F3 -// CHECK:STDOUT: inst60000133: symbolic_constant600000F4 -// CHECK:STDOUT: inst60000134: symbolic_constant600000F5 -// CHECK:STDOUT: inst60000135: symbolic_constant600000F6 -// CHECK:STDOUT: inst60000136: symbolic_constant600000F7 -// CHECK:STDOUT: inst60000137: symbolic_constant600000F8 -// CHECK:STDOUT: inst60000138: symbolic_constant600000FA -// CHECK:STDOUT: inst60000139: symbolic_constant600000FB -// CHECK:STDOUT: inst6000013A: symbolic_constant600000FC -// CHECK:STDOUT: inst6000013B: symbolic_constant600000FD -// CHECK:STDOUT: inst6000013C: symbolic_constant60000101 -// CHECK:STDOUT: inst6000013D: symbolic_constant600000FE -// CHECK:STDOUT: inst6000013E: symbolic_constant600000FF -// CHECK:STDOUT: inst6000013F: symbolic_constant60000100 -// CHECK:STDOUT: inst60000140: symbolic_constant60000101 -// CHECK:STDOUT: inst60000142: symbolic_constant60000103 -// CHECK:STDOUT: inst60000143: symbolic_constant60000102 -// CHECK:STDOUT: inst60000144: symbolic_constant60000103 -// CHECK:STDOUT: inst60000146: symbolic_constant6000000F -// CHECK:STDOUT: inst6000014A: concrete_constant(inst6000014B) -// CHECK:STDOUT: inst6000014B: concrete_constant(inst6000014B) -// CHECK:STDOUT: inst6000014C: concrete_constant(inst6000014B) +// CHECK:STDOUT: inst60000114: concrete_constant(inst60000114) +// CHECK:STDOUT: inst60000115: symbolic_constant600000A7 +// CHECK:STDOUT: inst60000116: symbolic_constant600000A8 +// CHECK:STDOUT: inst60000117: symbolic_constant600000A9 +// CHECK:STDOUT: inst60000118: symbolic_constant600000C1 +// CHECK:STDOUT: inst60000119: symbolic_constant600000C2 +// CHECK:STDOUT: inst6000011A: symbolic_constant600000CA +// CHECK:STDOUT: inst6000011B: symbolic_constant600000CB +// CHECK:STDOUT: inst6000011C: symbolic_constant600000CC +// CHECK:STDOUT: inst6000011D: symbolic_constant600000CD +// CHECK:STDOUT: inst6000011E: symbolic_constant600000CE +// CHECK:STDOUT: inst6000011F: symbolic_constant600000CF +// CHECK:STDOUT: inst60000120: symbolic_constant600000D0 +// CHECK:STDOUT: inst60000121: symbolic_constant600000D1 +// CHECK:STDOUT: inst60000122: symbolic_constant600000D2 +// CHECK:STDOUT: inst60000123: symbolic_constant600000DE +// CHECK:STDOUT: inst60000124: symbolic_constant600000E0 +// CHECK:STDOUT: inst60000125: symbolic_constant600000E2 +// CHECK:STDOUT: inst60000126: symbolic_constant600000E4 +// CHECK:STDOUT: inst60000127: symbolic_constant600000E6 +// CHECK:STDOUT: inst60000128: symbolic_constant600000E8 +// CHECK:STDOUT: inst60000129: symbolic_constant600000E9 +// CHECK:STDOUT: inst6000012A: symbolic_constant600000EA +// CHECK:STDOUT: inst6000012B: symbolic_constant600000EB +// CHECK:STDOUT: inst6000012C: symbolic_constant600000EC +// CHECK:STDOUT: inst6000012D: symbolic_constant600000ED +// CHECK:STDOUT: inst6000012E: symbolic_constant600000EE +// CHECK:STDOUT: inst6000012F: symbolic_constant600000EF +// CHECK:STDOUT: inst60000130: symbolic_constant600000F0 +// CHECK:STDOUT: inst60000131: symbolic_constant600000F1 +// CHECK:STDOUT: inst60000132: symbolic_constant600000F2 +// CHECK:STDOUT: inst60000133: symbolic_constant600000F3 +// CHECK:STDOUT: inst60000134: symbolic_constant600000F4 +// CHECK:STDOUT: inst60000135: symbolic_constant600000F5 +// CHECK:STDOUT: inst60000136: symbolic_constant600000F6 +// CHECK:STDOUT: inst60000137: symbolic_constant600000F7 +// CHECK:STDOUT: inst60000138: symbolic_constant600000F8 +// CHECK:STDOUT: inst60000139: symbolic_constant600000FA +// CHECK:STDOUT: inst6000013A: symbolic_constant600000FB +// CHECK:STDOUT: inst6000013B: symbolic_constant600000FC +// CHECK:STDOUT: inst6000013C: symbolic_constant600000FD +// CHECK:STDOUT: inst6000013D: symbolic_constant60000101 +// CHECK:STDOUT: inst6000013E: symbolic_constant600000FE +// CHECK:STDOUT: inst6000013F: symbolic_constant600000FF +// CHECK:STDOUT: inst60000140: symbolic_constant60000100 +// CHECK:STDOUT: inst60000141: symbolic_constant60000101 +// CHECK:STDOUT: inst60000143: symbolic_constant60000103 +// CHECK:STDOUT: inst60000144: symbolic_constant60000102 +// CHECK:STDOUT: inst60000145: symbolic_constant60000103 +// CHECK:STDOUT: inst60000147: symbolic_constant0000000F +// CHECK:STDOUT: inst6000014B: concrete_constant(inst6000014C) +// CHECK:STDOUT: inst6000014C: concrete_constant(inst6000014C) +// CHECK:STDOUT: inst6000014D: concrete_constant(inst6000014C) // CHECK:STDOUT: symbolic_constants: -// CHECK:STDOUT: symbolic_constant00000000: {inst: inst60000013, generic: generic, index: generic_inst, kind: self} -// CHECK:STDOUT: symbolic_constant00000001: {inst: inst60000015, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000002: {inst: inst60000015, generic: generic60000000, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant00000003: {inst: inst6000001B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000004: {inst: inst6000001B, generic: generic60000000, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant00000005: {inst: inst6000001E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000006: {inst: inst6000001E, generic: generic60000000, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant00000007: {inst: inst6000002A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant00000008: {inst: inst6000002A, generic: generic60000000, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant00000009: {inst: inst6000002D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000A: {inst: inst6000002D, generic: generic60000000, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000B: {inst: inst60000038, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000C: {inst: inst6000003A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000D: {inst: inst6000003A, generic: generic60000000, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant0000000E: {inst: inst6000003D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000000F: {inst: inst6000003D, generic: generic60000000, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000010: {inst: inst60000048, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000011: {inst: inst60000052, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000012: {inst: inst60000053, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000013: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000014: {inst: inst60000048, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000015: {inst: inst60000052, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000016: {inst: inst60000048, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000017: {inst: inst60000052, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000018: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000019: {inst: inst6000005F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001A: {inst: inst60000060, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001B: {inst: inst60000061, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001C: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001D: {inst: inst6000005F, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001E: {inst: inst6000005F, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000001F: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000020: {inst: inst60000069, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000021: {inst: inst60000069, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000022: {inst: inst6000005F, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000023: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000024: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000025: {inst: inst60000069, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000026: {inst: inst6000006F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000027: {inst: inst60000070, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000028: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000029: {inst: inst6000006F, generic: generic60000002, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002A: {inst: inst60000071, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002B: {inst: inst60000071, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002C: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002D: {inst: inst6000006F, generic: generic60000002, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002E: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000002F: {inst: inst6000005F, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000030: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000031: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000032: {inst: inst6000005F, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000033: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000034: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000035: {inst: inst60000071, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000036: {inst: inst6000007D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000037: {inst: inst6000007D, generic: generic60000003, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000038: {inst: inst6000007E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000039: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003A: {inst: inst6000007F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003B: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003C: {inst: inst60000080, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003D: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003E: {inst: inst60000081, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000003F: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000040: {inst: inst60000082, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000041: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000042: {inst: inst6000007D, generic: generic60000003, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000043: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000044: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000045: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000046: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000047: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000048: {inst: inst60000089, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000049: {inst: inst6000001B, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004A: {inst: inst60000015, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004B: {inst: inst60000015, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004C: {inst: inst600000A2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004D: {inst: inst600000A2, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004E: {inst: inst60000015, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000004F: {inst: inst6000001B, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000050: {inst: inst600000A2, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000051: {inst: inst600000A7, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000052: {inst: inst600000A8, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000053: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000054: {inst: inst600000A7, generic: generic60000004, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000055: {inst: inst6000001E, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000056: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000057: {inst: inst6000003D, generic: generic60000004, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000058: {inst: inst600000A7, generic: generic60000004, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000059: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005A: {inst: inst6000003D, generic: generic60000004, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005B: {inst: inst60000015, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005C: {inst: inst6000001B, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005D: {inst: inst60000015, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005E: {inst: inst6000001B, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000005F: {inst: inst6000001E, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000060: {inst: inst600000BE, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000061: {inst: inst600000BF, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000062: {inst: inst600000C0, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000063: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000064: {inst: inst6000005F, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000065: {inst: inst600000BE, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000066: {inst: inst6000005F, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000067: {inst: inst600000BE, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000068: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000069: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006A: {inst: inst600000C9, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006B: {inst: inst600000C9, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006C: {inst: inst6000005F, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006D: {inst: inst600000BE, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006E: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000006F: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000070: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000071: {inst: inst600000C9, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000072: {inst: inst600000D1, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000073: {inst: inst600000D2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000074: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000075: {inst: inst600000D1, generic: generic60000006, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000076: {inst: inst600000D3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000077: {inst: inst600000D3, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000078: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000079: {inst: inst600000D1, generic: generic60000006, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007A: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007B: {inst: inst6000005F, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007C: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007D: {inst: inst600000BE, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007E: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000007F: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000080: {inst: inst6000005F, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000081: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000082: {inst: inst600000BE, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant60000083: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000084: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000085: {inst: inst600000D3, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000086: {inst: inst600000E2, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000087: {inst: inst600000E2, generic: generic60000007, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000088: {inst: inst6000007E, generic: generic60000007, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000089: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008A: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008B: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008C: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008D: {inst: inst600000E3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008E: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000008F: {inst: inst600000E4, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000090: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant60000091: {inst: inst600000E5, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000092: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant60000093: {inst: inst600000E6, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000094: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant60000095: {inst: inst600000E7, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000096: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant60000097: {inst: inst600000E2, generic: generic60000007, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant60000098: {inst: inst6000007E, generic: generic60000007, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant60000099: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009A: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009B: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009C: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009D: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009E: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant6000009F: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A0: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A1: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A2: {inst: inst600000F3, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A3: {inst: inst600000F6, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A4: {inst: inst600000F7, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A5: {inst: inst600000F8, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A6: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A7: {inst: inst6000005F, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A8: {inst: inst600000BE, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000A9: {inst: inst600000F6, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AA: {inst: inst6000005F, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AB: {inst: inst600000BE, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AC: {inst: inst600000F6, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AD: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AE: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000AF: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B0: {inst: inst60000103, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B1: {inst: inst60000103, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B2: {inst: inst6000005F, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B3: {inst: inst600000BE, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B4: {inst: inst600000F6, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B5: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B6: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B7: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B8: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000B9: {inst: inst60000103, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BA: {inst: inst6000010D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BB: {inst: inst6000010E, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BC: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BD: {inst: inst6000010D, generic: generic60000008, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BE: {inst: inst6000010F, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000BF: {inst: inst6000010F, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C0: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C1: {inst: inst6000010D, generic: generic60000008, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C2: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C3: {inst: inst6000005F, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C4: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C5: {inst: inst600000BE, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C6: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C7: {inst: inst600000F6, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C8: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000C9: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CA: {inst: inst6000005F, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CB: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CC: {inst: inst600000BE, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CD: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CE: {inst: inst600000F6, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000CF: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D0: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D1: {inst: inst6000010F, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D2: {inst: inst60000121, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D3: {inst: inst60000121, generic: generic60000009, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D4: {inst: inst6000007E, generic: generic60000009, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D5: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D6: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D7: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D8: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000D9: {inst: inst600000E3, generic: generic60000009, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DA: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DB: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DC: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DD: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DE: {inst: inst60000122, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000DF: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E0: {inst: inst60000123, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E1: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E2: {inst: inst60000124, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E3: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E4: {inst: inst60000125, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E5: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E6: {inst: inst60000126, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E7: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E8: {inst: inst60000121, generic: generic60000009, index: generic_inst_in_def0, kind: checked} -// CHECK:STDOUT: symbolic_constant600000E9: {inst: inst6000007E, generic: generic60000009, index: generic_inst_in_def1, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EA: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EB: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EC: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant600000ED: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EE: {inst: inst600000E3, generic: generic60000009, index: generic_inst_in_def6, kind: checked} -// CHECK:STDOUT: symbolic_constant600000EF: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def7, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F0: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def8, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F1: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def9, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F2: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def10, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F3: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def11, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F4: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def12, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F5: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def13, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F6: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def14, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F7: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def15, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F8: {inst: inst60000137, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000F9: {inst: inst600000A2, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FA: {inst: inst60000138, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FB: {inst: inst60000138, generic: generic60000000, index: generic_inst_in_def2, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FC: {inst: inst6000013A, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FD: {inst: inst6000013B, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FE: {inst: inst6000013D, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant600000FF: {inst: inst6000013A, generic: generic60000000, index: generic_inst_in_def3, kind: checked} -// CHECK:STDOUT: symbolic_constant60000100: {inst: inst6000013B, generic: generic60000000, index: generic_inst_in_def4, kind: checked} -// CHECK:STDOUT: symbolic_constant60000101: {inst: inst6000013D, generic: generic60000000, index: generic_inst_in_def5, kind: checked} -// CHECK:STDOUT: symbolic_constant60000102: {inst: inst60000143, generic: generic, index: generic_inst, kind: checked} -// CHECK:STDOUT: symbolic_constant60000103: {inst: inst60000143, generic: generic60000000, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant00000000: {inst: inst60000014, generic: generic, index: generic_inst, kind: self} +// CHECK:STDOUT: symbolic_constant00000001: {inst: inst60000016, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000002: {inst: inst60000016, generic: generic60000000, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant00000003: {inst: inst6000001C, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000004: {inst: inst6000001C, generic: generic60000000, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant00000005: {inst: inst6000001F, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000006: {inst: inst6000001F, generic: generic60000000, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant00000007: {inst: inst6000002B, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant00000008: {inst: inst6000002B, generic: generic60000000, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant00000009: {inst: inst6000002E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000A: {inst: inst6000002E, generic: generic60000000, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000B: {inst: inst60000039, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000C: {inst: inst6000003B, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000D: {inst: inst6000003B, generic: generic60000000, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000E: {inst: inst6000003E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant0000000F: {inst: inst6000003E, generic: generic60000000, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000010: {inst: inst60000049, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000011: {inst: inst60000053, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000012: {inst: inst60000054, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000013: {inst: inst60000054, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000014: {inst: inst60000049, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000015: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000016: {inst: inst60000049, generic: generic60000001, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000017: {inst: inst60000053, generic: generic60000001, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000018: {inst: inst60000054, generic: generic60000001, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000019: {inst: inst60000060, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000001A: {inst: inst60000061, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000001B: {inst: inst60000062, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000001C: {inst: inst60000062, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000001D: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000001E: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000001F: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000020: {inst: inst6000006A, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000021: {inst: inst6000006A, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000022: {inst: inst60000060, generic: generic60000002, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000023: {inst: inst60000061, generic: generic60000002, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000024: {inst: inst60000062, generic: generic60000002, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000025: {inst: inst6000006A, generic: generic60000002, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000026: {inst: inst60000070, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000027: {inst: inst60000071, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000028: {inst: inst60000071, generic: generic60000002, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000029: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000002A: {inst: inst60000072, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000002B: {inst: inst60000072, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant6000002C: {inst: inst60000071, generic: generic60000002, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000002D: {inst: inst60000070, generic: generic60000002, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000002E: {inst: inst60000071, generic: generic60000002, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000002F: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000030: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000031: {inst: inst60000062, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000032: {inst: inst60000060, generic: generic60000003, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000033: {inst: inst60000061, generic: generic60000003, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000034: {inst: inst60000062, generic: generic60000003, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000035: {inst: inst60000072, generic: generic60000003, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000036: {inst: inst6000007E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000037: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000038: {inst: inst6000007F, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000039: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000003A: {inst: inst60000080, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000003B: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000003C: {inst: inst60000081, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000003D: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant6000003E: {inst: inst60000082, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000003F: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000040: {inst: inst60000083, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000041: {inst: inst60000083, generic: generic60000003, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant60000042: {inst: inst6000007E, generic: generic60000003, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000043: {inst: inst6000007F, generic: generic60000003, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000044: {inst: inst60000080, generic: generic60000003, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000045: {inst: inst60000081, generic: generic60000003, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000046: {inst: inst60000082, generic: generic60000003, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000047: {inst: inst60000083, generic: generic60000003, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant60000048: {inst: inst6000008A, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000049: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000004A: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000004B: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000004C: {inst: inst600000A3, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000004D: {inst: inst600000A3, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000004E: {inst: inst60000016, generic: generic60000004, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000004F: {inst: inst6000001C, generic: generic60000004, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000050: {inst: inst600000A3, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000051: {inst: inst600000A8, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000052: {inst: inst600000A9, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000053: {inst: inst600000A9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000054: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000055: {inst: inst6000001F, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000056: {inst: inst600000A9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000057: {inst: inst6000003E, generic: generic60000004, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000058: {inst: inst600000A8, generic: generic60000004, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000059: {inst: inst600000A9, generic: generic60000004, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000005A: {inst: inst6000003E, generic: generic60000004, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000005B: {inst: inst60000016, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000005C: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000005D: {inst: inst60000016, generic: generic60000005, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000005E: {inst: inst6000001C, generic: generic60000005, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000005F: {inst: inst6000001F, generic: generic60000005, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000060: {inst: inst600000BF, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000061: {inst: inst600000C0, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000062: {inst: inst600000C1, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000063: {inst: inst600000C1, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000064: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000065: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000066: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000067: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000068: {inst: inst60000061, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000069: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant6000006A: {inst: inst600000CA, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000006B: {inst: inst600000CA, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant6000006C: {inst: inst60000060, generic: generic60000006, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000006D: {inst: inst600000BF, generic: generic60000006, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000006E: {inst: inst60000061, generic: generic60000006, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000006F: {inst: inst600000C0, generic: generic60000006, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000070: {inst: inst600000C1, generic: generic60000006, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000071: {inst: inst600000CA, generic: generic60000006, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant60000072: {inst: inst600000D2, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000073: {inst: inst600000D3, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000074: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000075: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000076: {inst: inst600000D4, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000077: {inst: inst600000D4, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant60000078: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000079: {inst: inst600000D2, generic: generic60000006, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000007A: {inst: inst600000D3, generic: generic60000006, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000007B: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant6000007C: {inst: inst60000061, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant6000007D: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000007E: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant6000007F: {inst: inst600000C1, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000080: {inst: inst60000060, generic: generic60000007, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000081: {inst: inst60000061, generic: generic60000007, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000082: {inst: inst600000BF, generic: generic60000007, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant60000083: {inst: inst600000C0, generic: generic60000007, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000084: {inst: inst600000C1, generic: generic60000007, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000085: {inst: inst600000D4, generic: generic60000007, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant60000086: {inst: inst600000E3, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000087: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000088: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000089: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000008A: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant6000008B: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant6000008C: {inst: inst60000083, generic: generic60000007, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant6000008D: {inst: inst600000E4, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant6000008E: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant6000008F: {inst: inst600000E5, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000090: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant60000091: {inst: inst600000E6, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000092: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant60000093: {inst: inst600000E7, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000094: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant60000095: {inst: inst600000E8, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000096: {inst: inst600000E8, generic: generic60000007, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant60000097: {inst: inst600000E3, generic: generic60000007, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant60000098: {inst: inst6000007F, generic: generic60000007, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant60000099: {inst: inst60000080, generic: generic60000007, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant6000009A: {inst: inst60000081, generic: generic60000007, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant6000009B: {inst: inst60000082, generic: generic60000007, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant6000009C: {inst: inst60000083, generic: generic60000007, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant6000009D: {inst: inst600000E4, generic: generic60000007, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant6000009E: {inst: inst600000E5, generic: generic60000007, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant6000009F: {inst: inst600000E6, generic: generic60000007, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A0: {inst: inst600000E7, generic: generic60000007, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A1: {inst: inst600000E8, generic: generic60000007, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A2: {inst: inst600000F4, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A3: {inst: inst600000F7, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A4: {inst: inst600000F8, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A5: {inst: inst600000F9, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A6: {inst: inst600000F9, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A7: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A8: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000A9: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000AA: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000AB: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000AC: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000AD: {inst: inst60000061, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant600000AE: {inst: inst600000C0, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant600000AF: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B0: {inst: inst60000104, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B1: {inst: inst60000104, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B2: {inst: inst60000060, generic: generic60000008, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B3: {inst: inst600000BF, generic: generic60000008, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B4: {inst: inst600000F7, generic: generic60000008, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B5: {inst: inst60000061, generic: generic60000008, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B6: {inst: inst600000C0, generic: generic60000008, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B7: {inst: inst600000F8, generic: generic60000008, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B8: {inst: inst600000F9, generic: generic60000008, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant600000B9: {inst: inst60000104, generic: generic60000008, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant600000BA: {inst: inst6000010E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000BB: {inst: inst6000010F, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000BC: {inst: inst6000010F, generic: generic60000008, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000BD: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000BE: {inst: inst60000110, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000BF: {inst: inst60000110, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C0: {inst: inst6000010F, generic: generic60000008, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C1: {inst: inst6000010E, generic: generic60000008, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C2: {inst: inst6000010F, generic: generic60000008, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C3: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C4: {inst: inst60000061, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C5: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C6: {inst: inst600000C0, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C7: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C8: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant600000C9: {inst: inst600000F9, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant600000CA: {inst: inst60000060, generic: generic60000009, index: generic_inst_in_decl0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000CB: {inst: inst60000061, generic: generic60000009, index: generic_inst_in_decl1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000CC: {inst: inst600000BF, generic: generic60000009, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000CD: {inst: inst600000C0, generic: generic60000009, index: generic_inst_in_decl3, kind: checked} +// CHECK:STDOUT: symbolic_constant600000CE: {inst: inst600000F7, generic: generic60000009, index: generic_inst_in_decl4, kind: checked} +// CHECK:STDOUT: symbolic_constant600000CF: {inst: inst600000F8, generic: generic60000009, index: generic_inst_in_decl5, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D0: {inst: inst600000F9, generic: generic60000009, index: generic_inst_in_decl6, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D1: {inst: inst60000110, generic: generic60000009, index: generic_inst_in_decl7, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D2: {inst: inst60000122, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D3: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D4: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D5: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D6: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D7: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D8: {inst: inst60000083, generic: generic60000009, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant600000D9: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant600000DA: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant600000DB: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant600000DC: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant600000DD: {inst: inst600000E8, generic: generic60000009, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant600000DE: {inst: inst60000123, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000DF: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def11, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E0: {inst: inst60000124, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E1: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def12, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E2: {inst: inst60000125, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E3: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def13, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E4: {inst: inst60000126, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E5: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def14, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E6: {inst: inst60000127, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E7: {inst: inst60000127, generic: generic60000009, index: generic_inst_in_def15, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E8: {inst: inst60000122, generic: generic60000009, index: generic_inst_in_def0, kind: checked} +// CHECK:STDOUT: symbolic_constant600000E9: {inst: inst6000007F, generic: generic60000009, index: generic_inst_in_def1, kind: checked} +// CHECK:STDOUT: symbolic_constant600000EA: {inst: inst60000080, generic: generic60000009, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000EB: {inst: inst60000081, generic: generic60000009, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant600000EC: {inst: inst60000082, generic: generic60000009, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant600000ED: {inst: inst60000083, generic: generic60000009, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant600000EE: {inst: inst600000E4, generic: generic60000009, index: generic_inst_in_def6, kind: checked} +// CHECK:STDOUT: symbolic_constant600000EF: {inst: inst600000E5, generic: generic60000009, index: generic_inst_in_def7, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F0: {inst: inst600000E6, generic: generic60000009, index: generic_inst_in_def8, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F1: {inst: inst600000E7, generic: generic60000009, index: generic_inst_in_def9, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F2: {inst: inst600000E8, generic: generic60000009, index: generic_inst_in_def10, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F3: {inst: inst60000123, generic: generic60000009, index: generic_inst_in_def11, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F4: {inst: inst60000124, generic: generic60000009, index: generic_inst_in_def12, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F5: {inst: inst60000125, generic: generic60000009, index: generic_inst_in_def13, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F6: {inst: inst60000126, generic: generic60000009, index: generic_inst_in_def14, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F7: {inst: inst60000127, generic: generic60000009, index: generic_inst_in_def15, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F8: {inst: inst60000138, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000F9: {inst: inst600000A3, generic: generic60000004, index: generic_inst_in_decl2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000FA: {inst: inst60000139, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000FB: {inst: inst60000139, generic: generic60000000, index: generic_inst_in_def2, kind: checked} +// CHECK:STDOUT: symbolic_constant600000FC: {inst: inst6000013B, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000FD: {inst: inst6000013C, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000FE: {inst: inst6000013E, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant600000FF: {inst: inst6000013B, generic: generic60000000, index: generic_inst_in_def3, kind: checked} +// CHECK:STDOUT: symbolic_constant60000100: {inst: inst6000013C, generic: generic60000000, index: generic_inst_in_def4, kind: checked} +// CHECK:STDOUT: symbolic_constant60000101: {inst: inst6000013E, generic: generic60000000, index: generic_inst_in_def5, kind: checked} +// CHECK:STDOUT: symbolic_constant60000102: {inst: inst60000144, generic: generic, index: generic_inst, kind: checked} +// CHECK:STDOUT: symbolic_constant60000103: {inst: inst60000144, generic: generic60000000, index: generic_inst_in_def6, kind: checked} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst60000035 +// CHECK:STDOUT: 0: inst60000036 // CHECK:STDOUT: imports: -// CHECK:STDOUT: 0: inst60000010 -// CHECK:STDOUT: 1: inst60000045 -// CHECK:STDOUT: 2: inst60000046 -// CHECK:STDOUT: 3: inst60000049 -// CHECK:STDOUT: 4: inst6000004A -// CHECK:STDOUT: 5: inst6000004B -// CHECK:STDOUT: 6: inst6000004D -// CHECK:STDOUT: 7: inst6000004F -// CHECK:STDOUT: 8: inst60000054 -// CHECK:STDOUT: 9: inst60000055 -// CHECK:STDOUT: 10: inst60000056 -// CHECK:STDOUT: 11: inst60000057 -// CHECK:STDOUT: 12: inst60000058 -// CHECK:STDOUT: 13: inst6000005D -// CHECK:STDOUT: 14: inst6000005E -// CHECK:STDOUT: 15: inst60000063 -// CHECK:STDOUT: 16: inst60000064 -// CHECK:STDOUT: 17: inst60000065 -// CHECK:STDOUT: 18: inst60000066 -// CHECK:STDOUT: 19: inst60000067 -// CHECK:STDOUT: 20: inst60000068 -// CHECK:STDOUT: 21: inst6000006E -// CHECK:STDOUT: 22: inst60000072 -// CHECK:STDOUT: 23: inst60000073 -// CHECK:STDOUT: 24: inst60000074 -// CHECK:STDOUT: 25: inst60000075 -// CHECK:STDOUT: 26: inst60000076 -// CHECK:STDOUT: 27: inst6000008A -// CHECK:STDOUT: 28: inst6000008B -// CHECK:STDOUT: 29: inst6000008C -// CHECK:STDOUT: 30: inst6000008D -// CHECK:STDOUT: 31: inst6000008E -// CHECK:STDOUT: 32: inst6000008F -// CHECK:STDOUT: 33: inst60000090 -// CHECK:STDOUT: 34: inst60000091 -// CHECK:STDOUT: 35: inst60000092 -// CHECK:STDOUT: 36: inst60000093 -// CHECK:STDOUT: 37: inst60000094 -// CHECK:STDOUT: 38: inst60000095 -// CHECK:STDOUT: 39: inst60000096 -// CHECK:STDOUT: 40: inst60000097 -// CHECK:STDOUT: 41: inst60000098 -// CHECK:STDOUT: 42: inst60000099 -// CHECK:STDOUT: 43: inst6000009A -// CHECK:STDOUT: 44: inst6000009B -// CHECK:STDOUT: 45: inst6000009C -// CHECK:STDOUT: 46: inst6000009D -// CHECK:STDOUT: 47: inst6000009E -// CHECK:STDOUT: 48: inst6000009F -// CHECK:STDOUT: 49: inst600000A0 -// CHECK:STDOUT: 50: inst600000A1 -// CHECK:STDOUT: 51: inst600000A6 -// CHECK:STDOUT: 52: inst600000A9 -// CHECK:STDOUT: 53: inst600000AA -// CHECK:STDOUT: 54: inst600000AB -// CHECK:STDOUT: 55: inst600000AC -// CHECK:STDOUT: 56: inst600000AD -// CHECK:STDOUT: 57: inst600000B4 -// CHECK:STDOUT: 58: inst600000B5 -// CHECK:STDOUT: 59: inst600000B6 -// CHECK:STDOUT: 60: inst600000B7 -// CHECK:STDOUT: 61: inst600000B8 -// CHECK:STDOUT: 62: inst600000B9 -// CHECK:STDOUT: 63: inst600000BA -// CHECK:STDOUT: 64: inst600000BB -// CHECK:STDOUT: 65: inst600000BC -// CHECK:STDOUT: 66: inst600000BD -// CHECK:STDOUT: 67: inst600000C1 -// CHECK:STDOUT: 68: inst600000C2 -// CHECK:STDOUT: 69: inst600000C3 -// CHECK:STDOUT: 70: inst600000C4 -// CHECK:STDOUT: 71: inst600000C5 -// CHECK:STDOUT: 72: inst600000C6 -// CHECK:STDOUT: 73: inst600000C7 -// CHECK:STDOUT: 74: inst600000C8 -// CHECK:STDOUT: 75: inst600000D0 -// CHECK:STDOUT: 76: inst600000D4 -// CHECK:STDOUT: 77: inst600000D5 -// CHECK:STDOUT: 78: inst600000D6 -// CHECK:STDOUT: 79: inst600000D7 -// CHECK:STDOUT: 80: inst600000D8 -// CHECK:STDOUT: 81: inst600000D9 -// CHECK:STDOUT: 82: inst600000F4 -// CHECK:STDOUT: 83: inst600000F5 -// CHECK:STDOUT: 84: inst600000F9 -// CHECK:STDOUT: 85: inst600000FA -// CHECK:STDOUT: 86: inst600000FB -// CHECK:STDOUT: 87: inst600000FC -// CHECK:STDOUT: 88: inst600000FD -// CHECK:STDOUT: 89: inst600000FE -// CHECK:STDOUT: 90: inst600000FF -// CHECK:STDOUT: 91: inst60000100 -// CHECK:STDOUT: 92: inst60000101 -// CHECK:STDOUT: 93: inst60000102 -// CHECK:STDOUT: 94: inst6000010C -// CHECK:STDOUT: 95: inst60000110 -// CHECK:STDOUT: 96: inst60000111 -// CHECK:STDOUT: 97: inst60000112 -// CHECK:STDOUT: 98: inst60000113 -// CHECK:STDOUT: 99: inst60000114 -// CHECK:STDOUT: 100: inst60000115 -// CHECK:STDOUT: 101: inst60000116 +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000046 +// CHECK:STDOUT: 2: inst60000047 +// CHECK:STDOUT: 3: inst6000004A +// CHECK:STDOUT: 4: inst6000004B +// CHECK:STDOUT: 5: inst6000004C +// CHECK:STDOUT: 6: inst6000004E +// CHECK:STDOUT: 7: inst60000050 +// CHECK:STDOUT: 8: inst60000055 +// CHECK:STDOUT: 9: inst60000056 +// CHECK:STDOUT: 10: inst60000057 +// CHECK:STDOUT: 11: inst60000058 +// CHECK:STDOUT: 12: inst60000059 +// CHECK:STDOUT: 13: inst6000005E +// CHECK:STDOUT: 14: inst6000005F +// CHECK:STDOUT: 15: inst60000064 +// CHECK:STDOUT: 16: inst60000065 +// CHECK:STDOUT: 17: inst60000066 +// CHECK:STDOUT: 18: inst60000067 +// CHECK:STDOUT: 19: inst60000068 +// CHECK:STDOUT: 20: inst60000069 +// CHECK:STDOUT: 21: inst6000006F +// CHECK:STDOUT: 22: inst60000073 +// CHECK:STDOUT: 23: inst60000074 +// CHECK:STDOUT: 24: inst60000075 +// CHECK:STDOUT: 25: inst60000076 +// CHECK:STDOUT: 26: inst60000077 +// CHECK:STDOUT: 27: inst6000008B +// CHECK:STDOUT: 28: inst6000008C +// CHECK:STDOUT: 29: inst6000008D +// CHECK:STDOUT: 30: inst6000008E +// CHECK:STDOUT: 31: inst6000008F +// CHECK:STDOUT: 32: inst60000090 +// CHECK:STDOUT: 33: inst60000091 +// CHECK:STDOUT: 34: inst60000092 +// CHECK:STDOUT: 35: inst60000093 +// CHECK:STDOUT: 36: inst60000094 +// CHECK:STDOUT: 37: inst60000095 +// CHECK:STDOUT: 38: inst60000096 +// CHECK:STDOUT: 39: inst60000097 +// CHECK:STDOUT: 40: inst60000098 +// CHECK:STDOUT: 41: inst60000099 +// CHECK:STDOUT: 42: inst6000009A +// CHECK:STDOUT: 43: inst6000009B +// CHECK:STDOUT: 44: inst6000009C +// CHECK:STDOUT: 45: inst6000009D +// CHECK:STDOUT: 46: inst6000009E +// CHECK:STDOUT: 47: inst6000009F +// CHECK:STDOUT: 48: inst600000A0 +// CHECK:STDOUT: 49: inst600000A1 +// CHECK:STDOUT: 50: inst600000A2 +// CHECK:STDOUT: 51: inst600000A7 +// CHECK:STDOUT: 52: inst600000AA +// CHECK:STDOUT: 53: inst600000AB +// CHECK:STDOUT: 54: inst600000AC +// CHECK:STDOUT: 55: inst600000AD +// CHECK:STDOUT: 56: inst600000AE +// CHECK:STDOUT: 57: inst600000B5 +// CHECK:STDOUT: 58: inst600000B6 +// CHECK:STDOUT: 59: inst600000B7 +// CHECK:STDOUT: 60: inst600000B8 +// CHECK:STDOUT: 61: inst600000B9 +// CHECK:STDOUT: 62: inst600000BA +// CHECK:STDOUT: 63: inst600000BB +// CHECK:STDOUT: 64: inst600000BC +// CHECK:STDOUT: 65: inst600000BD +// CHECK:STDOUT: 66: inst600000BE +// CHECK:STDOUT: 67: inst600000C2 +// CHECK:STDOUT: 68: inst600000C3 +// CHECK:STDOUT: 69: inst600000C4 +// CHECK:STDOUT: 70: inst600000C5 +// CHECK:STDOUT: 71: inst600000C6 +// CHECK:STDOUT: 72: inst600000C7 +// CHECK:STDOUT: 73: inst600000C8 +// CHECK:STDOUT: 74: inst600000C9 +// CHECK:STDOUT: 75: inst600000D1 +// CHECK:STDOUT: 76: inst600000D5 +// CHECK:STDOUT: 77: inst600000D6 +// CHECK:STDOUT: 78: inst600000D7 +// CHECK:STDOUT: 79: inst600000D8 +// CHECK:STDOUT: 80: inst600000D9 +// CHECK:STDOUT: 81: inst600000DA +// CHECK:STDOUT: 82: inst600000F5 +// CHECK:STDOUT: 83: inst600000F6 +// CHECK:STDOUT: 84: inst600000FA +// CHECK:STDOUT: 85: inst600000FB +// CHECK:STDOUT: 86: inst600000FC +// CHECK:STDOUT: 87: inst600000FD +// CHECK:STDOUT: 88: inst600000FE +// CHECK:STDOUT: 89: inst600000FF +// CHECK:STDOUT: 90: inst60000100 +// CHECK:STDOUT: 91: inst60000101 +// CHECK:STDOUT: 92: inst60000102 +// CHECK:STDOUT: 93: inst60000103 +// CHECK:STDOUT: 94: inst6000010D +// CHECK:STDOUT: 95: inst60000111 +// CHECK:STDOUT: 96: inst60000112 +// CHECK:STDOUT: 97: inst60000113 +// CHECK:STDOUT: 98: inst60000114 +// CHECK:STDOUT: 99: inst60000115 +// CHECK:STDOUT: 100: inst60000116 +// CHECK:STDOUT: 101: inst60000117 // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: -// CHECK:STDOUT: 0: inst60000012 +// CHECK:STDOUT: 0: inst60000013 // CHECK:STDOUT: inst_block60000005: -// CHECK:STDOUT: 0: inst60000018 -// CHECK:STDOUT: inst_block60000006: // CHECK:STDOUT: 0: inst60000019 -// CHECK:STDOUT: 1: inst6000001A +// CHECK:STDOUT: inst_block60000006: +// CHECK:STDOUT: 0: inst6000001A +// CHECK:STDOUT: 1: inst6000001B // CHECK:STDOUT: inst_block60000007: -// CHECK:STDOUT: 0: inst60000021 +// CHECK:STDOUT: 0: inst60000022 // CHECK:STDOUT: inst_block60000008: -// CHECK:STDOUT: 0: inst60000023 -// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 0: inst60000024 +// CHECK:STDOUT: 1: inst60000026 // CHECK:STDOUT: inst_block60000009: // CHECK:STDOUT: 0: inst(TypeType) -// CHECK:STDOUT: 1: inst60000024 +// CHECK:STDOUT: 1: inst60000025 // CHECK:STDOUT: inst_block6000000A: -// CHECK:STDOUT: 0: inst60000023 -// CHECK:STDOUT: 1: inst60000029 +// CHECK:STDOUT: 0: inst60000024 +// CHECK:STDOUT: 1: inst6000002A // CHECK:STDOUT: inst_block6000000B: -// CHECK:STDOUT: 0: inst6000001B -// CHECK:STDOUT: 1: inst60000024 -// CHECK:STDOUT: inst_block6000000C: // CHECK:STDOUT: 0: inst6000001C -// CHECK:STDOUT: 1: inst60000024 +// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: inst_block6000000C: +// CHECK:STDOUT: 0: inst6000001D +// CHECK:STDOUT: 1: inst60000025 // CHECK:STDOUT: inst_block6000000D: -// CHECK:STDOUT: 0: inst60000031 -// CHECK:STDOUT: 1: inst60000033 +// CHECK:STDOUT: 0: inst60000032 +// CHECK:STDOUT: 1: inst60000034 // CHECK:STDOUT: inst_block6000000E: -// CHECK:STDOUT: 0: inst60000018 -// CHECK:STDOUT: 1: inst6000001F -// CHECK:STDOUT: 2: inst60000021 -// CHECK:STDOUT: 3: inst6000002E -// CHECK:STDOUT: 4: inst60000030 +// CHECK:STDOUT: 0: inst60000019 +// CHECK:STDOUT: 1: inst60000020 +// CHECK:STDOUT: 2: inst60000022 +// CHECK:STDOUT: 3: inst6000002F +// CHECK:STDOUT: 4: inst60000031 // CHECK:STDOUT: inst_block6000000F: -// CHECK:STDOUT: 0: inst60000022 -// CHECK:STDOUT: 1: inst60000023 -// CHECK:STDOUT: 2: inst60000025 -// CHECK:STDOUT: 3: inst60000027 -// CHECK:STDOUT: 4: inst60000029 -// CHECK:STDOUT: 5: inst6000002B -// CHECK:STDOUT: 6: inst60000012 -// CHECK:STDOUT: 7: inst60000014 -// CHECK:STDOUT: 8: inst60000031 -// CHECK:STDOUT: 9: inst60000032 -// CHECK:STDOUT: 10: inst6000001D -// CHECK:STDOUT: 11: inst60000033 -// CHECK:STDOUT: 12: inst60000034 +// CHECK:STDOUT: 0: inst60000023 +// CHECK:STDOUT: 1: inst60000024 +// CHECK:STDOUT: 2: inst60000026 +// CHECK:STDOUT: 3: inst60000028 +// CHECK:STDOUT: 4: inst6000002A +// CHECK:STDOUT: 5: inst6000002C +// CHECK:STDOUT: 6: inst60000013 +// CHECK:STDOUT: 7: inst60000015 +// CHECK:STDOUT: 8: inst60000032 +// CHECK:STDOUT: 9: inst60000033 +// CHECK:STDOUT: 10: inst6000001E +// CHECK:STDOUT: 11: inst60000034 +// CHECK:STDOUT: 12: inst60000035 // CHECK:STDOUT: inst_block60000010: -// CHECK:STDOUT: 0: inst60000014 -// CHECK:STDOUT: inst_block60000011: // CHECK:STDOUT: 0: inst60000015 +// CHECK:STDOUT: inst_block60000011: +// CHECK:STDOUT: 0: inst60000016 // CHECK:STDOUT: inst_block60000012: +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst6000001D +// CHECK:STDOUT: 2: inst60000021 +// CHECK:STDOUT: 3: inst6000002D +// CHECK:STDOUT: 4: inst60000030 +// CHECK:STDOUT: inst_block60000013: // CHECK:STDOUT: 0: inst60000016 // CHECK:STDOUT: 1: inst6000001C -// CHECK:STDOUT: 2: inst60000020 -// CHECK:STDOUT: 3: inst6000002C -// CHECK:STDOUT: 4: inst6000002F -// CHECK:STDOUT: inst_block60000013: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst6000001E -// CHECK:STDOUT: 3: inst6000002A -// CHECK:STDOUT: 4: inst6000002D +// CHECK:STDOUT: 2: inst6000001F +// CHECK:STDOUT: 3: inst6000002B +// CHECK:STDOUT: 4: inst6000002E // CHECK:STDOUT: inst_block60000014: -// CHECK:STDOUT: 0: inst6000003F -// CHECK:STDOUT: 1: inst60000040 -// CHECK:STDOUT: 2: inst60000041 -// CHECK:STDOUT: 3: inst6000013C -// CHECK:STDOUT: 4: inst60000141 -// CHECK:STDOUT: 5: inst60000142 -// CHECK:STDOUT: 6: inst60000145 -// CHECK:STDOUT: 7: inst60000147 -// CHECK:STDOUT: 8: inst60000043 -// CHECK:STDOUT: 9: inst60000148 -// CHECK:STDOUT: 10: inst60000149 -// CHECK:STDOUT: 11: inst6000014A -// CHECK:STDOUT: 12: inst6000014C -// CHECK:STDOUT: 13: inst6000014D -// CHECK:STDOUT: 14: inst6000014E -// CHECK:STDOUT: 15: inst6000014F +// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 1: inst60000041 +// CHECK:STDOUT: 2: inst60000042 +// CHECK:STDOUT: 3: inst6000013D +// CHECK:STDOUT: 4: inst60000142 +// CHECK:STDOUT: 5: inst60000143 +// CHECK:STDOUT: 6: inst60000146 +// CHECK:STDOUT: 7: inst60000148 +// CHECK:STDOUT: 8: inst60000044 +// CHECK:STDOUT: 9: inst60000149 +// CHECK:STDOUT: 10: inst6000014A +// CHECK:STDOUT: 11: inst6000014B +// CHECK:STDOUT: 12: inst6000014D +// CHECK:STDOUT: 13: inst6000014E +// CHECK:STDOUT: 14: inst6000014F +// CHECK:STDOUT: 15: inst60000150 // CHECK:STDOUT: inst_block60000015: -// CHECK:STDOUT: 0: inst6000003F -// CHECK:STDOUT: 1: inst60000040 +// CHECK:STDOUT: 0: inst60000040 +// CHECK:STDOUT: 1: inst60000041 // CHECK:STDOUT: inst_block60000016: -// CHECK:STDOUT: 0: inst6000004B +// CHECK:STDOUT: 0: inst6000004C // CHECK:STDOUT: inst_block60000017: -// CHECK:STDOUT: 0: inst60000057 -// CHECK:STDOUT: inst_block60000018: // CHECK:STDOUT: 0: inst60000058 -// CHECK:STDOUT: inst_block60000019: +// CHECK:STDOUT: inst_block60000018: // CHECK:STDOUT: 0: inst60000059 -// CHECK:STDOUT: 1: inst6000005A -// CHECK:STDOUT: 2: inst6000005B +// CHECK:STDOUT: inst_block60000019: +// CHECK:STDOUT: 0: inst6000005A +// CHECK:STDOUT: 1: inst6000005B +// CHECK:STDOUT: 2: inst6000005C // CHECK:STDOUT: inst_block6000001A: -// CHECK:STDOUT: 0: inst60000048 +// CHECK:STDOUT: 0: inst60000049 // CHECK:STDOUT: inst_block6000001B: -// CHECK:STDOUT: 0: inst60000048 -// CHECK:STDOUT: 1: inst60000052 -// CHECK:STDOUT: 2: inst60000053 +// CHECK:STDOUT: 0: inst60000049 +// CHECK:STDOUT: 1: inst60000053 +// CHECK:STDOUT: 2: inst60000054 // CHECK:STDOUT: inst_block6000001C: -// CHECK:STDOUT: 0: inst60000063 -// CHECK:STDOUT: inst_block6000001D: // CHECK:STDOUT: 0: inst60000064 +// CHECK:STDOUT: inst_block6000001D: +// CHECK:STDOUT: 0: inst60000065 // CHECK:STDOUT: inst_block6000001E: -// CHECK:STDOUT: 0: inst60000067 +// CHECK:STDOUT: 0: inst60000068 // CHECK:STDOUT: inst_block6000001F: -// CHECK:STDOUT: 0: inst6000005F +// CHECK:STDOUT: 0: inst60000060 // CHECK:STDOUT: inst_block60000020: -// CHECK:STDOUT: 0: inst6000006A +// CHECK:STDOUT: 0: inst6000006B // CHECK:STDOUT: inst_block60000021: -// CHECK:STDOUT: 0: inst6000006A -// CHECK:STDOUT: 1: inst6000006B -// CHECK:STDOUT: 2: inst6000006C -// CHECK:STDOUT: 3: inst6000006D +// CHECK:STDOUT: 0: inst6000006B +// CHECK:STDOUT: 1: inst6000006C +// CHECK:STDOUT: 2: inst6000006D +// CHECK:STDOUT: 3: inst6000006E // CHECK:STDOUT: inst_block60000022: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst60000061 -// CHECK:STDOUT: 3: inst60000069 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst60000062 +// CHECK:STDOUT: 3: inst6000006A // CHECK:STDOUT: inst_block60000023: -// CHECK:STDOUT: 0: inst60000075 -// CHECK:STDOUT: inst_block60000024: // CHECK:STDOUT: 0: inst60000076 -// CHECK:STDOUT: inst_block60000025: -// CHECK:STDOUT: 0: inst6000006A -// CHECK:STDOUT: inst_block60000026: +// CHECK:STDOUT: inst_block60000024: // CHECK:STDOUT: 0: inst60000077 -// CHECK:STDOUT: 1: inst60000078 +// CHECK:STDOUT: inst_block60000025: +// CHECK:STDOUT: 0: inst6000006B +// CHECK:STDOUT: inst_block60000026: +// CHECK:STDOUT: 0: inst60000078 +// CHECK:STDOUT: 1: inst60000079 // CHECK:STDOUT: inst_block60000027: -// CHECK:STDOUT: 0: inst60000079 -// CHECK:STDOUT: 1: inst6000007A -// CHECK:STDOUT: 2: inst6000007B -// CHECK:STDOUT: 3: inst6000007C +// CHECK:STDOUT: 0: inst6000007A +// CHECK:STDOUT: 1: inst6000007B +// CHECK:STDOUT: 2: inst6000007C +// CHECK:STDOUT: 3: inst6000007D // CHECK:STDOUT: inst_block60000028: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst60000061 -// CHECK:STDOUT: 3: inst60000071 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst60000062 +// CHECK:STDOUT: 3: inst60000072 // CHECK:STDOUT: inst_block60000029: -// CHECK:STDOUT: 0: inst60000079 +// CHECK:STDOUT: 0: inst6000007A // CHECK:STDOUT: inst_block6000002A: -// CHECK:STDOUT: 0: inst60000083 -// CHECK:STDOUT: 1: inst60000084 -// CHECK:STDOUT: 2: inst60000085 -// CHECK:STDOUT: 3: inst60000086 -// CHECK:STDOUT: 4: inst60000087 -// CHECK:STDOUT: 5: inst60000088 +// CHECK:STDOUT: 0: inst60000084 +// CHECK:STDOUT: 1: inst60000085 +// CHECK:STDOUT: 2: inst60000086 +// CHECK:STDOUT: 3: inst60000087 +// CHECK:STDOUT: 4: inst60000088 +// CHECK:STDOUT: 5: inst60000089 // CHECK:STDOUT: inst_block6000002B: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst60000089 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst6000008A // CHECK:STDOUT: inst_block6000002C: -// CHECK:STDOUT: 0: inst6000006F -// CHECK:STDOUT: 1: inst60000070 +// CHECK:STDOUT: 0: inst60000070 +// CHECK:STDOUT: 1: inst60000071 // CHECK:STDOUT: inst_block6000002D: -// CHECK:STDOUT: 0: inst6000009C -// CHECK:STDOUT: inst_block6000002E: // CHECK:STDOUT: 0: inst6000009D +// CHECK:STDOUT: inst_block6000002E: +// CHECK:STDOUT: 0: inst6000009E // CHECK:STDOUT: inst_block6000002F: -// CHECK:STDOUT: 0: inst600000A0 +// CHECK:STDOUT: 0: inst600000A1 // CHECK:STDOUT: inst_block60000030: -// CHECK:STDOUT: 0: inst600000A3 +// CHECK:STDOUT: 0: inst600000A4 // CHECK:STDOUT: inst_block60000031: -// CHECK:STDOUT: 0: inst600000A3 -// CHECK:STDOUT: 1: inst600000A4 -// CHECK:STDOUT: 2: inst600000A5 +// CHECK:STDOUT: 0: inst600000A4 +// CHECK:STDOUT: 1: inst600000A5 +// CHECK:STDOUT: 2: inst600000A6 // CHECK:STDOUT: inst_block60000032: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst600000A2 +// CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 2: inst600000A3 // CHECK:STDOUT: inst_block60000033: -// CHECK:STDOUT: 0: inst600000AC -// CHECK:STDOUT: inst_block60000034: // CHECK:STDOUT: 0: inst600000AD -// CHECK:STDOUT: inst_block60000035: -// CHECK:STDOUT: 0: inst600000A3 -// CHECK:STDOUT: inst_block60000036: +// CHECK:STDOUT: inst_block60000034: // CHECK:STDOUT: 0: inst600000AE -// CHECK:STDOUT: 1: inst600000AF -// CHECK:STDOUT: 2: inst600000B0 +// CHECK:STDOUT: inst_block60000035: +// CHECK:STDOUT: 0: inst600000A4 +// CHECK:STDOUT: inst_block60000036: +// CHECK:STDOUT: 0: inst600000AF +// CHECK:STDOUT: 1: inst600000B0 +// CHECK:STDOUT: 2: inst600000B1 // CHECK:STDOUT: inst_block60000037: -// CHECK:STDOUT: 0: inst600000B1 -// CHECK:STDOUT: 1: inst600000B2 -// CHECK:STDOUT: 2: inst600000B3 +// CHECK:STDOUT: 0: inst600000B2 +// CHECK:STDOUT: 1: inst600000B3 +// CHECK:STDOUT: 2: inst600000B4 // CHECK:STDOUT: inst_block60000038: -// CHECK:STDOUT: 0: inst60000015 -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst6000001E +// CHECK:STDOUT: 0: inst60000016 +// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 2: inst6000001F // CHECK:STDOUT: inst_block60000039: +// CHECK:STDOUT: 0: inst60000061 +// CHECK:STDOUT: 1: inst600000C0 +// CHECK:STDOUT: inst_block6000003A: +// CHECK:STDOUT: 0: inst600000C3 +// CHECK:STDOUT: 1: inst600000C2 +// CHECK:STDOUT: inst_block6000003B: +// CHECK:STDOUT: 0: inst600000C4 +// CHECK:STDOUT: 1: inst600000C5 +// CHECK:STDOUT: inst_block6000003C: +// CHECK:STDOUT: 0: inst600000C8 +// CHECK:STDOUT: inst_block6000003D: // CHECK:STDOUT: 0: inst60000060 // CHECK:STDOUT: 1: inst600000BF -// CHECK:STDOUT: inst_block6000003A: -// CHECK:STDOUT: 0: inst600000C2 -// CHECK:STDOUT: 1: inst600000C1 -// CHECK:STDOUT: inst_block6000003B: -// CHECK:STDOUT: 0: inst600000C3 -// CHECK:STDOUT: 1: inst600000C4 -// CHECK:STDOUT: inst_block6000003C: -// CHECK:STDOUT: 0: inst600000C7 -// CHECK:STDOUT: inst_block6000003D: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE // CHECK:STDOUT: inst_block6000003E: -// CHECK:STDOUT: 0: inst600000CC -// CHECK:STDOUT: 1: inst600000CD +// CHECK:STDOUT: 0: inst600000CD +// CHECK:STDOUT: 1: inst600000CE // CHECK:STDOUT: inst_block6000003F: -// CHECK:STDOUT: 0: inst600000CA -// CHECK:STDOUT: 1: inst600000CB +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC // CHECK:STDOUT: inst_block60000040: -// CHECK:STDOUT: 0: inst600000CA -// CHECK:STDOUT: 1: inst600000CB -// CHECK:STDOUT: 2: inst600000CC -// CHECK:STDOUT: 3: inst600000CD -// CHECK:STDOUT: 4: inst600000CE -// CHECK:STDOUT: 5: inst600000CF +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC +// CHECK:STDOUT: 2: inst600000CD +// CHECK:STDOUT: 3: inst600000CE +// CHECK:STDOUT: 4: inst600000CF +// CHECK:STDOUT: 5: inst600000D0 // CHECK:STDOUT: inst_block60000041: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE -// CHECK:STDOUT: 2: inst60000060 -// CHECK:STDOUT: 3: inst600000BF -// CHECK:STDOUT: 4: inst600000C0 -// CHECK:STDOUT: 5: inst600000C9 -// CHECK:STDOUT: inst_block60000042: -// CHECK:STDOUT: 0: inst600000D7 -// CHECK:STDOUT: inst_block60000043: -// CHECK:STDOUT: 0: inst600000D8 -// CHECK:STDOUT: 1: inst600000D9 -// CHECK:STDOUT: inst_block60000044: -// CHECK:STDOUT: 0: inst600000CA -// CHECK:STDOUT: 1: inst600000CB -// CHECK:STDOUT: inst_block60000045: -// CHECK:STDOUT: 0: inst600000DA -// CHECK:STDOUT: 1: inst600000DB -// CHECK:STDOUT: inst_block60000046: -// CHECK:STDOUT: 0: inst600000DD -// CHECK:STDOUT: 1: inst600000DF -// CHECK:STDOUT: inst_block60000047: -// CHECK:STDOUT: 0: inst600000DC -// CHECK:STDOUT: 1: inst600000DD -// CHECK:STDOUT: 2: inst600000DE -// CHECK:STDOUT: 3: inst600000DF -// CHECK:STDOUT: 4: inst600000E0 -// CHECK:STDOUT: 5: inst600000E1 -// CHECK:STDOUT: inst_block60000048: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst600000BE -// CHECK:STDOUT: 3: inst600000BF -// CHECK:STDOUT: 4: inst600000C0 -// CHECK:STDOUT: 5: inst600000D3 -// CHECK:STDOUT: inst_block60000049: -// CHECK:STDOUT: 0: inst600000BE -// CHECK:STDOUT: inst_block6000004A: -// CHECK:STDOUT: 0: inst600000DC -// CHECK:STDOUT: inst_block6000004B: -// CHECK:STDOUT: 0: inst600000DE -// CHECK:STDOUT: inst_block6000004C: -// CHECK:STDOUT: 0: inst600000E8 -// CHECK:STDOUT: 1: inst600000E9 -// CHECK:STDOUT: 2: inst600000EA -// CHECK:STDOUT: 3: inst600000EB -// CHECK:STDOUT: 4: inst600000EC -// CHECK:STDOUT: 5: inst600000ED -// CHECK:STDOUT: 6: inst600000EE -// CHECK:STDOUT: 7: inst600000EF -// CHECK:STDOUT: 8: inst600000F0 -// CHECK:STDOUT: 9: inst600000F1 -// CHECK:STDOUT: 10: inst600000F2 -// CHECK:STDOUT: inst_block6000004D: -// CHECK:STDOUT: 0: inst600000BE +// CHECK:STDOUT: 0: inst60000060 // CHECK:STDOUT: 1: inst600000BF -// CHECK:STDOUT: 2: inst600000F3 +// CHECK:STDOUT: 2: inst60000061 +// CHECK:STDOUT: 3: inst600000C0 +// CHECK:STDOUT: 4: inst600000C1 +// CHECK:STDOUT: 5: inst600000CA +// CHECK:STDOUT: inst_block60000042: +// CHECK:STDOUT: 0: inst600000D8 +// CHECK:STDOUT: inst_block60000043: +// CHECK:STDOUT: 0: inst600000D9 +// CHECK:STDOUT: 1: inst600000DA +// CHECK:STDOUT: inst_block60000044: +// CHECK:STDOUT: 0: inst600000CB +// CHECK:STDOUT: 1: inst600000CC +// CHECK:STDOUT: inst_block60000045: +// CHECK:STDOUT: 0: inst600000DB +// CHECK:STDOUT: 1: inst600000DC +// CHECK:STDOUT: inst_block60000046: +// CHECK:STDOUT: 0: inst600000DE +// CHECK:STDOUT: 1: inst600000E0 +// CHECK:STDOUT: inst_block60000047: +// CHECK:STDOUT: 0: inst600000DD +// CHECK:STDOUT: 1: inst600000DE +// CHECK:STDOUT: 2: inst600000DF +// CHECK:STDOUT: 3: inst600000E0 +// CHECK:STDOUT: 4: inst600000E1 +// CHECK:STDOUT: 5: inst600000E2 +// CHECK:STDOUT: inst_block60000048: +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst600000BF +// CHECK:STDOUT: 3: inst600000C0 +// CHECK:STDOUT: 4: inst600000C1 +// CHECK:STDOUT: 5: inst600000D4 +// CHECK:STDOUT: inst_block60000049: +// CHECK:STDOUT: 0: inst600000BF +// CHECK:STDOUT: inst_block6000004A: +// CHECK:STDOUT: 0: inst600000DD +// CHECK:STDOUT: inst_block6000004B: +// CHECK:STDOUT: 0: inst600000DF +// CHECK:STDOUT: inst_block6000004C: +// CHECK:STDOUT: 0: inst600000E9 +// CHECK:STDOUT: 1: inst600000EA +// CHECK:STDOUT: 2: inst600000EB +// CHECK:STDOUT: 3: inst600000EC +// CHECK:STDOUT: 4: inst600000ED +// CHECK:STDOUT: 5: inst600000EE +// CHECK:STDOUT: 6: inst600000EF +// CHECK:STDOUT: 7: inst600000F0 +// CHECK:STDOUT: 8: inst600000F1 +// CHECK:STDOUT: 9: inst600000F2 +// CHECK:STDOUT: 10: inst600000F3 +// CHECK:STDOUT: inst_block6000004D: +// CHECK:STDOUT: 0: inst600000BF +// CHECK:STDOUT: 1: inst600000C0 +// CHECK:STDOUT: 2: inst600000F4 // CHECK:STDOUT: inst_block6000004E: -// CHECK:STDOUT: 0: inst600000D1 -// CHECK:STDOUT: 1: inst600000D2 +// CHECK:STDOUT: 0: inst600000D2 +// CHECK:STDOUT: 1: inst600000D3 // CHECK:STDOUT: inst_block6000004F: +// CHECK:STDOUT: 0: inst60000061 +// CHECK:STDOUT: 1: inst600000C0 +// CHECK:STDOUT: 2: inst600000F8 +// CHECK:STDOUT: inst_block60000050: +// CHECK:STDOUT: 0: inst600000FC +// CHECK:STDOUT: 1: inst600000FB +// CHECK:STDOUT: 2: inst600000FA +// CHECK:STDOUT: inst_block60000051: +// CHECK:STDOUT: 0: inst600000FD +// CHECK:STDOUT: 1: inst600000FE +// CHECK:STDOUT: 2: inst600000FF +// CHECK:STDOUT: inst_block60000052: +// CHECK:STDOUT: 0: inst60000102 +// CHECK:STDOUT: inst_block60000053: // CHECK:STDOUT: 0: inst60000060 // CHECK:STDOUT: 1: inst600000BF // CHECK:STDOUT: 2: inst600000F7 -// CHECK:STDOUT: inst_block60000050: -// CHECK:STDOUT: 0: inst600000FB -// CHECK:STDOUT: 1: inst600000FA -// CHECK:STDOUT: 2: inst600000F9 -// CHECK:STDOUT: inst_block60000051: -// CHECK:STDOUT: 0: inst600000FC -// CHECK:STDOUT: 1: inst600000FD -// CHECK:STDOUT: 2: inst600000FE -// CHECK:STDOUT: inst_block60000052: -// CHECK:STDOUT: 0: inst60000101 -// CHECK:STDOUT: inst_block60000053: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE -// CHECK:STDOUT: 2: inst600000F6 // CHECK:STDOUT: inst_block60000054: -// CHECK:STDOUT: 0: inst60000107 -// CHECK:STDOUT: 1: inst60000108 -// CHECK:STDOUT: 2: inst60000109 +// CHECK:STDOUT: 0: inst60000108 +// CHECK:STDOUT: 1: inst60000109 +// CHECK:STDOUT: 2: inst6000010A // CHECK:STDOUT: inst_block60000055: -// CHECK:STDOUT: 0: inst60000104 -// CHECK:STDOUT: 1: inst60000105 -// CHECK:STDOUT: 2: inst60000106 +// CHECK:STDOUT: 0: inst60000105 +// CHECK:STDOUT: 1: inst60000106 +// CHECK:STDOUT: 2: inst60000107 // CHECK:STDOUT: inst_block60000056: -// CHECK:STDOUT: 0: inst60000104 -// CHECK:STDOUT: 1: inst60000105 -// CHECK:STDOUT: 2: inst60000106 -// CHECK:STDOUT: 3: inst60000107 -// CHECK:STDOUT: 4: inst60000108 -// CHECK:STDOUT: 5: inst60000109 -// CHECK:STDOUT: 6: inst6000010A -// CHECK:STDOUT: 7: inst6000010B +// CHECK:STDOUT: 0: inst60000105 +// CHECK:STDOUT: 1: inst60000106 +// CHECK:STDOUT: 2: inst60000107 +// CHECK:STDOUT: 3: inst60000108 +// CHECK:STDOUT: 4: inst60000109 +// CHECK:STDOUT: 5: inst6000010A +// CHECK:STDOUT: 6: inst6000010B +// CHECK:STDOUT: 7: inst6000010C // CHECK:STDOUT: inst_block60000057: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst600000BE -// CHECK:STDOUT: 2: inst600000F6 -// CHECK:STDOUT: 3: inst60000060 -// CHECK:STDOUT: 4: inst600000BF -// CHECK:STDOUT: 5: inst600000F7 -// CHECK:STDOUT: 6: inst600000F8 -// CHECK:STDOUT: 7: inst60000103 +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst600000BF +// CHECK:STDOUT: 2: inst600000F7 +// CHECK:STDOUT: 3: inst60000061 +// CHECK:STDOUT: 4: inst600000C0 +// CHECK:STDOUT: 5: inst600000F8 +// CHECK:STDOUT: 6: inst600000F9 +// CHECK:STDOUT: 7: inst60000104 // CHECK:STDOUT: inst_block60000058: -// CHECK:STDOUT: 0: inst60000113 -// CHECK:STDOUT: inst_block60000059: // CHECK:STDOUT: 0: inst60000114 -// CHECK:STDOUT: 1: inst60000115 -// CHECK:STDOUT: 2: inst60000116 +// CHECK:STDOUT: inst_block60000059: +// CHECK:STDOUT: 0: inst60000115 +// CHECK:STDOUT: 1: inst60000116 +// CHECK:STDOUT: 2: inst60000117 // CHECK:STDOUT: inst_block6000005A: -// CHECK:STDOUT: 0: inst60000104 -// CHECK:STDOUT: 1: inst60000105 -// CHECK:STDOUT: 2: inst60000106 +// CHECK:STDOUT: 0: inst60000105 +// CHECK:STDOUT: 1: inst60000106 +// CHECK:STDOUT: 2: inst60000107 // CHECK:STDOUT: inst_block6000005B: -// CHECK:STDOUT: 0: inst60000117 -// CHECK:STDOUT: 1: inst60000118 +// CHECK:STDOUT: 0: inst60000118 +// CHECK:STDOUT: 1: inst60000119 // CHECK:STDOUT: inst_block6000005C: -// CHECK:STDOUT: 0: inst6000011A -// CHECK:STDOUT: 1: inst6000011C -// CHECK:STDOUT: 2: inst6000011E -// CHECK:STDOUT: inst_block6000005D: -// CHECK:STDOUT: 0: inst60000119 -// CHECK:STDOUT: 1: inst6000011A -// CHECK:STDOUT: 2: inst6000011B -// CHECK:STDOUT: 3: inst6000011C -// CHECK:STDOUT: 4: inst6000011D -// CHECK:STDOUT: 5: inst6000011E -// CHECK:STDOUT: 6: inst6000011F -// CHECK:STDOUT: 7: inst60000120 -// CHECK:STDOUT: inst_block6000005E: -// CHECK:STDOUT: 0: inst6000005F -// CHECK:STDOUT: 1: inst60000060 -// CHECK:STDOUT: 2: inst600000BE -// CHECK:STDOUT: 3: inst600000BF -// CHECK:STDOUT: 4: inst600000F6 -// CHECK:STDOUT: 5: inst600000F7 -// CHECK:STDOUT: 6: inst600000F8 -// CHECK:STDOUT: 7: inst6000010F -// CHECK:STDOUT: inst_block6000005F: -// CHECK:STDOUT: 0: inst600000F6 -// CHECK:STDOUT: inst_block60000060: -// CHECK:STDOUT: 0: inst60000119 -// CHECK:STDOUT: inst_block60000061: // CHECK:STDOUT: 0: inst6000011B +// CHECK:STDOUT: 1: inst6000011D +// CHECK:STDOUT: 2: inst6000011F +// CHECK:STDOUT: inst_block6000005D: +// CHECK:STDOUT: 0: inst6000011A +// CHECK:STDOUT: 1: inst6000011B +// CHECK:STDOUT: 2: inst6000011C +// CHECK:STDOUT: 3: inst6000011D +// CHECK:STDOUT: 4: inst6000011E +// CHECK:STDOUT: 5: inst6000011F +// CHECK:STDOUT: 6: inst60000120 +// CHECK:STDOUT: 7: inst60000121 +// CHECK:STDOUT: inst_block6000005E: +// CHECK:STDOUT: 0: inst60000060 +// CHECK:STDOUT: 1: inst60000061 +// CHECK:STDOUT: 2: inst600000BF +// CHECK:STDOUT: 3: inst600000C0 +// CHECK:STDOUT: 4: inst600000F7 +// CHECK:STDOUT: 5: inst600000F8 +// CHECK:STDOUT: 6: inst600000F9 +// CHECK:STDOUT: 7: inst60000110 +// CHECK:STDOUT: inst_block6000005F: +// CHECK:STDOUT: 0: inst600000F7 +// CHECK:STDOUT: inst_block60000060: +// CHECK:STDOUT: 0: inst6000011A +// CHECK:STDOUT: inst_block60000061: +// CHECK:STDOUT: 0: inst6000011C // CHECK:STDOUT: inst_block60000062: -// CHECK:STDOUT: 0: inst6000011D +// CHECK:STDOUT: 0: inst6000011E // CHECK:STDOUT: inst_block60000063: -// CHECK:STDOUT: 0: inst60000127 -// CHECK:STDOUT: 1: inst60000128 -// CHECK:STDOUT: 2: inst60000129 -// CHECK:STDOUT: 3: inst6000012A -// CHECK:STDOUT: 4: inst6000012B -// CHECK:STDOUT: 5: inst6000012C -// CHECK:STDOUT: 6: inst6000012D -// CHECK:STDOUT: 7: inst6000012E -// CHECK:STDOUT: 8: inst6000012F -// CHECK:STDOUT: 9: inst60000130 -// CHECK:STDOUT: 10: inst60000131 -// CHECK:STDOUT: 11: inst60000132 -// CHECK:STDOUT: 12: inst60000133 -// CHECK:STDOUT: 13: inst60000134 -// CHECK:STDOUT: 14: inst60000135 -// CHECK:STDOUT: 15: inst60000136 +// CHECK:STDOUT: 0: inst60000128 +// CHECK:STDOUT: 1: inst60000129 +// CHECK:STDOUT: 2: inst6000012A +// CHECK:STDOUT: 3: inst6000012B +// CHECK:STDOUT: 4: inst6000012C +// CHECK:STDOUT: 5: inst6000012D +// CHECK:STDOUT: 6: inst6000012E +// CHECK:STDOUT: 7: inst6000012F +// CHECK:STDOUT: 8: inst60000130 +// CHECK:STDOUT: 9: inst60000131 +// CHECK:STDOUT: 10: inst60000132 +// CHECK:STDOUT: 11: inst60000133 +// CHECK:STDOUT: 12: inst60000134 +// CHECK:STDOUT: 13: inst60000135 +// CHECK:STDOUT: 14: inst60000136 +// CHECK:STDOUT: 15: inst60000137 // CHECK:STDOUT: inst_block60000064: -// CHECK:STDOUT: 0: inst600000F6 -// CHECK:STDOUT: 1: inst600000F7 -// CHECK:STDOUT: 2: inst60000137 +// CHECK:STDOUT: 0: inst600000F7 +// CHECK:STDOUT: 1: inst600000F8 +// CHECK:STDOUT: 2: inst60000138 // CHECK:STDOUT: inst_block60000065: -// CHECK:STDOUT: 0: inst6000010D -// CHECK:STDOUT: 1: inst6000010E +// CHECK:STDOUT: 0: inst6000010E +// CHECK:STDOUT: 1: inst6000010F // CHECK:STDOUT: inst_block60000066: -// CHECK:STDOUT: 0: inst600000A7 -// CHECK:STDOUT: 1: inst600000A8 -// CHECK:STDOUT: 2: inst6000003D +// CHECK:STDOUT: 0: inst600000A8 +// CHECK:STDOUT: 1: inst600000A9 +// CHECK:STDOUT: 2: inst6000003E // CHECK:STDOUT: inst_block60000067: -// CHECK:STDOUT: 0: inst60000138 -// CHECK:STDOUT: inst_block60000068: // CHECK:STDOUT: 0: inst60000139 +// CHECK:STDOUT: inst_block60000068: +// CHECK:STDOUT: 0: inst6000013A // CHECK:STDOUT: inst_block60000069: -// CHECK:STDOUT: 0: inst6000013A +// CHECK:STDOUT: 0: inst6000013B // CHECK:STDOUT: inst_block6000006A: -// CHECK:STDOUT: 0: inst6000013A -// CHECK:STDOUT: 1: inst6000001B -// CHECK:STDOUT: 2: inst6000001E +// CHECK:STDOUT: 0: inst6000013B +// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 2: inst6000001F // CHECK:STDOUT: inst_block6000006B: -// CHECK:STDOUT: 0: inst6000013E +// CHECK:STDOUT: 0: inst6000013F // CHECK:STDOUT: inst_block6000006C: -// CHECK:STDOUT: 0: inst6000003F +// CHECK:STDOUT: 0: inst60000040 // CHECK:STDOUT: inst_block6000006D: -// CHECK:STDOUT: 0: inst60000148 -// CHECK:STDOUT: 1: inst6000014C +// CHECK:STDOUT: 0: inst60000149 +// CHECK:STDOUT: 1: inst6000014D // CHECK:STDOUT: inst_block6000006E: -// CHECK:STDOUT: 0: inst6000003B -// CHECK:STDOUT: 1: inst6000003E -// CHECK:STDOUT: 2: inst60000139 -// CHECK:STDOUT: 3: inst6000013E -// CHECK:STDOUT: 4: inst6000013F -// CHECK:STDOUT: 5: inst60000140 -// CHECK:STDOUT: 6: inst60000144 +// CHECK:STDOUT: 0: inst6000003C +// CHECK:STDOUT: 1: inst6000003F +// CHECK:STDOUT: 2: inst6000013A +// CHECK:STDOUT: 3: inst6000013F +// CHECK:STDOUT: 4: inst60000140 +// CHECK:STDOUT: 5: inst60000141 +// CHECK:STDOUT: 6: inst60000145 // CHECK:STDOUT: inst_block6000006F: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst6000000F -// CHECK:STDOUT: 2: inst60000035 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000010 +// CHECK:STDOUT: 2: inst60000036 // CHECK:STDOUT: ... diff --git a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon index 8cddd378f351..32360a30c908 100644 --- a/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon +++ b/toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon @@ -26,12 +26,12 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000025}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {name00000000: inst60000026}} // CHECK:STDOUT: entity_names: // CHECK:STDOUT: entity_name60000000: {name: name00000001, parent_scope: name_scope, index: -1, is_template: 0} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: -// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block60000009, return_slot_pattern: inst60000020, body: [inst_block6000000C]} +// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block60000009, return_slot_pattern: inst60000021, body: [inst_block6000000C]} // CHECK:STDOUT: classes: {} // CHECK:STDOUT: generics: {} // CHECK:STDOUT: specifics: {} @@ -44,150 +44,150 @@ fn Foo(n: ()) -> ((), ()) { // CHECK:STDOUT: value_repr: {kind: copy, type: type(Error)} // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} -// CHECK:STDOUT: 'type(inst6000000F)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000000F)} -// CHECK:STDOUT: 'type(inst60000018)': -// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000001A)} -// CHECK:STDOUT: 'type(inst6000001A)': -// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000001A)} -// CHECK:STDOUT: 'type(inst60000026)': -// CHECK:STDOUT: value_repr: {kind: none, type: type(inst6000000F)} +// CHECK:STDOUT: 'type(inst60000010)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000010)} +// CHECK:STDOUT: 'type(inst60000019)': +// CHECK:STDOUT: value_repr: {kind: pointer, type: type(inst6000001B)} +// CHECK:STDOUT: 'type(inst6000001B)': +// CHECK:STDOUT: value_repr: {kind: copy, type: type(inst6000001B)} +// CHECK:STDOUT: 'type(inst60000027)': +// CHECK:STDOUT: value_repr: {kind: none, type: type(inst60000010)} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} -// CHECK:STDOUT: inst6000000F: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} -// CHECK:STDOUT: inst60000010: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000011: {kind: Converted, arg0: inst60000010, arg1: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst60000012: {kind: ValueBinding, arg0: entity_name60000000, arg1: inst60000021, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000013: {kind: PatternType, arg0: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst60000014: {kind: ValueBindingPattern, arg0: entity_name60000000, type: type(inst60000013)} -// CHECK:STDOUT: inst60000015: {kind: ValueParamPattern, arg0: inst60000014, arg1: call_param0, type: type(inst60000013)} -// CHECK:STDOUT: inst60000016: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000017: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000018: {kind: TupleType, arg0: inst_block60000007, type: type(TypeType)} -// CHECK:STDOUT: inst60000019: {kind: TupleLiteral, arg0: inst_block60000006, type: type(inst60000018)} -// CHECK:STDOUT: inst6000001A: {kind: PointerType, arg0: inst60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000001B: {kind: Converted, arg0: inst60000016, arg1: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst6000001C: {kind: Converted, arg0: inst60000017, arg1: inst6000000F, type: type(TypeType)} -// CHECK:STDOUT: inst6000001D: {kind: Converted, arg0: inst60000019, arg1: inst60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000001E: {kind: PatternType, arg0: inst60000018, type: type(TypeType)} -// CHECK:STDOUT: inst6000001F: {kind: ReturnSlotPattern, arg0: inst6000001D, type: type(inst6000001E)} -// CHECK:STDOUT: inst60000020: {kind: OutParamPattern, arg0: inst6000001F, arg1: call_param1, type: type(inst6000001E)} -// CHECK:STDOUT: inst60000021: {kind: ValueParam, arg0: call_param0, arg1: name00000001, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000022: {kind: SpliceBlock, arg0: inst_block60000004, arg1: inst60000011, type: type(TypeType)} -// CHECK:STDOUT: inst60000023: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(inst60000018)} -// CHECK:STDOUT: inst60000024: {kind: ReturnSlot, arg0: inst60000018, arg1: inst60000023, type: type(inst60000018)} -// CHECK:STDOUT: inst60000025: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block6000000B, type: type(inst60000026)} -// CHECK:STDOUT: inst60000026: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} -// CHECK:STDOUT: inst60000027: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000026)} -// CHECK:STDOUT: inst60000028: {kind: NameRef, arg0: name00000001, arg1: inst60000012, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000029: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002A: {kind: TupleLiteral, arg0: inst_block6000000D, type: type(inst60000018)} -// CHECK:STDOUT: inst6000002B: {kind: TupleAccess, arg0: inst60000024, arg1: element0, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002C: {kind: TupleInit, arg0: inst_block6000000E, arg1: inst6000002B, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002D: {kind: TupleValue, arg0: inst_block_empty, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002E: {kind: Converted, arg0: inst60000028, arg1: inst6000002C, type: type(inst6000000F)} -// CHECK:STDOUT: inst6000002F: {kind: TupleAccess, arg0: inst60000024, arg1: element1, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000030: {kind: TupleInit, arg0: inst_block_empty, arg1: inst6000002F, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000031: {kind: Converted, arg0: inst60000029, arg1: inst60000030, type: type(inst6000000F)} -// CHECK:STDOUT: inst60000032: {kind: TupleInit, arg0: inst_block6000000F, arg1: inst60000024, type: type(inst60000018)} -// CHECK:STDOUT: inst60000033: {kind: TupleValue, arg0: inst_block60000010, type: type(inst60000018)} -// CHECK:STDOUT: inst60000034: {kind: Converted, arg0: inst6000002A, arg1: inst60000032, type: type(inst60000018)} -// CHECK:STDOUT: inst60000035: {kind: ReturnExpr, arg0: inst60000034, arg1: inst60000024} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst60000010: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)} +// CHECK:STDOUT: inst60000011: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst60000012: {kind: Converted, arg0: inst60000011, arg1: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst60000013: {kind: ValueBinding, arg0: entity_name60000000, arg1: inst60000022, type: type(inst60000010)} +// CHECK:STDOUT: inst60000014: {kind: PatternType, arg0: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst60000015: {kind: ValueBindingPattern, arg0: entity_name60000000, type: type(inst60000014)} +// CHECK:STDOUT: inst60000016: {kind: ValueParamPattern, arg0: inst60000015, arg1: call_param0, type: type(inst60000014)} +// CHECK:STDOUT: inst60000017: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst60000018: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst60000019: {kind: TupleType, arg0: inst_block60000007, type: type(TypeType)} +// CHECK:STDOUT: inst6000001A: {kind: TupleLiteral, arg0: inst_block60000006, type: type(inst60000019)} +// CHECK:STDOUT: inst6000001B: {kind: PointerType, arg0: inst60000019, type: type(TypeType)} +// CHECK:STDOUT: inst6000001C: {kind: Converted, arg0: inst60000017, arg1: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst6000001D: {kind: Converted, arg0: inst60000018, arg1: inst60000010, type: type(TypeType)} +// CHECK:STDOUT: inst6000001E: {kind: Converted, arg0: inst6000001A, arg1: inst60000019, type: type(TypeType)} +// CHECK:STDOUT: inst6000001F: {kind: PatternType, arg0: inst60000019, type: type(TypeType)} +// CHECK:STDOUT: inst60000020: {kind: ReturnSlotPattern, arg0: inst6000001E, type: type(inst6000001F)} +// CHECK:STDOUT: inst60000021: {kind: OutParamPattern, arg0: inst60000020, arg1: call_param1, type: type(inst6000001F)} +// CHECK:STDOUT: inst60000022: {kind: ValueParam, arg0: call_param0, arg1: name00000001, type: type(inst60000010)} +// CHECK:STDOUT: inst60000023: {kind: SpliceBlock, arg0: inst_block60000004, arg1: inst60000012, type: type(TypeType)} +// CHECK:STDOUT: inst60000024: {kind: OutParam, arg0: call_param1, arg1: name(ReturnSlot), type: type(inst60000019)} +// CHECK:STDOUT: inst60000025: {kind: ReturnSlot, arg0: inst60000019, arg1: inst60000024, type: type(inst60000019)} +// CHECK:STDOUT: inst60000026: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block6000000B, type: type(inst60000027)} +// CHECK:STDOUT: inst60000027: {kind: FunctionType, arg0: function60000000, arg1: specific, type: type(TypeType)} +// CHECK:STDOUT: inst60000028: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000027)} +// CHECK:STDOUT: inst60000029: {kind: NameRef, arg0: name00000001, arg1: inst60000013, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002A: {kind: TupleLiteral, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002B: {kind: TupleLiteral, arg0: inst_block6000000D, type: type(inst60000019)} +// CHECK:STDOUT: inst6000002C: {kind: TupleAccess, arg0: inst60000025, arg1: element0, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002D: {kind: TupleInit, arg0: inst_block6000000E, arg1: inst6000002C, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002E: {kind: TupleValue, arg0: inst_block_empty, type: type(inst60000010)} +// CHECK:STDOUT: inst6000002F: {kind: Converted, arg0: inst60000029, arg1: inst6000002D, type: type(inst60000010)} +// CHECK:STDOUT: inst60000030: {kind: TupleAccess, arg0: inst60000025, arg1: element1, type: type(inst60000010)} +// CHECK:STDOUT: inst60000031: {kind: TupleInit, arg0: inst_block_empty, arg1: inst60000030, type: type(inst60000010)} +// CHECK:STDOUT: inst60000032: {kind: Converted, arg0: inst6000002A, arg1: inst60000031, type: type(inst60000010)} +// CHECK:STDOUT: inst60000033: {kind: TupleInit, arg0: inst_block6000000F, arg1: inst60000025, type: type(inst60000019)} +// CHECK:STDOUT: inst60000034: {kind: TupleValue, arg0: inst_block60000010, type: type(inst60000019)} +// CHECK:STDOUT: inst60000035: {kind: Converted, arg0: inst6000002B, arg1: inst60000033, type: type(inst60000019)} +// CHECK:STDOUT: inst60000036: {kind: ReturnExpr, arg0: inst60000035, arg1: inst60000025} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) -// CHECK:STDOUT: inst6000000F: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst60000011: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst60000013: concrete_constant(inst60000013) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) +// CHECK:STDOUT: inst60000010: concrete_constant(inst60000010) +// CHECK:STDOUT: inst60000012: concrete_constant(inst60000010) // CHECK:STDOUT: inst60000014: concrete_constant(inst60000014) // CHECK:STDOUT: inst60000015: concrete_constant(inst60000015) -// CHECK:STDOUT: inst60000018: concrete_constant(inst60000018) -// CHECK:STDOUT: inst6000001A: concrete_constant(inst6000001A) -// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst6000001C: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst6000001D: concrete_constant(inst60000018) -// CHECK:STDOUT: inst6000001E: concrete_constant(inst6000001E) +// CHECK:STDOUT: inst60000016: concrete_constant(inst60000016) +// CHECK:STDOUT: inst60000019: concrete_constant(inst60000019) +// CHECK:STDOUT: inst6000001B: concrete_constant(inst6000001B) +// CHECK:STDOUT: inst6000001C: concrete_constant(inst60000010) +// CHECK:STDOUT: inst6000001D: concrete_constant(inst60000010) +// CHECK:STDOUT: inst6000001E: concrete_constant(inst60000019) // CHECK:STDOUT: inst6000001F: concrete_constant(inst6000001F) // CHECK:STDOUT: inst60000020: concrete_constant(inst60000020) -// CHECK:STDOUT: inst60000022: concrete_constant(inst6000000F) -// CHECK:STDOUT: inst60000025: concrete_constant(inst60000027) -// CHECK:STDOUT: inst60000026: concrete_constant(inst60000026) +// CHECK:STDOUT: inst60000021: concrete_constant(inst60000021) +// CHECK:STDOUT: inst60000023: concrete_constant(inst60000010) +// CHECK:STDOUT: inst60000026: concrete_constant(inst60000028) // CHECK:STDOUT: inst60000027: concrete_constant(inst60000027) -// CHECK:STDOUT: inst6000002C: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst60000030: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst60000031: concrete_constant(inst6000002D) -// CHECK:STDOUT: inst60000032: concrete_constant(inst60000033) -// CHECK:STDOUT: inst60000033: concrete_constant(inst60000033) -// CHECK:STDOUT: inst60000034: concrete_constant(inst60000033) +// CHECK:STDOUT: inst60000028: concrete_constant(inst60000028) +// CHECK:STDOUT: inst6000002D: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst6000002E: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst6000002F: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst60000031: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst60000032: concrete_constant(inst6000002E) +// CHECK:STDOUT: inst60000033: concrete_constant(inst60000034) +// CHECK:STDOUT: inst60000034: concrete_constant(inst60000034) +// CHECK:STDOUT: inst60000035: concrete_constant(inst60000034) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} // CHECK:STDOUT: exports: -// CHECK:STDOUT: 0: inst60000025 +// CHECK:STDOUT: 0: inst60000026 // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: -// CHECK:STDOUT: 0: inst60000010 -// CHECK:STDOUT: 1: inst60000011 +// CHECK:STDOUT: 0: inst60000011 +// CHECK:STDOUT: 1: inst60000012 // CHECK:STDOUT: inst_block60000005: -// CHECK:STDOUT: 0: inst60000015 +// CHECK:STDOUT: 0: inst60000016 // CHECK:STDOUT: inst_block60000006: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst60000017 +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst60000018 // CHECK:STDOUT: inst_block60000007: -// CHECK:STDOUT: 0: inst6000000F -// CHECK:STDOUT: 1: inst6000000F +// CHECK:STDOUT: 0: inst60000010 +// CHECK:STDOUT: 1: inst60000010 // CHECK:STDOUT: inst_block60000008: -// CHECK:STDOUT: 0: inst6000001B -// CHECK:STDOUT: 1: inst6000001C +// CHECK:STDOUT: 0: inst6000001C +// CHECK:STDOUT: 1: inst6000001D // CHECK:STDOUT: inst_block60000009: -// CHECK:STDOUT: 0: inst60000021 -// CHECK:STDOUT: 1: inst60000023 +// CHECK:STDOUT: 0: inst60000022 +// CHECK:STDOUT: 1: inst60000024 // CHECK:STDOUT: inst_block6000000A: -// CHECK:STDOUT: 0: inst60000014 -// CHECK:STDOUT: 1: inst60000015 -// CHECK:STDOUT: 2: inst6000001F -// CHECK:STDOUT: 3: inst60000020 +// CHECK:STDOUT: 0: inst60000015 +// CHECK:STDOUT: 1: inst60000016 +// CHECK:STDOUT: 2: inst60000020 +// CHECK:STDOUT: 3: inst60000021 // CHECK:STDOUT: inst_block6000000B: -// CHECK:STDOUT: 0: inst60000016 -// CHECK:STDOUT: 1: inst60000017 -// CHECK:STDOUT: 2: inst60000019 -// CHECK:STDOUT: 3: inst6000001B -// CHECK:STDOUT: 4: inst6000001C -// CHECK:STDOUT: 5: inst6000001D -// CHECK:STDOUT: 6: inst60000021 -// CHECK:STDOUT: 7: inst60000022 -// CHECK:STDOUT: 8: inst60000012 -// CHECK:STDOUT: 9: inst60000023 -// CHECK:STDOUT: 10: inst60000024 +// CHECK:STDOUT: 0: inst60000017 +// CHECK:STDOUT: 1: inst60000018 +// CHECK:STDOUT: 2: inst6000001A +// CHECK:STDOUT: 3: inst6000001C +// CHECK:STDOUT: 4: inst6000001D +// CHECK:STDOUT: 5: inst6000001E +// CHECK:STDOUT: 6: inst60000022 +// CHECK:STDOUT: 7: inst60000023 +// CHECK:STDOUT: 8: inst60000013 +// CHECK:STDOUT: 9: inst60000024 +// CHECK:STDOUT: 10: inst60000025 // CHECK:STDOUT: inst_block6000000C: -// CHECK:STDOUT: 0: inst60000028 -// CHECK:STDOUT: 1: inst60000029 -// CHECK:STDOUT: 2: inst6000002A -// CHECK:STDOUT: 3: inst6000002B -// CHECK:STDOUT: 4: inst6000002C -// CHECK:STDOUT: 5: inst6000002E -// CHECK:STDOUT: 6: inst6000002F -// CHECK:STDOUT: 7: inst60000030 -// CHECK:STDOUT: 8: inst60000031 -// CHECK:STDOUT: 9: inst60000032 -// CHECK:STDOUT: 10: inst60000034 -// CHECK:STDOUT: 11: inst60000035 +// CHECK:STDOUT: 0: inst60000029 +// CHECK:STDOUT: 1: inst6000002A +// CHECK:STDOUT: 2: inst6000002B +// CHECK:STDOUT: 3: inst6000002C +// CHECK:STDOUT: 4: inst6000002D +// CHECK:STDOUT: 5: inst6000002F +// CHECK:STDOUT: 6: inst60000030 +// CHECK:STDOUT: 7: inst60000031 +// CHECK:STDOUT: 8: inst60000032 +// CHECK:STDOUT: 9: inst60000033 +// CHECK:STDOUT: 10: inst60000035 +// CHECK:STDOUT: 11: inst60000036 // CHECK:STDOUT: inst_block6000000D: -// CHECK:STDOUT: 0: inst60000028 -// CHECK:STDOUT: 1: inst60000029 +// CHECK:STDOUT: 0: inst60000029 +// CHECK:STDOUT: 1: inst6000002A // CHECK:STDOUT: inst_block6000000E: {} // CHECK:STDOUT: inst_block6000000F: -// CHECK:STDOUT: 0: inst6000002E -// CHECK:STDOUT: 1: inst60000031 +// CHECK:STDOUT: 0: inst6000002F +// CHECK:STDOUT: 1: inst60000032 // CHECK:STDOUT: inst_block60000010: -// CHECK:STDOUT: 0: inst6000002D -// CHECK:STDOUT: 1: inst6000002D +// CHECK:STDOUT: 0: inst6000002E +// CHECK:STDOUT: 1: inst6000002E // CHECK:STDOUT: inst_block60000011: -// CHECK:STDOUT: 0: inst0000000E -// CHECK:STDOUT: 1: inst60000025 +// CHECK:STDOUT: 0: inst0000000F +// CHECK:STDOUT: 1: inst60000026 // CHECK:STDOUT: ... // CHECK:STDOUT: --- one_file_with_textual_ir.carbon // CHECK:STDOUT: diff --git a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon index 3222a4e0b6b1..d3bd38f2ee35 100644 --- a/toolchain/check/testdata/if_expr/fail_not_in_function.carbon +++ b/toolchain/check/testdata/if_expr/fail_not_in_function.carbon @@ -130,7 +130,7 @@ fn F() { // CHECK:STDOUT: %true: bool = bool_literal true [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @C(.inst68000014.loc4_14: type) { +// CHECK:STDOUT: generic class @C(.inst68000015.loc4_14: type) { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -145,7 +145,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B { -// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst68000019.loc4_24 [concrete = constants.%C.generic] +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst6800001A.loc4_24 [concrete = constants.%C.generic] // CHECK:STDOUT: %true: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: if %true br !if.expr.then else br !if.expr.else // CHECK:STDOUT: complete_type_witness = invalid diff --git a/toolchain/check/testdata/interface/require.carbon b/toolchain/check/testdata/interface/require.carbon index 7afc4cd66f83..fc237e1ca748 100644 --- a/toolchain/check/testdata/interface/require.carbon +++ b/toolchain/check/testdata/interface/require.carbon @@ -185,7 +185,7 @@ fn F(T:! Z) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst6000001D +// CHECK:STDOUT: .Self = .inst6000001E // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: @@ -196,7 +196,7 @@ fn F(T:! Z) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst5000001D +// CHECK:STDOUT: .Self = .inst5000001E // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: @@ -207,7 +207,7 @@ fn F(T:! Z) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst68000023 +// CHECK:STDOUT: .Self = .inst68000024 // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: @@ -218,7 +218,7 @@ fn F(T:! Z) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst5800001A +// CHECK:STDOUT: .Self = .inst5800001B // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: @@ -228,12 +228,12 @@ fn F(T:! Z) { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Z(.inst78000017.loc6_13: type) { +// CHECK:STDOUT: generic interface @Z(.inst78000018.loc6_13: type) { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst78000021 +// CHECK:STDOUT: .Self = .inst78000022 // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -248,12 +248,12 @@ fn F(T:! Z) { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic interface @Z(.inst44000017.loc6_13: type) { +// CHECK:STDOUT: generic interface @Z(.inst44000018.loc6_13: type) { // CHECK:STDOUT: %T: type = symbolic_binding T, 0 [symbolic = %T (constants.%T)] // CHECK:STDOUT: // CHECK:STDOUT: interface { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst44000021 +// CHECK:STDOUT: .Self = .inst44000022 // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: } @@ -269,7 +269,7 @@ fn F(T:! Z) { // CHECK:STDOUT: // CHECK:STDOUT: interface @Z { // CHECK:STDOUT: !members: -// CHECK:STDOUT: .Self = .inst6400001D +// CHECK:STDOUT: .Self = .inst6400001E // CHECK:STDOUT: witness = invalid // CHECK:STDOUT: } // CHECK:STDOUT: diff --git a/toolchain/check/testdata/interop/cpp/function/void_pointer.carbon b/toolchain/check/testdata/interop/cpp/function/void_pointer.carbon new file mode 100644 index 000000000000..a5ddb8483fb0 --- /dev/null +++ b/toolchain/check/testdata/interop/cpp/function/void_pointer.carbon @@ -0,0 +1,594 @@ +// Part of the Carbon Language project, under the Apache License v2.0 with LLVM +// Exceptions. See /LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// INCLUDE-FILE: toolchain/testing/testdata/min_prelude/full.carbon +// +// AUTOUPDATE +// TIP: To test this file alone, run: +// TIP: bazel test //toolchain/testing:file_test --test_arg=--file_tests=toolchain/check/testdata/interop/cpp/function/void_pointer.carbon +// TIP: To dump output, run: +// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/check/testdata/interop/cpp/function/void_pointer.carbon + +// --- non_nullable_param.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto foo(void* _Nonnull x) -> void; +'''; + +fn F(input: Cpp.void*) { + //@dump-sem-ir-begin + Cpp.foo(input); + //@dump-sem-ir-end +} + +// --- non_nullable_return_value.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto foo() -> void* _Nonnull; +'''; + +fn F() { + //@dump-sem-ir-begin + let output: Cpp.void* = Cpp.foo(); + //@dump-sem-ir-end +} + +// --- nullable_param.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto foo(void* x) -> void; +'''; + +fn F(input: Cpp.void*) { + //@dump-sem-ir-begin + Cpp.foo(input); + //@dump-sem-ir-end +} + +// --- fail_todo_null_param.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto foo(void* x) -> void; +'''; + +fn F() { + //@dump-sem-ir-begin + // CHECK:STDERR: fail_todo_null_param.carbon:[[@LINE+4]]:11: error: call argument of type `Core.Optional(Cpp.void* as Core.OptionalStorage)` is not supported [CppCallArgTypeNotSupported] + // CHECK:STDERR: Cpp.foo(Core.Optional(Cpp.void*).None()); + // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // CHECK:STDERR: + Cpp.foo(Core.Optional(Cpp.void*).None()); + //@dump-sem-ir-end +} + +// --- nullable_return_value.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto foo() -> void*; +'''; + +fn F() { + //@dump-sem-ir-begin + let output: Core.Optional(Cpp.void*) = Cpp.foo(); + //@dump-sem-ir-end +} + +// --- todo_fail_void.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ""; + +fn F(x: Cpp.void); + +// --- non_nullable_pointer.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto Return() -> void* _Nonnull* _Nonnull; +auto Invoke(void* _Nonnull* _Nonnull) -> void; +'''; + +fn F() { + //@dump-sem-ir-begin + var non_nullable_pointer: Cpp.void** = Cpp.Return(); + Cpp.Invoke(non_nullable_pointer); + //@dump-sem-ir-end +} + +// --- non_nullable_const.carbon + +library "[[@TEST_NAME]]"; + +import Cpp inline ''' +auto Return() -> const void* _Nonnull; +auto Invoke(const void* _Nonnull) -> void; +'''; + +fn F() { + //@dump-sem-ir-begin + var const_void_pointer: const Cpp.void* = Cpp.Return(); + Cpp.Invoke(const_void_pointer); + //@dump-sem-ir-end +} + +// CHECK:STDOUT: --- non_nullable_param.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %ptr: type = ptr_type cpp_void_type [concrete] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] +// CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: .foo = %foo.cpp_overload_set.value +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F(%input.param: %ptr) { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %input.ref: %ptr = name_ref input, %input +// CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%input.ref) +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- non_nullable_return_value.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %ptr: type = ptr_type cpp_void_type [concrete] +// CHECK:STDOUT: %pattern_type: type = pattern_type %ptr [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] +// CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: .foo = %foo.cpp_overload_set.value +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %output.patt: %pattern_type = value_binding_pattern output [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %Cpp.ref.loc10_27: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %foo.call: init %ptr = call imports.%foo.decl() +// CHECK:STDOUT: %.loc10_23: type = splice_block %ptr [concrete = constants.%ptr] { +// CHECK:STDOUT: %Cpp.ref.loc10_15: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %void.ref: type = name_ref void, cpp_void_type [concrete = cpp_void_type] +// CHECK:STDOUT: %ptr: type = ptr_type %void.ref [concrete = constants.%ptr] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc10_35.1: %ptr = value_of_initializer %foo.call +// CHECK:STDOUT: %.loc10_35.2: %ptr = converted %foo.call, %.loc10_35.1 +// CHECK:STDOUT: %output: %ptr = value_binding output, %.loc10_35.2 +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- nullable_param.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %ptr.5da: type = ptr_type cpp_void_type [concrete] +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %OptionalStorage.type: type = facet_type <@OptionalStorage> [concrete] +// CHECK:STDOUT: %T.3fe: %OptionalStorage.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %T.d9f: type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %ptr.4f0: type = ptr_type %T.d9f [symbolic] +// CHECK:STDOUT: %MaybeUnformed.cff: type = class_type @MaybeUnformed, @MaybeUnformed(%ptr.4f0) [symbolic] +// CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Some.type.911: type = fn_type @ptr.as.OptionalStorage.impl.Some, @ptr.as.OptionalStorage.impl(%T.d9f) [symbolic] +// CHECK:STDOUT: %ptr.as.OptionalStorage.impl.Some.2a0: %ptr.as.OptionalStorage.impl.Some.type.911 = struct_value () [symbolic] +// CHECK:STDOUT: %OptionalStorage.impl_witness.917: = impl_witness imports.%OptionalStorage.impl_witness_table.236, @ptr.as.OptionalStorage.impl(cpp_void_type) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.5da, (%OptionalStorage.impl_witness.917) [concrete] +// CHECK:STDOUT: %Optional.fa2: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] +// CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.type.948: type = facet_type <@ImplicitAs, @ImplicitAs(%Optional.fa2)> [concrete] +// CHECK:STDOUT: %ImplicitAs.Convert.type.926: type = fn_type @ImplicitAs.Convert, @ImplicitAs(%Optional.fa2) [concrete] +// CHECK:STDOUT: %T.binding.as_type.as.ImplicitAs.impl.Convert.type.a78: type = fn_type @T.binding.as_type.as.ImplicitAs.impl.Convert.1, @T.binding.as_type.as.ImplicitAs.impl.339(%T.3fe) [symbolic] +// CHECK:STDOUT: %T.binding.as_type.as.ImplicitAs.impl.Convert.d1b: %T.binding.as_type.as.ImplicitAs.impl.Convert.type.a78 = struct_value () [symbolic] +// CHECK:STDOUT: %ImplicitAs.impl_witness.8fe: = impl_witness imports.%ImplicitAs.impl_witness_table.284, @T.binding.as_type.as.ImplicitAs.impl.339(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %T.binding.as_type.as.ImplicitAs.impl.Convert.type.40b: type = fn_type @T.binding.as_type.as.ImplicitAs.impl.Convert.1, @T.binding.as_type.as.ImplicitAs.impl.339(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %T.binding.as_type.as.ImplicitAs.impl.Convert.6ca: %T.binding.as_type.as.ImplicitAs.impl.Convert.type.40b = struct_value () [concrete] +// CHECK:STDOUT: %ImplicitAs.facet: %ImplicitAs.type.948 = facet_value %ptr.5da, (%ImplicitAs.impl_witness.8fe) [concrete] +// CHECK:STDOUT: %.d85: type = fn_type_with_self_type %ImplicitAs.Convert.type.926, %ImplicitAs.facet [concrete] +// CHECK:STDOUT: %T.binding.as_type.as.ImplicitAs.impl.Convert.specific_fn: = specific_function %T.binding.as_type.as.ImplicitAs.impl.Convert.6ca, @T.binding.as_type.as.ImplicitAs.impl.Convert.1(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %type_where: type = facet_type > [concrete] +// CHECK:STDOUT: %facet_value: %type_where = facet_value %Optional.fa2, () [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.d74: type = fn_type @DestroyT.binding.as_type.as.Destroy.impl.Op, @DestroyT.binding.as_type.as.Destroy.impl(%facet_value) [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.dee: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.d74 = struct_value () [concrete] +// CHECK:STDOUT: %ptr.202: type = ptr_type %Optional.fa2 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: .foo = %foo.cpp_overload_set.value +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %Core.import_ref.2fb: type = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%MaybeUnformed (constants.%MaybeUnformed.cff)] +// CHECK:STDOUT: %Core.import_ref.a7c = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.1b2: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Some.type (%ptr.as.OptionalStorage.impl.Some.type.911) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.Some (constants.%ptr.as.OptionalStorage.impl.Some.2a0)] +// CHECK:STDOUT: %Core.import_ref.6a9 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.971 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.236 = impl_witness_table (%Core.import_ref.2fb, %Core.import_ref.a7c, %Core.import_ref.1b2, %Core.import_ref.6a9, %Core.import_ref.971), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: %.loc10_16.1: type = splice_block %Optional [concrete = constants.%Optional.fa2] { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.5da, (constants.%OptionalStorage.impl_witness.917) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc10_16.2: %OptionalStorage.type = converted constants.%ptr.5da, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.fa2] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.import_ref.7bc: @T.binding.as_type.as.ImplicitAs.impl.339.%T.binding.as_type.as.ImplicitAs.impl.Convert.type (%T.binding.as_type.as.ImplicitAs.impl.Convert.type.a78) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @T.binding.as_type.as.ImplicitAs.impl.339.%T.binding.as_type.as.ImplicitAs.impl.Convert (constants.%T.binding.as_type.as.ImplicitAs.impl.Convert.d1b)] +// CHECK:STDOUT: %ImplicitAs.impl_witness_table.284 = impl_witness_table (%Core.import_ref.7bc), @T.binding.as_type.as.ImplicitAs.impl.339 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F(%input.param: %ptr.5da) { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %Cpp.ref.loc10: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %input.ref: %ptr.5da = name_ref input, %input +// CHECK:STDOUT: %impl.elem0: %.d85 = impl_witness_access constants.%ImplicitAs.impl_witness.8fe, element0 [concrete = constants.%T.binding.as_type.as.ImplicitAs.impl.Convert.6ca] +// CHECK:STDOUT: %bound_method.loc10_11.1: = bound_method %input.ref, %impl.elem0 +// CHECK:STDOUT: %specific_fn: = specific_function %impl.elem0, @T.binding.as_type.as.ImplicitAs.impl.Convert.1(constants.%OptionalStorage.facet) [concrete = constants.%T.binding.as_type.as.ImplicitAs.impl.Convert.specific_fn] +// CHECK:STDOUT: %bound_method.loc10_11.2: = bound_method %input.ref, %specific_fn +// CHECK:STDOUT: %.loc10_11.1: ref %Optional.fa2 = temporary_storage +// CHECK:STDOUT: %T.binding.as_type.as.ImplicitAs.impl.Convert.call: init %Optional.fa2 = call %bound_method.loc10_11.2(%input.ref) to %.loc10_11.1 +// CHECK:STDOUT: %.loc10_11.2: init %Optional.fa2 = converted %input.ref, %T.binding.as_type.as.ImplicitAs.impl.Convert.call +// CHECK:STDOUT: %.loc10_11.3: ref %Optional.fa2 = temporary %.loc10_11.1, %.loc10_11.2 +// CHECK:STDOUT: %.loc10_11.4: %Optional.fa2 = acquire_value %.loc10_11.3 +// CHECK:STDOUT: %foo.call: init %empty_tuple.type = call imports.%foo.decl(%.loc10_11.4) +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.bound: = bound_method %.loc10_11.3, constants.%DestroyT.binding.as_type.as.Destroy.impl.Op.dee +// CHECK:STDOUT: +// CHECK:STDOUT: %bound_method.loc10_11.3: = bound_method %.loc10_11.3, %DestroyT.binding.as_type.as.Destroy.impl.Op.specific_fn +// CHECK:STDOUT: %addr: %ptr.202 = addr_of %.loc10_11.3 +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.call: init %empty_tuple.type = call %bound_method.loc10_11.3(%addr) +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- fail_todo_null_param.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %Optional.type: type = generic_class_type @Optional [concrete] +// CHECK:STDOUT: %Optional.generic: %Optional.type = struct_value () [concrete] +// CHECK:STDOUT: %OptionalStorage.type: type = facet_type <@OptionalStorage> [concrete] +// CHECK:STDOUT: %T.3fe: %OptionalStorage.type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %Optional.None.type.193: type = fn_type @Optional.None, @Optional(%T.3fe) [symbolic] +// CHECK:STDOUT: %Optional.None.dc7: %Optional.None.type.193 = struct_value () [symbolic] +// CHECK:STDOUT: %ptr.5da: type = ptr_type cpp_void_type [concrete] +// CHECK:STDOUT: %T.d9f: type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %ptr.4f0: type = ptr_type %T.d9f [symbolic] +// CHECK:STDOUT: %MaybeUnformed.cff: type = class_type @MaybeUnformed, @MaybeUnformed(%ptr.4f0) [symbolic] +// CHECK:STDOUT: %ptr.as.OptionalStorage.impl.None.type.8ed: type = fn_type @ptr.as.OptionalStorage.impl.None, @ptr.as.OptionalStorage.impl(%T.d9f) [symbolic] +// CHECK:STDOUT: %ptr.as.OptionalStorage.impl.None.41a: %ptr.as.OptionalStorage.impl.None.type.8ed = struct_value () [symbolic] +// CHECK:STDOUT: %OptionalStorage.impl_witness.add: = impl_witness imports.%OptionalStorage.impl_witness_table.f52, @ptr.as.OptionalStorage.impl(cpp_void_type) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.5da, (%OptionalStorage.impl_witness.add) [concrete] +// CHECK:STDOUT: %Optional.57b: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.None.type.841: type = fn_type @Optional.None, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %Optional.None.2e1: %Optional.None.type.841 = struct_value () [concrete] +// CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %Optional.None.2e1, @Optional.None(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: .Optional = %Core.Optional +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: import Core//prelude/... +// CHECK:STDOUT: } +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .foo = %foo.cpp_overload_set.value +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %Core.Optional: %Optional.type = import_ref Core//prelude/types/optional, Optional, loaded [concrete = constants.%Optional.generic] +// CHECK:STDOUT: %Core.import_ref.f1d: @Optional.%Optional.None.type (%Optional.None.type.193) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @Optional.%Optional.None (constants.%Optional.None.dc7)] +// CHECK:STDOUT: %Core.import_ref.2fb: type = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%MaybeUnformed (constants.%MaybeUnformed.cff)] +// CHECK:STDOUT: %Core.import_ref.1d4: @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.None.type (%ptr.as.OptionalStorage.impl.None.type.8ed) = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%ptr.as.OptionalStorage.impl.None (constants.%ptr.as.OptionalStorage.impl.None.41a)] +// CHECK:STDOUT: %Core.import_ref.720 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.6a9 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.971 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.f52 = impl_witness_table (%Core.import_ref.2fb, %Core.import_ref.1d4, %Core.import_ref.720, %Core.import_ref.6a9, %Core.import_ref.971), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: %Cpp.ref.loc14_3: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] +// CHECK:STDOUT: %Optional.ref: %Optional.type = name_ref Optional, imports.%Core.Optional [concrete = constants.%Optional.generic] +// CHECK:STDOUT: %Cpp.ref.loc14_25: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %void.ref: type = name_ref void, cpp_void_type [concrete = cpp_void_type] +// CHECK:STDOUT: %ptr: type = ptr_type %void.ref [concrete = constants.%ptr.5da] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.add) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc14_34: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.57b] +// CHECK:STDOUT: %.loc14_35: %Optional.None.type.841 = specific_constant imports.%Core.import_ref.f1d, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.2e1] +// CHECK:STDOUT: %None.ref: %Optional.None.type.841 = name_ref None, %.loc14_35 [concrete = constants.%Optional.None.2e1] +// CHECK:STDOUT: %Optional.None.specific_fn: = specific_function %None.ref, @Optional.None(constants.%OptionalStorage.facet) [concrete = constants.%Optional.None.specific_fn] +// CHECK:STDOUT: %.loc14_41: ref %Optional.57b = temporary_storage +// CHECK:STDOUT: %Optional.None.call: init %Optional.57b = call %Optional.None.specific_fn() to %.loc14_41 +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- nullable_return_value.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %Optional.type: type = generic_class_type @Optional [concrete] +// CHECK:STDOUT: %Optional.generic: %Optional.type = struct_value () [concrete] +// CHECK:STDOUT: %OptionalStorage.type: type = facet_type <@OptionalStorage> [concrete] +// CHECK:STDOUT: %ptr.5da: type = ptr_type cpp_void_type [concrete] +// CHECK:STDOUT: %T.d9f: type = symbolic_binding T, 0 [symbolic] +// CHECK:STDOUT: %ptr.4f0: type = ptr_type %T.d9f [symbolic] +// CHECK:STDOUT: %MaybeUnformed.cff: type = class_type @MaybeUnformed, @MaybeUnformed(%ptr.4f0) [symbolic] +// CHECK:STDOUT: %OptionalStorage.impl_witness.b63: = impl_witness imports.%OptionalStorage.impl_witness_table.2f8, @ptr.as.OptionalStorage.impl(cpp_void_type) [concrete] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr.5da, (%OptionalStorage.impl_witness.b63) [concrete] +// CHECK:STDOUT: %Optional.279: type = class_type @Optional, @Optional(%OptionalStorage.facet) [concrete] +// CHECK:STDOUT: %pattern_type.389: type = pattern_type %Optional.279 [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.type: type = cpp_overload_set_type @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete] +// CHECK:STDOUT: %foo.type: type = fn_type @foo [concrete] +// CHECK:STDOUT: %foo: %foo.type = struct_value () [concrete] +// CHECK:STDOUT: %Destroy.type: type = facet_type <@Destroy> [concrete] +// CHECK:STDOUT: %type_where: type = facet_type > [concrete] +// CHECK:STDOUT: %facet_value: %type_where = facet_value %Optional.279, () [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.e37: type = fn_type @DestroyT.binding.as_type.as.Destroy.impl.Op, @DestroyT.binding.as_type.as.Destroy.impl(%facet_value) [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.799: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.e37 = struct_value () [concrete] +// CHECK:STDOUT: %ptr.750: type = ptr_type %Optional.279 [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Core: = namespace file.%Core.import, [concrete] { +// CHECK:STDOUT: .Optional = %Core.Optional +// CHECK:STDOUT: .Destroy = %Core.Destroy +// CHECK:STDOUT: import Core//prelude +// CHECK:STDOUT: import Core//prelude/... +// CHECK:STDOUT: } +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: .foo = %foo.cpp_overload_set.value +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.Optional: %Optional.type = import_ref Core//prelude/types/optional, Optional, loaded [concrete = constants.%Optional.generic] +// CHECK:STDOUT: %Core.import_ref.2fb: type = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, loaded [symbolic = @ptr.as.OptionalStorage.impl.%MaybeUnformed (constants.%MaybeUnformed.cff)] +// CHECK:STDOUT: %Core.import_ref.a7c = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.720 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.6a9 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %Core.import_ref.971 = import_ref Core//prelude/types/optional, loc{{\d+_\d+}}, unloaded +// CHECK:STDOUT: %OptionalStorage.impl_witness_table.2f8 = impl_witness_table (%Core.import_ref.2fb, %Core.import_ref.a7c, %Core.import_ref.720, %Core.import_ref.6a9, %Core.import_ref.971), @ptr.as.OptionalStorage.impl [concrete] +// CHECK:STDOUT: %foo.cpp_overload_set.value: %foo.cpp_overload_set.type = cpp_overload_set_value @foo.cpp_overload_set [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %foo.decl: %foo.type = fn_decl @foo [concrete = constants.%foo] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value constants.%ptr.5da, (constants.%OptionalStorage.impl_witness.b63) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc10: %OptionalStorage.type = converted constants.%ptr.5da, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.279] +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: %Core.Destroy: type = import_ref Core//prelude/destroy, Destroy, loaded [concrete = constants.%Destroy.type] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %output.patt: %pattern_type.389 = value_binding_pattern output [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %Cpp.ref.loc10_42: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %foo.ref: %foo.cpp_overload_set.type = name_ref foo, imports.%foo.cpp_overload_set.value [concrete = constants.%foo.cpp_overload_set.value] +// CHECK:STDOUT: %.loc10_50.1: ref %Optional.279 = temporary_storage +// CHECK:STDOUT: %foo.call: init %Optional.279 = call imports.%foo.decl() to %.loc10_50.1 +// CHECK:STDOUT: %.loc10_38.1: type = splice_block %Optional [concrete = constants.%Optional.279] { +// CHECK:STDOUT: %Core.ref: = name_ref Core, imports.%Core [concrete = imports.%Core] +// CHECK:STDOUT: %Optional.ref: %Optional.type = name_ref Optional, imports.%Core.Optional [concrete = constants.%Optional.generic] +// CHECK:STDOUT: %Cpp.ref.loc10_29: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %void.ref: type = name_ref void, cpp_void_type [concrete = cpp_void_type] +// CHECK:STDOUT: %ptr: type = ptr_type %void.ref [concrete = constants.%ptr.5da] +// CHECK:STDOUT: %OptionalStorage.facet: %OptionalStorage.type = facet_value %ptr, (constants.%OptionalStorage.impl_witness.b63) [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %.loc10_38.2: %OptionalStorage.type = converted %ptr, %OptionalStorage.facet [concrete = constants.%OptionalStorage.facet] +// CHECK:STDOUT: %Optional: type = class_type @Optional, @Optional(constants.%OptionalStorage.facet) [concrete = constants.%Optional.279] +// CHECK:STDOUT: } +// CHECK:STDOUT: %.loc10_50.2: ref %Optional.279 = temporary %.loc10_50.1, %foo.call +// CHECK:STDOUT: %.loc10_50.3: %Optional.279 = acquire_value %.loc10_50.2 +// CHECK:STDOUT: %output: %Optional.279 = value_binding output, %.loc10_50.3 +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.bound: = bound_method %.loc10_50.2, constants.%DestroyT.binding.as_type.as.Destroy.impl.Op.799 +// CHECK:STDOUT: +// CHECK:STDOUT: %bound_method: = bound_method %.loc10_50.2, %DestroyT.binding.as_type.as.Destroy.impl.Op.specific_fn +// CHECK:STDOUT: %addr: %ptr.750 = addr_of %.loc10_50.2 +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.call: init %empty_tuple.type = call %bound_method(%addr) +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- non_nullable_pointer.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %ptr.5da: type = ptr_type cpp_void_type [concrete] +// CHECK:STDOUT: %ptr.99a: type = ptr_type %ptr.5da [concrete] +// CHECK:STDOUT: %pattern_type.218: type = pattern_type %ptr.99a [concrete] +// CHECK:STDOUT: %Return.cpp_overload_set.type: type = cpp_overload_set_type @Return.cpp_overload_set [concrete] +// CHECK:STDOUT: %Return.cpp_overload_set.value: %Return.cpp_overload_set.type = cpp_overload_set_value @Return.cpp_overload_set [concrete] +// CHECK:STDOUT: %Return.type: type = fn_type @Return [concrete] +// CHECK:STDOUT: %Return: %Return.type = struct_value () [concrete] +// CHECK:STDOUT: %Invoke.cpp_overload_set.type: type = cpp_overload_set_type @Invoke.cpp_overload_set [concrete] +// CHECK:STDOUT: %Invoke.cpp_overload_set.value: %Invoke.cpp_overload_set.type = cpp_overload_set_value @Invoke.cpp_overload_set [concrete] +// CHECK:STDOUT: %Invoke.type: type = fn_type @Invoke [concrete] +// CHECK:STDOUT: %Invoke: %Invoke.type = struct_value () [concrete] +// CHECK:STDOUT: %type_where: type = facet_type > [concrete] +// CHECK:STDOUT: %facet_value: %type_where = facet_value %ptr.99a, () [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.a42: type = fn_type @DestroyT.binding.as_type.as.Destroy.impl.Op, @DestroyT.binding.as_type.as.Destroy.impl(%facet_value) [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.933: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.a42 = struct_value () [concrete] +// CHECK:STDOUT: %ptr.7e4: type = ptr_type %ptr.99a [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: .Return = %Return.cpp_overload_set.value +// CHECK:STDOUT: .Invoke = %Invoke.cpp_overload_set.value +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %Return.cpp_overload_set.value: %Return.cpp_overload_set.type = cpp_overload_set_value @Return.cpp_overload_set [concrete = constants.%Return.cpp_overload_set.value] +// CHECK:STDOUT: %Return.decl: %Return.type = fn_decl @Return [concrete = constants.%Return] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: %Invoke.cpp_overload_set.value: %Invoke.cpp_overload_set.type = cpp_overload_set_value @Invoke.cpp_overload_set [concrete = constants.%Invoke.cpp_overload_set.value] +// CHECK:STDOUT: %Invoke.decl: %Invoke.type = fn_decl @Invoke [concrete = constants.%Invoke] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %non_nullable_pointer.patt: %pattern_type.218 = ref_binding_pattern non_nullable_pointer [concrete] +// CHECK:STDOUT: %non_nullable_pointer.var_patt: %pattern_type.218 = var_pattern %non_nullable_pointer.patt [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %non_nullable_pointer.var: ref %ptr.99a = var %non_nullable_pointer.var_patt +// CHECK:STDOUT: %Cpp.ref.loc11_42: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %Return.ref: %Return.cpp_overload_set.type = name_ref Return, imports.%Return.cpp_overload_set.value [concrete = constants.%Return.cpp_overload_set.value] +// CHECK:STDOUT: %Return.call: init %ptr.99a = call imports.%Return.decl() +// CHECK:STDOUT: assign %non_nullable_pointer.var, %Return.call +// CHECK:STDOUT: %.loc11: type = splice_block %ptr.loc11_38 [concrete = constants.%ptr.99a] { +// CHECK:STDOUT: %Cpp.ref.loc11_29: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %void.ref: type = name_ref void, cpp_void_type [concrete = cpp_void_type] +// CHECK:STDOUT: %ptr.loc11_37: type = ptr_type %void.ref [concrete = constants.%ptr.5da] +// CHECK:STDOUT: %ptr.loc11_38: type = ptr_type %ptr.loc11_37 [concrete = constants.%ptr.99a] +// CHECK:STDOUT: } +// CHECK:STDOUT: %non_nullable_pointer: ref %ptr.99a = ref_binding non_nullable_pointer, %non_nullable_pointer.var +// CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %Invoke.ref: %Invoke.cpp_overload_set.type = name_ref Invoke, imports.%Invoke.cpp_overload_set.value [concrete = constants.%Invoke.cpp_overload_set.value] +// CHECK:STDOUT: %non_nullable_pointer.ref: ref %ptr.99a = name_ref non_nullable_pointer, %non_nullable_pointer +// CHECK:STDOUT: %.loc12: %ptr.99a = acquire_value %non_nullable_pointer.ref +// CHECK:STDOUT: %Invoke.call: init %empty_tuple.type = call imports.%Invoke.decl(%.loc12) +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.bound: = bound_method %non_nullable_pointer.var, constants.%DestroyT.binding.as_type.as.Destroy.impl.Op.933 +// CHECK:STDOUT: +// CHECK:STDOUT: %bound_method: = bound_method %non_nullable_pointer.var, %DestroyT.binding.as_type.as.Destroy.impl.Op.specific_fn +// CHECK:STDOUT: %addr: %ptr.7e4 = addr_of %non_nullable_pointer.var +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.call: init %empty_tuple.type = call %bound_method(%addr) +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: --- non_nullable_const.carbon +// CHECK:STDOUT: +// CHECK:STDOUT: constants { +// CHECK:STDOUT: %empty_tuple.type: type = tuple_type () [concrete] +// CHECK:STDOUT: %const: type = const_type cpp_void_type [concrete] +// CHECK:STDOUT: %ptr.58e: type = ptr_type %const [concrete] +// CHECK:STDOUT: %pattern_type.dc1: type = pattern_type %ptr.58e [concrete] +// CHECK:STDOUT: %Return.cpp_overload_set.type: type = cpp_overload_set_type @Return.cpp_overload_set [concrete] +// CHECK:STDOUT: %Return.cpp_overload_set.value: %Return.cpp_overload_set.type = cpp_overload_set_value @Return.cpp_overload_set [concrete] +// CHECK:STDOUT: %Return.type: type = fn_type @Return [concrete] +// CHECK:STDOUT: %Return: %Return.type = struct_value () [concrete] +// CHECK:STDOUT: %Invoke.cpp_overload_set.type: type = cpp_overload_set_type @Invoke.cpp_overload_set [concrete] +// CHECK:STDOUT: %Invoke.cpp_overload_set.value: %Invoke.cpp_overload_set.type = cpp_overload_set_value @Invoke.cpp_overload_set [concrete] +// CHECK:STDOUT: %Invoke.type: type = fn_type @Invoke [concrete] +// CHECK:STDOUT: %Invoke: %Invoke.type = struct_value () [concrete] +// CHECK:STDOUT: %type_where: type = facet_type > [concrete] +// CHECK:STDOUT: %facet_value: %type_where = facet_value %ptr.58e, () [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.331: type = fn_type @DestroyT.binding.as_type.as.Destroy.impl.Op, @DestroyT.binding.as_type.as.Destroy.impl(%facet_value) [concrete] +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.462: %DestroyT.binding.as_type.as.Destroy.impl.Op.type.331 = struct_value () [concrete] +// CHECK:STDOUT: %ptr.66d: type = ptr_type %ptr.58e [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: imports { +// CHECK:STDOUT: %Cpp: = namespace file.%Cpp.import_cpp, [concrete] { +// CHECK:STDOUT: .void = cpp_void_type +// CHECK:STDOUT: .Return = %Return.cpp_overload_set.value +// CHECK:STDOUT: .Invoke = %Invoke.cpp_overload_set.value +// CHECK:STDOUT: import Cpp//... +// CHECK:STDOUT: } +// CHECK:STDOUT: %Return.cpp_overload_set.value: %Return.cpp_overload_set.type = cpp_overload_set_value @Return.cpp_overload_set [concrete = constants.%Return.cpp_overload_set.value] +// CHECK:STDOUT: %Return.decl: %Return.type = fn_decl @Return [concrete = constants.%Return] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: %Invoke.cpp_overload_set.value: %Invoke.cpp_overload_set.type = cpp_overload_set_value @Invoke.cpp_overload_set [concrete = constants.%Invoke.cpp_overload_set.value] +// CHECK:STDOUT: %Invoke.decl: %Invoke.type = fn_decl @Invoke [concrete = constants.%Invoke] { +// CHECK:STDOUT: +// CHECK:STDOUT: } { +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: } +// CHECK:STDOUT: +// CHECK:STDOUT: fn @F() { +// CHECK:STDOUT: !entry: +// CHECK:STDOUT: name_binding_decl { +// CHECK:STDOUT: %const_void_pointer.patt: %pattern_type.dc1 = ref_binding_pattern const_void_pointer [concrete] +// CHECK:STDOUT: %const_void_pointer.var_patt: %pattern_type.dc1 = var_pattern %const_void_pointer.patt [concrete] +// CHECK:STDOUT: } +// CHECK:STDOUT: %const_void_pointer.var: ref %ptr.58e = var %const_void_pointer.var_patt +// CHECK:STDOUT: %Cpp.ref.loc11_45: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %Return.ref: %Return.cpp_overload_set.type = name_ref Return, imports.%Return.cpp_overload_set.value [concrete = constants.%Return.cpp_overload_set.value] +// CHECK:STDOUT: %Return.call: init %ptr.58e = call imports.%Return.decl() +// CHECK:STDOUT: assign %const_void_pointer.var, %Return.call +// CHECK:STDOUT: %.loc11: type = splice_block %ptr [concrete = constants.%ptr.58e] { +// CHECK:STDOUT: %Cpp.ref.loc11_33: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %void.ref: type = name_ref void, cpp_void_type [concrete = cpp_void_type] +// CHECK:STDOUT: %const: type = const_type %void.ref [concrete = constants.%const] +// CHECK:STDOUT: %ptr: type = ptr_type %const [concrete = constants.%ptr.58e] +// CHECK:STDOUT: } +// CHECK:STDOUT: %const_void_pointer: ref %ptr.58e = ref_binding const_void_pointer, %const_void_pointer.var +// CHECK:STDOUT: %Cpp.ref.loc12: = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp] +// CHECK:STDOUT: %Invoke.ref: %Invoke.cpp_overload_set.type = name_ref Invoke, imports.%Invoke.cpp_overload_set.value [concrete = constants.%Invoke.cpp_overload_set.value] +// CHECK:STDOUT: %const_void_pointer.ref: ref %ptr.58e = name_ref const_void_pointer, %const_void_pointer +// CHECK:STDOUT: %.loc12: %ptr.58e = acquire_value %const_void_pointer.ref +// CHECK:STDOUT: %Invoke.call: init %empty_tuple.type = call imports.%Invoke.decl(%.loc12) +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.bound: = bound_method %const_void_pointer.var, constants.%DestroyT.binding.as_type.as.Destroy.impl.Op.462 +// CHECK:STDOUT: +// CHECK:STDOUT: %bound_method: = bound_method %const_void_pointer.var, %DestroyT.binding.as_type.as.Destroy.impl.Op.specific_fn +// CHECK:STDOUT: %addr: %ptr.66d = addr_of %const_void_pointer.var +// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.call: init %empty_tuple.type = call %bound_method(%addr) +// CHECK:STDOUT: +// CHECK:STDOUT: } +// CHECK:STDOUT: diff --git a/toolchain/check/testdata/let/compile_time_bindings.carbon b/toolchain/check/testdata/let/compile_time_bindings.carbon index 04bedadbd2e1..12d7627ea6bc 100644 --- a/toolchain/check/testdata/let/compile_time_bindings.carbon +++ b/toolchain/check/testdata/let/compile_time_bindings.carbon @@ -632,12 +632,12 @@ impl i32 as Empty { // CHECK:STDOUT: !members: // CHECK:STDOUT: .Self = constants.%C // CHECK:STDOUT: .F = %C.F.decl -// CHECK:STDOUT: .x = .inst48000023.loc14_7 +// CHECK:STDOUT: .x = .inst48000024.loc14_7 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: fn @C.F() -> %empty_tuple.type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, .inst48000023.loc14_7 +// CHECK:STDOUT: %x.ref: %empty_tuple.type = name_ref x, .inst48000024.loc14_7 // CHECK:STDOUT: %.loc5_25: init %empty_tuple.type = tuple_init () to %return [concrete = constants.%empty_tuple] // CHECK:STDOUT: %.loc5_26: init %empty_tuple.type = converted %x.ref, %.loc5_25 [concrete = constants.%empty_tuple] // CHECK:STDOUT: return %.loc5_26 to %return diff --git a/toolchain/check/testdata/let/fail_missing_value.carbon b/toolchain/check/testdata/let/fail_missing_value.carbon index b8097902951d..d2405a133fb5 100644 --- a/toolchain/check/testdata/let/fail_missing_value.carbon +++ b/toolchain/check/testdata/let/fail_missing_value.carbon @@ -50,7 +50,7 @@ fn F() { // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace [concrete] { // CHECK:STDOUT: .Core = imports.%Core -// CHECK:STDOUT: .n = .inst6000002C.loc19_5 +// CHECK:STDOUT: .n = .inst6000002D.loc19_5 // CHECK:STDOUT: .F = %F.decl // CHECK:STDOUT: } // CHECK:STDOUT: %Core.import = import Core diff --git a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon index 0c9bbd21c135..9dcb106670f4 100644 --- a/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon +++ b/toolchain/check/testdata/operators/builtin/fail_and_or_not_in_function.carbon @@ -96,7 +96,7 @@ fn F() { // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.Op.type: type = fn_type @Copy.Op [concrete] -// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst60000155 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst60000156 [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.de9) [concrete] // CHECK:STDOUT: %.98f: type = fn_type_with_self_type %Copy.Op.type, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] @@ -105,7 +105,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%b.param: bool) -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst6000001B.loc5_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst6000001C.loc5_6 // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: @@ -123,7 +123,7 @@ fn F() { // CHECK:STDOUT: %impl.elem0: %.98f = impl_witness_access constants.%Copy.impl_witness.de9, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) -// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst60000024.loc5_15 +// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst60000025.loc5_15 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_and_val.carbon @@ -140,7 +140,7 @@ fn F() { // CHECK:STDOUT: %f64: type = class_type @Float, @Float(%int_64) [concrete] // CHECK:STDOUT: %Copy.type: type = facet_type <@Copy> [concrete] // CHECK:STDOUT: %Copy.Op.type: type = fn_type @Copy.Op [concrete] -// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst70000155 [concrete] +// CHECK:STDOUT: %Copy.impl_witness.de9: = impl_witness .inst70000156 [concrete] // CHECK:STDOUT: %Copy.facet: %Copy.type = facet_value type, (%Copy.impl_witness.de9) [concrete] // CHECK:STDOUT: %.98f: type = fn_type_with_self_type %Copy.Op.type, %Copy.facet [concrete] // CHECK:STDOUT: %type.as.Copy.impl.Op.type: type = fn_type @type.as.Copy.impl.Op [concrete] @@ -149,7 +149,7 @@ fn F() { // CHECK:STDOUT: // CHECK:STDOUT: fn @F(%b.param: bool) -> type { // CHECK:STDOUT: !entry: -// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst7000001B.loc5_6 +// CHECK:STDOUT: %b.ref: bool = name_ref b, .inst7000001C.loc5_6 // CHECK:STDOUT: if %b.ref br !if.expr.then else br !if.expr.else // CHECK:STDOUT: // CHECK:STDOUT: !if.expr.then: @@ -167,7 +167,7 @@ fn F() { // CHECK:STDOUT: %impl.elem0: %.98f = impl_witness_access constants.%Copy.impl_witness.de9, element0 [concrete = constants.%type.as.Copy.impl.Op] // CHECK:STDOUT: %bound_method: = bound_method %.loc6, %impl.elem0 // CHECK:STDOUT: %type.as.Copy.impl.Op.call: init type = call %bound_method(%.loc6) -// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst70000024.loc5_15 +// CHECK:STDOUT: return %type.as.Copy.impl.Op.call to .inst70000025.loc5_15 // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- fail_or_val.carbon @@ -189,7 +189,7 @@ fn F() { // CHECK:STDOUT: %false: bool = bool_literal false [concrete] // CHECK:STDOUT: } // CHECK:STDOUT: -// CHECK:STDOUT: generic class @C(.inst6800001E.loc4_14: bool) { +// CHECK:STDOUT: generic class @C(.inst6800001F.loc4_14: bool) { // CHECK:STDOUT: %B: bool = symbolic_binding B, 0 [symbolic = %B (constants.%B.931)] // CHECK:STDOUT: // CHECK:STDOUT: !definition: @@ -204,7 +204,7 @@ fn F() { // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: class @B { -// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst68000024.loc4_24 [concrete = constants.%C.generic] +// CHECK:STDOUT: %C.ref: %C.type = name_ref C, .inst68000025.loc4_24 [concrete = constants.%C.generic] // CHECK:STDOUT: %true.loc12_20: bool = bool_literal true [concrete = constants.%true] // CHECK:STDOUT: %.loc12: bool = not %true.loc12_20 [concrete = constants.%false] // CHECK:STDOUT: %true.loc12_25: bool = bool_literal true [concrete = constants.%true] diff --git a/toolchain/check/type_completion.cpp b/toolchain/check/type_completion.cpp index d2d5410df1e4..0111268b2eb9 100644 --- a/toolchain/check/type_completion.cpp +++ b/toolchain/check/type_completion.cpp @@ -142,6 +142,13 @@ class TypeCompleter { auto BuildInfoForInst(SemIR::TypeId /*type_id*/, SemIR::ConstType inst) const -> SemIR::CompleteTypeInfo; + auto BuildInfoForInst(SemIR::TypeId /*type_id*/, + SemIR::CppVoidType /*inst*/) const + -> SemIR::CompleteTypeInfo { + // TODO: `CppVoidType` should be always-incomplete. + return {.value_repr = MakeEmptyValueRepr()}; + } + auto BuildInfoForInst(SemIR::TypeId type_id, SemIR::CustomLayoutType inst) const -> SemIR::CompleteTypeInfo; diff --git a/toolchain/driver/testdata/stdin.carbon b/toolchain/driver/testdata/stdin.carbon index b17bc5c93148..75f4e1bbff8f 100644 --- a/toolchain/driver/testdata/stdin.carbon +++ b/toolchain/driver/testdata/stdin.carbon @@ -32,7 +32,7 @@ // CHECK:STDOUT: import_ir_insts: {} // CHECK:STDOUT: clang_decls: {} // CHECK:STDOUT: name_scopes: -// CHECK:STDOUT: name_scope00000000: {inst: inst0000000E, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} +// CHECK:STDOUT: name_scope00000000: {inst: inst0000000F, parent_scope: name_scope, has_error: false, extended_scopes: [], names: {}} // CHECK:STDOUT: entity_names: {} // CHECK:STDOUT: cpp_global_vars: {} // CHECK:STDOUT: functions: {} @@ -49,10 +49,10 @@ // CHECK:STDOUT: 'type(inst(NamespaceType))': // CHECK:STDOUT: value_repr: {kind: copy, type: type(inst(NamespaceType))} // CHECK:STDOUT: insts: -// CHECK:STDOUT: inst0000000E: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} +// CHECK:STDOUT: inst0000000F: {kind: Namespace, arg0: name_scope00000000, arg1: inst, type: type(inst(NamespaceType))} // CHECK:STDOUT: constant_values: // CHECK:STDOUT: values: -// CHECK:STDOUT: inst0000000E: concrete_constant(inst0000000E) +// CHECK:STDOUT: inst0000000F: concrete_constant(inst0000000F) // CHECK:STDOUT: symbolic_constants: {} // CHECK:STDOUT: inst_blocks: // CHECK:STDOUT: inst_block_empty: {} @@ -60,7 +60,7 @@ // CHECK:STDOUT: imports: {} // CHECK:STDOUT: global_init: {} // CHECK:STDOUT: inst_block60000004: -// CHECK:STDOUT: 0: inst0000000E +// CHECK:STDOUT: 0: inst0000000F // CHECK:STDOUT: ... // CHECK:STDOUT: --- - // CHECK:STDOUT: diff --git a/toolchain/lower/file_context.cpp b/toolchain/lower/file_context.cpp index eee26b68846b..6406bf7bede7 100644 --- a/toolchain/lower/file_context.cpp +++ b/toolchain/lower/file_context.cpp @@ -913,7 +913,7 @@ static auto BuildTypeForInst(FileContext& context, InstT /*inst*/) template requires(InstT::Kind.template IsAnyOf< SemIR::AssociatedEntityType, SemIR::CppOverloadSetType, - SemIR::FacetType, SemIR::FunctionType, + SemIR::CppVoidType, SemIR::FacetType, SemIR::FunctionType, SemIR::FunctionTypeWithSelfType, SemIR::GenericClassType, SemIR::GenericInterfaceType, SemIR::GenericNamedConstraintType, SemIR::InstType, SemIR::UnboundElementType, SemIR::WhereExpr>()) diff --git a/toolchain/lower/testdata/interop/cpp/return.carbon b/toolchain/lower/testdata/interop/cpp/return.carbon index 37c386e61f33..2c335bad6cf0 100644 --- a/toolchain/lower/testdata/interop/cpp/return.carbon +++ b/toolchain/lower/testdata/interop/cpp/return.carbon @@ -76,7 +76,8 @@ struct X { X(const X&); ~X(); - void *p, *q; + void* _Nonnull p; + void* _Nonnull q; }; X Make(); diff --git a/toolchain/sem_ir/expr_info.cpp b/toolchain/sem_ir/expr_info.cpp index 5ecd11c40d38..4e504450f2e4 100644 --- a/toolchain/sem_ir/expr_info.cpp +++ b/toolchain/sem_ir/expr_info.cpp @@ -116,6 +116,7 @@ auto GetExprCategory(const File& file, InstId inst_id) -> ExprCategory { case ConvertToValueAction::Kind: case CppOverloadSetType::Kind: case CppOverloadSetValue::Kind: + case CppVoidType::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 41866545ed05..d57dd76a48c6 100644 --- a/toolchain/sem_ir/inst_kind.def +++ b/toolchain/sem_ir/inst_kind.def @@ -56,6 +56,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(CppVoidType) 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 12d53d239bee..3b1158bf2eda 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::CppVoidType, + 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 5629af00bfef..662af4d5f488 100644 --- a/toolchain/sem_ir/stringify.cpp +++ b/toolchain/sem_ir/stringify.cpp @@ -310,6 +310,10 @@ class Stringifier { step_stack_->PushInstId(inst.inner_id); } + auto StringifyInst(InstId /*inst_id*/, CppVoidType /*inst*/) -> void { + *out_ << "Cpp.void"; + } + auto StringifyInst(InstId /*inst_id*/, CustomLayoutType inst) -> void { auto layout = sem_ir_->custom_layouts().Get(inst.layout_id); *out_ << " std::optional { case BoolType::Kind: case CharLiteralType::Kind: case CppOverloadSetType::Kind: + case CppVoidType::Kind: case FacetType::Kind: case FloatLiteralType::Kind: case FloatType::Kind: diff --git a/toolchain/sem_ir/typed_insts.h b/toolchain/sem_ir/typed_insts.h index 2de03bfe56db..ef7d61563a78 100644 --- a/toolchain/sem_ir/typed_insts.h +++ b/toolchain/sem_ir/typed_insts.h @@ -544,6 +544,21 @@ struct ConvertToValueAction { TypeInstId target_type_inst_id; }; +// A type for C++ `void`. Should only be used for pointers (`void*`). +struct CppVoidType { + static constexpr auto Kind = InstKind::CppVoidType.Define( + {.ir_name = "cpp_void_type", + .is_type = InstIsType::Always, + .constant_kind = InstConstantKind::Always, + .is_lowered = false}); + + 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 {