Przeglądaj źródła

Use an import_ir prefix and handle special IR values (#6176)

This is to try to improve clarity of values printed when debugging, with
[special values as
requested](https://discord.com/channels/655572317891461132/655578254970716160/1424792667338051756).
Jon Ross-Perkins 6 miesięcy temu
rodzic
commit
c9bb6b11a4

+ 2 - 2
toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon

@@ -15,8 +15,8 @@
 // CHECK:STDOUT: filename:        builtins.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
 // CHECK:STDOUT:   import_ir_insts: {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:

+ 3 - 3
toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon

@@ -33,10 +33,10 @@ fn G(x: Cpp.X) {
 // CHECK:STDOUT: filename:        import.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst0: {ir_id: ir1, clang_source_loc_id: clang_source_loc0}
+// CHECK:STDOUT:     import_ir_inst0: {ir_id: import_ir(Cpp), clang_source_loc_id: clang_source_loc0}
 // CHECK:STDOUT:   clang_decls:
 // CHECK:STDOUT:     clang_decl_id0:  {key: "<translation unit>", inst_id: ir0.inst16}
 // CHECK:STDOUT:     clang_decl_id1:  {key: "struct X {}", inst_id: ir0.inst18}

+ 7 - 7
toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon

@@ -31,8 +31,8 @@ fn B() {
 // CHECK:STDOUT: filename:        a.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
 // CHECK:STDOUT:   import_ir_insts: {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
@@ -88,12 +88,12 @@ fn B() {
 // CHECK:STDOUT: filename:        b.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir2:             {decl_id: ir1.inst15, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     import_ir2:      {decl_id: ir1.inst15, is_export: false}
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst0: {ir_id: ir2, inst_id: ir0.inst15}
-// CHECK:STDOUT:     import_ir_inst1: {ir_id: ir2, inst_id: ir0.inst15}
+// CHECK:STDOUT:     import_ir_inst0: {ir_id: import_ir2, inst_id: ir0.inst15}
+// CHECK:STDOUT:     import_ir_inst1: {ir_id: import_ir2, inst_id: ir0.inst15}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:     name_scope0:     {inst: inst14, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name1: ir1.inst16, name0: ir1.inst17}}

+ 7 - 7
toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon

@@ -31,8 +31,8 @@ fn B() {
 // CHECK:STDOUT: filename:        a.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
 // CHECK:STDOUT:   import_ir_insts: {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
@@ -107,12 +107,12 @@ fn B() {
 // CHECK:STDOUT: filename:        b.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir2:             {decl_id: ir1.inst15, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     import_ir2:      {decl_id: ir1.inst15, is_export: false}
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst0: {ir_id: ir2, inst_id: ir0.inst15}
-// CHECK:STDOUT:     import_ir_inst1: {ir_id: ir2, inst_id: ir0.inst15}
+// CHECK:STDOUT:     import_ir_inst0: {ir_id: import_ir2, inst_id: ir0.inst15}
+// CHECK:STDOUT:     import_ir_inst1: {ir_id: import_ir2, inst_id: ir0.inst15}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:     name_scope0:     {inst: inst14, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name1: ir1.inst16, name0: ir1.inst17}}

+ 194 - 194
toolchain/check/testdata/basics/raw_sem_ir/one_file.carbon

@@ -21,201 +21,201 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
 // CHECK:STDOUT: filename:        one_file.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir2:             {decl_id: ir0.inst15, is_export: false}
-// CHECK:STDOUT:     ir3:             {decl_id: ir0.inst15, is_export: false}
-// CHECK:STDOUT:     ir4:             {decl_id: ir0.inst15, is_export: false}
-// CHECK:STDOUT:     ir5:             {decl_id: ir0.inst15, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     import_ir2:      {decl_id: ir0.inst15, is_export: false}
+// CHECK:STDOUT:     import_ir3:      {decl_id: ir0.inst15, is_export: false}
+// CHECK:STDOUT:     import_ir4:      {decl_id: ir0.inst15, is_export: false}
+// CHECK:STDOUT:     import_ir5:      {decl_id: ir0.inst15, is_export: false}
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst0: {ir_id: ir4, inst_id: ir3.inst15}
-// CHECK:STDOUT:     import_ir_inst1: {ir_id: ir4, inst_id: ir3.inst15}
-// CHECK:STDOUT:     import_ir_inst2: {ir_id: ir4, inst_id: ir3.inst17}
-// CHECK:STDOUT:     import_ir_inst3: {ir_id: ir4, inst_id: ir3.inst45}
-// CHECK:STDOUT:     import_ir_inst4: {ir_id: ir4, inst_id: ir3.inst40}
-// CHECK:STDOUT:     import_ir_inst5: {ir_id: ir4, inst_id: ir3.inst40}
-// CHECK:STDOUT:     import_ir_inst6: {ir_id: ir4, inst_id: ir3.inst40}
-// CHECK:STDOUT:     import_ir_inst7: {ir_id: ir4, inst_id: ir3.inst34}
-// CHECK:STDOUT:     import_ir_inst8: {ir_id: ir4, inst_id: ir3.inst35}
-// CHECK:STDOUT:     import_ir_inst9: {ir_id: ir4, inst_id: ir3.inst28}
-// CHECK:STDOUT:     import_ir_inst10: {ir_id: ir4, inst_id: ir3.inst30}
-// CHECK:STDOUT:     import_ir_inst11: {ir_id: ir4, inst_id: ir3.inst17}
-// CHECK:STDOUT:     import_ir_inst12: {ir_id: ir4, inst_id: ir3.inst21}
-// CHECK:STDOUT:     import_ir_inst13: {ir_id: ir4, inst_id: ir3.inst24}
-// CHECK:STDOUT:     import_ir_inst14: {ir_id: ir4, inst_id: ir3.inst29}
-// CHECK:STDOUT:     import_ir_inst15: {ir_id: ir4, inst_id: ir3.inst97}
-// CHECK:STDOUT:     import_ir_inst16: {ir_id: ir4, inst_id: ir3.inst95}
-// CHECK:STDOUT:     import_ir_inst17: {ir_id: ir4, inst_id: ir3.inst84}
-// CHECK:STDOUT:     import_ir_inst18: {ir_id: ir4, inst_id: ir3.inst80}
-// CHECK:STDOUT:     import_ir_inst19: {ir_id: ir4, inst_id: ir3.inst90}
-// CHECK:STDOUT:     import_ir_inst20: {ir_id: ir4, inst_id: ir3.inst93}
-// CHECK:STDOUT:     import_ir_inst21: {ir_id: ir4, inst_id: ir3.inst116}
-// CHECK:STDOUT:     import_ir_inst22: {ir_id: ir4, inst_id: ir3.inst96}
-// CHECK:STDOUT:     import_ir_inst23: {ir_id: ir4, inst_id: ir3.inst82}
-// CHECK:STDOUT:     import_ir_inst24: {ir_id: ir4, inst_id: ir3.inst88}
-// CHECK:STDOUT:     import_ir_inst25: {ir_id: ir4, inst_id: ir3.inst92}
-// CHECK:STDOUT:     import_ir_inst26: {ir_id: ir4, inst_id: ir3.inst99}
-// CHECK:STDOUT:     import_ir_inst27: {ir_id: ir4, inst_id: ir3.inst116}
-// CHECK:STDOUT:     import_ir_inst28: {ir_id: ir4, inst_id: ir3.inst111}
-// CHECK:STDOUT:     import_ir_inst29: {ir_id: ir4, inst_id: ir3.inst112}
-// CHECK:STDOUT:     import_ir_inst30: {ir_id: ir4, inst_id: ir3.inst107}
-// CHECK:STDOUT:     import_ir_inst31: {ir_id: ir4, inst_id: ir3.inst109}
-// CHECK:STDOUT:     import_ir_inst32: {ir_id: ir4, inst_id: ir3.inst80}
-// CHECK:STDOUT:     import_ir_inst33: {ir_id: ir4, inst_id: ir3.inst119}
-// CHECK:STDOUT:     import_ir_inst34: {ir_id: ir4, inst_id: ir3.inst120}
-// CHECK:STDOUT:     import_ir_inst35: {ir_id: ir4, inst_id: ir3.inst102}
-// CHECK:STDOUT:     import_ir_inst36: {ir_id: ir4, inst_id: ir3.inst103}
-// CHECK:STDOUT:     import_ir_inst37: {ir_id: ir4, inst_id: ir3.inst104}
-// CHECK:STDOUT:     import_ir_inst38: {ir_id: ir4, inst_id: ir3.inst108}
-// CHECK:STDOUT:     import_ir_inst39: {ir_id: ir4, inst_id: ir3.inst124}
-// CHECK:STDOUT:     import_ir_inst40: {ir_id: ir4, inst_id: ir3.inst132}
-// CHECK:STDOUT:     import_ir_inst41: {ir_id: ir4, inst_id: ir3.inst139}
-// CHECK:STDOUT:     import_ir_inst42: {ir_id: ir4, inst_id: ir3.inst143}
-// CHECK:STDOUT:     import_ir_inst43: {ir_id: ir4, inst_id: ir3.inst144}
-// CHECK:STDOUT:     import_ir_inst44: {ir_id: ir4, inst_id: ir3.inst149}
-// CHECK:STDOUT:     import_ir_inst45: {ir_id: ir4, inst_id: ir3.inst170}
-// CHECK:STDOUT:     import_ir_inst46: {ir_id: ir4, inst_id: ir3.inst168}
-// CHECK:STDOUT:     import_ir_inst47: {ir_id: ir4, inst_id: ir3.inst166}
-// CHECK:STDOUT:     import_ir_inst48: {ir_id: ir4, inst_id: ir3.inst167}
-// CHECK:STDOUT:     import_ir_inst49: {ir_id: ir4, inst_id: ir3.inst194}
-// CHECK:STDOUT:     import_ir_inst50: {ir_id: ir4, inst_id: ir3.inst192}
-// CHECK:STDOUT:     import_ir_inst51: {ir_id: ir4, inst_id: ir3.inst190}
-// CHECK:STDOUT:     import_ir_inst52: {ir_id: ir4, inst_id: ir3.inst191}
-// CHECK:STDOUT:     import_ir_inst53: {ir_id: ir4, inst_id: ir3.inst218}
-// CHECK:STDOUT:     import_ir_inst54: {ir_id: ir4, inst_id: ir3.inst216}
-// CHECK:STDOUT:     import_ir_inst55: {ir_id: ir4, inst_id: ir3.inst214}
-// CHECK:STDOUT:     import_ir_inst56: {ir_id: ir4, inst_id: ir3.inst215}
-// CHECK:STDOUT:     import_ir_inst57: {ir_id: ir4, inst_id: ir3.inst242}
-// CHECK:STDOUT:     import_ir_inst58: {ir_id: ir4, inst_id: ir3.inst240}
-// CHECK:STDOUT:     import_ir_inst59: {ir_id: ir4, inst_id: ir3.inst238}
-// CHECK:STDOUT:     import_ir_inst60: {ir_id: ir4, inst_id: ir3.inst239}
-// CHECK:STDOUT:     import_ir_inst61: {ir_id: ir4, inst_id: ir3.inst271}
-// CHECK:STDOUT:     import_ir_inst62: {ir_id: ir4, inst_id: ir3.inst269}
-// CHECK:STDOUT:     import_ir_inst63: {ir_id: ir4, inst_id: ir3.inst263}
-// CHECK:STDOUT:     import_ir_inst64: {ir_id: ir4, inst_id: ir3.inst260}
-// CHECK:STDOUT:     import_ir_inst65: {ir_id: ir4, inst_id: ir3.inst265}
-// CHECK:STDOUT:     import_ir_inst66: {ir_id: ir4, inst_id: ir3.inst268}
-// CHECK:STDOUT:     import_ir_inst67: {ir_id: ir4, inst_id: ir3.inst288}
-// CHECK:STDOUT:     import_ir_inst68: {ir_id: ir4, inst_id: ir3.inst270}
-// CHECK:STDOUT:     import_ir_inst69: {ir_id: ir4, inst_id: ir3.inst262}
-// CHECK:STDOUT:     import_ir_inst70: {ir_id: ir4, inst_id: ir3.inst267}
-// CHECK:STDOUT:     import_ir_inst71: {ir_id: ir4, inst_id: ir3.inst273}
-// CHECK:STDOUT:     import_ir_inst72: {ir_id: ir4, inst_id: ir3.inst288}
-// CHECK:STDOUT:     import_ir_inst73: {ir_id: ir4, inst_id: ir3.inst283}
-// CHECK:STDOUT:     import_ir_inst74: {ir_id: ir4, inst_id: ir3.inst284}
-// CHECK:STDOUT:     import_ir_inst75: {ir_id: ir4, inst_id: ir3.inst279}
-// CHECK:STDOUT:     import_ir_inst76: {ir_id: ir4, inst_id: ir3.inst281}
-// CHECK:STDOUT:     import_ir_inst77: {ir_id: ir4, inst_id: ir3.inst260}
-// CHECK:STDOUT:     import_ir_inst78: {ir_id: ir4, inst_id: ir3.inst291}
-// CHECK:STDOUT:     import_ir_inst79: {ir_id: ir4, inst_id: ir3.inst292}
-// CHECK:STDOUT:     import_ir_inst80: {ir_id: ir4, inst_id: ir3.inst295}
-// CHECK:STDOUT:     import_ir_inst81: {ir_id: ir4, inst_id: ir3.inst275}
-// CHECK:STDOUT:     import_ir_inst82: {ir_id: ir4, inst_id: ir3.inst276}
-// CHECK:STDOUT:     import_ir_inst83: {ir_id: ir4, inst_id: ir3.inst280}
-// CHECK:STDOUT:     import_ir_inst84: {ir_id: ir4, inst_id: ir3.inst301}
-// CHECK:STDOUT:     import_ir_inst85: {ir_id: ir4, inst_id: ir3.inst299}
-// CHECK:STDOUT:     import_ir_inst86: {ir_id: ir4, inst_id: inst(TypeType)}
-// CHECK:STDOUT:     import_ir_inst87: {ir_id: ir4, inst_id: ir3.inst298}
-// CHECK:STDOUT:     import_ir_inst88: {ir_id: ir4, inst_id: ir3.inst322}
-// CHECK:STDOUT:     import_ir_inst89: {ir_id: ir4, inst_id: ir3.inst320}
-// CHECK:STDOUT:     import_ir_inst90: {ir_id: ir4, inst_id: ir3.inst318}
-// CHECK:STDOUT:     import_ir_inst91: {ir_id: ir4, inst_id: ir3.inst319}
-// CHECK:STDOUT:     import_ir_inst92: {ir_id: ir4, inst_id: ir3.inst370}
-// CHECK:STDOUT:     import_ir_inst93: {ir_id: ir4, inst_id: ir3.inst368}
-// CHECK:STDOUT:     import_ir_inst94: {ir_id: ir4, inst_id: ir3.inst349}
-// CHECK:STDOUT:     import_ir_inst95: {ir_id: ir4, inst_id: ir3.inst343}
-// CHECK:STDOUT:     import_ir_inst96: {ir_id: ir4, inst_id: ir3.inst341}
-// CHECK:STDOUT:     import_ir_inst97: {ir_id: ir4, inst_id: ir3.inst346}
-// CHECK:STDOUT:     import_ir_inst98: {ir_id: ir4, inst_id: ir3.inst363}
-// CHECK:STDOUT:     import_ir_inst99: {ir_id: ir4, inst_id: ir3.inst365}
-// CHECK:STDOUT:     import_ir_inst100: {ir_id: ir4, inst_id: ir3.inst392}
-// CHECK:STDOUT:     import_ir_inst101: {ir_id: ir4, inst_id: ir3.inst369}
-// CHECK:STDOUT:     import_ir_inst102: {ir_id: ir4, inst_id: ir3.inst342}
-// CHECK:STDOUT:     import_ir_inst103: {ir_id: ir4, inst_id: ir3.inst348}
-// CHECK:STDOUT:     import_ir_inst104: {ir_id: ir4, inst_id: ir3.inst356}
-// CHECK:STDOUT:     import_ir_inst105: {ir_id: ir4, inst_id: ir3.inst360}
-// CHECK:STDOUT:     import_ir_inst106: {ir_id: ir4, inst_id: ir3.inst364}
-// CHECK:STDOUT:     import_ir_inst107: {ir_id: ir4, inst_id: ir3.inst372}
-// CHECK:STDOUT:     import_ir_inst108: {ir_id: ir4, inst_id: ir3.inst392}
-// CHECK:STDOUT:     import_ir_inst109: {ir_id: ir4, inst_id: ir3.inst387}
-// CHECK:STDOUT:     import_ir_inst110: {ir_id: ir4, inst_id: ir3.inst388}
-// CHECK:STDOUT:     import_ir_inst111: {ir_id: ir4, inst_id: ir3.inst383}
-// CHECK:STDOUT:     import_ir_inst112: {ir_id: ir4, inst_id: ir3.inst385}
-// CHECK:STDOUT:     import_ir_inst113: {ir_id: ir4, inst_id: ir3.inst341}
-// CHECK:STDOUT:     import_ir_inst114: {ir_id: ir4, inst_id: ir3.inst346}
-// CHECK:STDOUT:     import_ir_inst115: {ir_id: ir4, inst_id: ir3.inst395}
-// CHECK:STDOUT:     import_ir_inst116: {ir_id: ir4, inst_id: ir3.inst396}
-// CHECK:STDOUT:     import_ir_inst117: {ir_id: ir4, inst_id: ir3.inst376}
-// CHECK:STDOUT:     import_ir_inst118: {ir_id: ir4, inst_id: ir3.inst377}
-// CHECK:STDOUT:     import_ir_inst119: {ir_id: ir4, inst_id: ir3.inst378}
-// CHECK:STDOUT:     import_ir_inst120: {ir_id: ir4, inst_id: ir3.inst379}
-// CHECK:STDOUT:     import_ir_inst121: {ir_id: ir4, inst_id: ir3.inst380}
-// CHECK:STDOUT:     import_ir_inst122: {ir_id: ir4, inst_id: ir3.inst384}
-// CHECK:STDOUT:     import_ir_inst123: {ir_id: ir4, inst_id: ir3.inst401}
-// CHECK:STDOUT:     import_ir_inst124: {ir_id: ir4, inst_id: ir3.inst409}
-// CHECK:STDOUT:     import_ir_inst125: {ir_id: ir4, inst_id: ir3.inst413}
-// CHECK:STDOUT:     import_ir_inst126: {ir_id: ir4, inst_id: ir3.inst415}
-// CHECK:STDOUT:     import_ir_inst127: {ir_id: ir4, inst_id: ir3.inst416}
-// CHECK:STDOUT:     import_ir_inst128: {ir_id: ir4, inst_id: ir3.inst419}
-// CHECK:STDOUT:     import_ir_inst129: {ir_id: ir4, inst_id: ir3.inst431}
-// CHECK:STDOUT:     import_ir_inst130: {ir_id: ir4, inst_id: ir3.inst436}
-// CHECK:STDOUT:     import_ir_inst131: {ir_id: ir4, inst_id: ir3.inst440}
-// CHECK:STDOUT:     import_ir_inst132: {ir_id: ir4, inst_id: ir3.inst441}
-// CHECK:STDOUT:     import_ir_inst133: {ir_id: ir4, inst_id: ir3.inst446}
-// CHECK:STDOUT:     import_ir_inst134: {ir_id: ir4, inst_id: ir3.inst503}
-// CHECK:STDOUT:     import_ir_inst135: {ir_id: ir4, inst_id: ir3.inst501}
-// CHECK:STDOUT:     import_ir_inst136: {ir_id: ir4, inst_id: ir3.inst477}
-// CHECK:STDOUT:     import_ir_inst137: {ir_id: ir4, inst_id: ir3.inst471}
-// CHECK:STDOUT:     import_ir_inst138: {ir_id: ir4, inst_id: ir3.inst466}
-// CHECK:STDOUT:     import_ir_inst139: {ir_id: ir4, inst_id: ir3.inst464}
-// CHECK:STDOUT:     import_ir_inst140: {ir_id: ir4, inst_id: ir3.inst469}
-// CHECK:STDOUT:     import_ir_inst141: {ir_id: ir4, inst_id: ir3.inst474}
-// CHECK:STDOUT:     import_ir_inst142: {ir_id: ir4, inst_id: ir3.inst495}
-// CHECK:STDOUT:     import_ir_inst143: {ir_id: ir4, inst_id: ir3.inst497}
-// CHECK:STDOUT:     import_ir_inst144: {ir_id: ir4, inst_id: ir3.inst528}
-// CHECK:STDOUT:     import_ir_inst145: {ir_id: ir4, inst_id: ir3.inst502}
-// CHECK:STDOUT:     import_ir_inst146: {ir_id: ir4, inst_id: ir3.inst465}
-// CHECK:STDOUT:     import_ir_inst147: {ir_id: ir4, inst_id: ir3.inst470}
-// CHECK:STDOUT:     import_ir_inst148: {ir_id: ir4, inst_id: ir3.inst476}
-// CHECK:STDOUT:     import_ir_inst149: {ir_id: ir4, inst_id: ir3.inst485}
-// CHECK:STDOUT:     import_ir_inst150: {ir_id: ir4, inst_id: ir3.inst488}
-// CHECK:STDOUT:     import_ir_inst151: {ir_id: ir4, inst_id: ir3.inst492}
-// CHECK:STDOUT:     import_ir_inst152: {ir_id: ir4, inst_id: ir3.inst496}
-// CHECK:STDOUT:     import_ir_inst153: {ir_id: ir4, inst_id: ir3.inst505}
-// CHECK:STDOUT:     import_ir_inst154: {ir_id: ir4, inst_id: ir3.inst528}
-// CHECK:STDOUT:     import_ir_inst155: {ir_id: ir4, inst_id: ir3.inst523}
-// CHECK:STDOUT:     import_ir_inst156: {ir_id: ir4, inst_id: ir3.inst524}
-// CHECK:STDOUT:     import_ir_inst157: {ir_id: ir4, inst_id: ir3.inst519}
-// CHECK:STDOUT:     import_ir_inst158: {ir_id: ir4, inst_id: ir3.inst521}
-// CHECK:STDOUT:     import_ir_inst159: {ir_id: ir4, inst_id: ir3.inst464}
-// CHECK:STDOUT:     import_ir_inst160: {ir_id: ir4, inst_id: ir3.inst469}
-// CHECK:STDOUT:     import_ir_inst161: {ir_id: ir4, inst_id: ir3.inst474}
-// CHECK:STDOUT:     import_ir_inst162: {ir_id: ir4, inst_id: ir3.inst531}
-// CHECK:STDOUT:     import_ir_inst163: {ir_id: ir4, inst_id: ir3.inst532}
-// CHECK:STDOUT:     import_ir_inst164: {ir_id: ir4, inst_id: ir3.inst510}
-// CHECK:STDOUT:     import_ir_inst165: {ir_id: ir4, inst_id: ir3.inst511}
-// CHECK:STDOUT:     import_ir_inst166: {ir_id: ir4, inst_id: ir3.inst512}
-// CHECK:STDOUT:     import_ir_inst167: {ir_id: ir4, inst_id: ir3.inst513}
-// CHECK:STDOUT:     import_ir_inst168: {ir_id: ir4, inst_id: ir3.inst514}
-// CHECK:STDOUT:     import_ir_inst169: {ir_id: ir4, inst_id: ir3.inst515}
-// CHECK:STDOUT:     import_ir_inst170: {ir_id: ir4, inst_id: ir3.inst516}
-// CHECK:STDOUT:     import_ir_inst171: {ir_id: ir4, inst_id: ir3.inst520}
-// CHECK:STDOUT:     import_ir_inst172: {ir_id: ir4, inst_id: ir3.inst537}
-// CHECK:STDOUT:     import_ir_inst173: {ir_id: ir4, inst_id: ir3.inst544}
-// CHECK:STDOUT:     import_ir_inst174: {ir_id: ir4, inst_id: ir3.inst548}
-// CHECK:STDOUT:     import_ir_inst175: {ir_id: ir4, inst_id: ir3.inst550}
-// CHECK:STDOUT:     import_ir_inst176: {ir_id: ir4, inst_id: ir3.inst551}
-// CHECK:STDOUT:     import_ir_inst177: {ir_id: ir4, inst_id: ir3.inst554}
-// CHECK:STDOUT:     import_ir_inst178: {ir_id: ir4, inst_id: ir3.inst564}
-// CHECK:STDOUT:     import_ir_inst179: {ir_id: ir4, inst_id: ir3.inst568}
-// CHECK:STDOUT:     import_ir_inst180: {ir_id: ir4, inst_id: ir3.inst570}
-// CHECK:STDOUT:     import_ir_inst181: {ir_id: ir4, inst_id: ir3.inst571}
-// CHECK:STDOUT:     import_ir_inst182: {ir_id: ir4, inst_id: ir3.inst574}
-// CHECK:STDOUT:     import_ir_inst183: {ir_id: ir4, inst_id: ir3.inst586}
-// CHECK:STDOUT:     import_ir_inst184: {ir_id: ir4, inst_id: ir3.inst591}
-// CHECK:STDOUT:     import_ir_inst185: {ir_id: ir4, inst_id: ir3.inst595}
-// CHECK:STDOUT:     import_ir_inst186: {ir_id: ir4, inst_id: ir3.inst596}
-// CHECK:STDOUT:     import_ir_inst187: {ir_id: ir4, inst_id: ir3.inst601}
+// CHECK:STDOUT:     import_ir_inst0: {ir_id: import_ir4, inst_id: ir3.inst15}
+// CHECK:STDOUT:     import_ir_inst1: {ir_id: import_ir4, inst_id: ir3.inst15}
+// CHECK:STDOUT:     import_ir_inst2: {ir_id: import_ir4, inst_id: ir3.inst17}
+// CHECK:STDOUT:     import_ir_inst3: {ir_id: import_ir4, inst_id: ir3.inst45}
+// CHECK:STDOUT:     import_ir_inst4: {ir_id: import_ir4, inst_id: ir3.inst40}
+// CHECK:STDOUT:     import_ir_inst5: {ir_id: import_ir4, inst_id: ir3.inst40}
+// CHECK:STDOUT:     import_ir_inst6: {ir_id: import_ir4, inst_id: ir3.inst40}
+// CHECK:STDOUT:     import_ir_inst7: {ir_id: import_ir4, inst_id: ir3.inst34}
+// CHECK:STDOUT:     import_ir_inst8: {ir_id: import_ir4, inst_id: ir3.inst35}
+// CHECK:STDOUT:     import_ir_inst9: {ir_id: import_ir4, inst_id: ir3.inst28}
+// CHECK:STDOUT:     import_ir_inst10: {ir_id: import_ir4, inst_id: ir3.inst30}
+// CHECK:STDOUT:     import_ir_inst11: {ir_id: import_ir4, inst_id: ir3.inst17}
+// CHECK:STDOUT:     import_ir_inst12: {ir_id: import_ir4, inst_id: ir3.inst21}
+// CHECK:STDOUT:     import_ir_inst13: {ir_id: import_ir4, inst_id: ir3.inst24}
+// CHECK:STDOUT:     import_ir_inst14: {ir_id: import_ir4, inst_id: ir3.inst29}
+// CHECK:STDOUT:     import_ir_inst15: {ir_id: import_ir4, inst_id: ir3.inst97}
+// CHECK:STDOUT:     import_ir_inst16: {ir_id: import_ir4, inst_id: ir3.inst95}
+// CHECK:STDOUT:     import_ir_inst17: {ir_id: import_ir4, inst_id: ir3.inst84}
+// CHECK:STDOUT:     import_ir_inst18: {ir_id: import_ir4, inst_id: ir3.inst80}
+// CHECK:STDOUT:     import_ir_inst19: {ir_id: import_ir4, inst_id: ir3.inst90}
+// CHECK:STDOUT:     import_ir_inst20: {ir_id: import_ir4, inst_id: ir3.inst93}
+// CHECK:STDOUT:     import_ir_inst21: {ir_id: import_ir4, inst_id: ir3.inst116}
+// CHECK:STDOUT:     import_ir_inst22: {ir_id: import_ir4, inst_id: ir3.inst96}
+// CHECK:STDOUT:     import_ir_inst23: {ir_id: import_ir4, inst_id: ir3.inst82}
+// CHECK:STDOUT:     import_ir_inst24: {ir_id: import_ir4, inst_id: ir3.inst88}
+// CHECK:STDOUT:     import_ir_inst25: {ir_id: import_ir4, inst_id: ir3.inst92}
+// CHECK:STDOUT:     import_ir_inst26: {ir_id: import_ir4, inst_id: ir3.inst99}
+// CHECK:STDOUT:     import_ir_inst27: {ir_id: import_ir4, inst_id: ir3.inst116}
+// CHECK:STDOUT:     import_ir_inst28: {ir_id: import_ir4, inst_id: ir3.inst111}
+// CHECK:STDOUT:     import_ir_inst29: {ir_id: import_ir4, inst_id: ir3.inst112}
+// CHECK:STDOUT:     import_ir_inst30: {ir_id: import_ir4, inst_id: ir3.inst107}
+// CHECK:STDOUT:     import_ir_inst31: {ir_id: import_ir4, inst_id: ir3.inst109}
+// CHECK:STDOUT:     import_ir_inst32: {ir_id: import_ir4, inst_id: ir3.inst80}
+// CHECK:STDOUT:     import_ir_inst33: {ir_id: import_ir4, inst_id: ir3.inst119}
+// CHECK:STDOUT:     import_ir_inst34: {ir_id: import_ir4, inst_id: ir3.inst120}
+// CHECK:STDOUT:     import_ir_inst35: {ir_id: import_ir4, inst_id: ir3.inst102}
+// CHECK:STDOUT:     import_ir_inst36: {ir_id: import_ir4, inst_id: ir3.inst103}
+// CHECK:STDOUT:     import_ir_inst37: {ir_id: import_ir4, inst_id: ir3.inst104}
+// CHECK:STDOUT:     import_ir_inst38: {ir_id: import_ir4, inst_id: ir3.inst108}
+// CHECK:STDOUT:     import_ir_inst39: {ir_id: import_ir4, inst_id: ir3.inst124}
+// CHECK:STDOUT:     import_ir_inst40: {ir_id: import_ir4, inst_id: ir3.inst132}
+// CHECK:STDOUT:     import_ir_inst41: {ir_id: import_ir4, inst_id: ir3.inst139}
+// CHECK:STDOUT:     import_ir_inst42: {ir_id: import_ir4, inst_id: ir3.inst143}
+// CHECK:STDOUT:     import_ir_inst43: {ir_id: import_ir4, inst_id: ir3.inst144}
+// CHECK:STDOUT:     import_ir_inst44: {ir_id: import_ir4, inst_id: ir3.inst149}
+// CHECK:STDOUT:     import_ir_inst45: {ir_id: import_ir4, inst_id: ir3.inst170}
+// CHECK:STDOUT:     import_ir_inst46: {ir_id: import_ir4, inst_id: ir3.inst168}
+// CHECK:STDOUT:     import_ir_inst47: {ir_id: import_ir4, inst_id: ir3.inst166}
+// CHECK:STDOUT:     import_ir_inst48: {ir_id: import_ir4, inst_id: ir3.inst167}
+// CHECK:STDOUT:     import_ir_inst49: {ir_id: import_ir4, inst_id: ir3.inst194}
+// CHECK:STDOUT:     import_ir_inst50: {ir_id: import_ir4, inst_id: ir3.inst192}
+// CHECK:STDOUT:     import_ir_inst51: {ir_id: import_ir4, inst_id: ir3.inst190}
+// CHECK:STDOUT:     import_ir_inst52: {ir_id: import_ir4, inst_id: ir3.inst191}
+// CHECK:STDOUT:     import_ir_inst53: {ir_id: import_ir4, inst_id: ir3.inst218}
+// CHECK:STDOUT:     import_ir_inst54: {ir_id: import_ir4, inst_id: ir3.inst216}
+// CHECK:STDOUT:     import_ir_inst55: {ir_id: import_ir4, inst_id: ir3.inst214}
+// CHECK:STDOUT:     import_ir_inst56: {ir_id: import_ir4, inst_id: ir3.inst215}
+// CHECK:STDOUT:     import_ir_inst57: {ir_id: import_ir4, inst_id: ir3.inst242}
+// CHECK:STDOUT:     import_ir_inst58: {ir_id: import_ir4, inst_id: ir3.inst240}
+// CHECK:STDOUT:     import_ir_inst59: {ir_id: import_ir4, inst_id: ir3.inst238}
+// CHECK:STDOUT:     import_ir_inst60: {ir_id: import_ir4, inst_id: ir3.inst239}
+// CHECK:STDOUT:     import_ir_inst61: {ir_id: import_ir4, inst_id: ir3.inst271}
+// CHECK:STDOUT:     import_ir_inst62: {ir_id: import_ir4, inst_id: ir3.inst269}
+// CHECK:STDOUT:     import_ir_inst63: {ir_id: import_ir4, inst_id: ir3.inst263}
+// CHECK:STDOUT:     import_ir_inst64: {ir_id: import_ir4, inst_id: ir3.inst260}
+// CHECK:STDOUT:     import_ir_inst65: {ir_id: import_ir4, inst_id: ir3.inst265}
+// CHECK:STDOUT:     import_ir_inst66: {ir_id: import_ir4, inst_id: ir3.inst268}
+// CHECK:STDOUT:     import_ir_inst67: {ir_id: import_ir4, inst_id: ir3.inst288}
+// CHECK:STDOUT:     import_ir_inst68: {ir_id: import_ir4, inst_id: ir3.inst270}
+// CHECK:STDOUT:     import_ir_inst69: {ir_id: import_ir4, inst_id: ir3.inst262}
+// CHECK:STDOUT:     import_ir_inst70: {ir_id: import_ir4, inst_id: ir3.inst267}
+// CHECK:STDOUT:     import_ir_inst71: {ir_id: import_ir4, inst_id: ir3.inst273}
+// CHECK:STDOUT:     import_ir_inst72: {ir_id: import_ir4, inst_id: ir3.inst288}
+// CHECK:STDOUT:     import_ir_inst73: {ir_id: import_ir4, inst_id: ir3.inst283}
+// CHECK:STDOUT:     import_ir_inst74: {ir_id: import_ir4, inst_id: ir3.inst284}
+// CHECK:STDOUT:     import_ir_inst75: {ir_id: import_ir4, inst_id: ir3.inst279}
+// CHECK:STDOUT:     import_ir_inst76: {ir_id: import_ir4, inst_id: ir3.inst281}
+// CHECK:STDOUT:     import_ir_inst77: {ir_id: import_ir4, inst_id: ir3.inst260}
+// CHECK:STDOUT:     import_ir_inst78: {ir_id: import_ir4, inst_id: ir3.inst291}
+// CHECK:STDOUT:     import_ir_inst79: {ir_id: import_ir4, inst_id: ir3.inst292}
+// CHECK:STDOUT:     import_ir_inst80: {ir_id: import_ir4, inst_id: ir3.inst295}
+// CHECK:STDOUT:     import_ir_inst81: {ir_id: import_ir4, inst_id: ir3.inst275}
+// CHECK:STDOUT:     import_ir_inst82: {ir_id: import_ir4, inst_id: ir3.inst276}
+// CHECK:STDOUT:     import_ir_inst83: {ir_id: import_ir4, inst_id: ir3.inst280}
+// CHECK:STDOUT:     import_ir_inst84: {ir_id: import_ir4, inst_id: ir3.inst301}
+// CHECK:STDOUT:     import_ir_inst85: {ir_id: import_ir4, inst_id: ir3.inst299}
+// CHECK:STDOUT:     import_ir_inst86: {ir_id: import_ir4, inst_id: inst(TypeType)}
+// CHECK:STDOUT:     import_ir_inst87: {ir_id: import_ir4, inst_id: ir3.inst298}
+// CHECK:STDOUT:     import_ir_inst88: {ir_id: import_ir4, inst_id: ir3.inst322}
+// CHECK:STDOUT:     import_ir_inst89: {ir_id: import_ir4, inst_id: ir3.inst320}
+// CHECK:STDOUT:     import_ir_inst90: {ir_id: import_ir4, inst_id: ir3.inst318}
+// CHECK:STDOUT:     import_ir_inst91: {ir_id: import_ir4, inst_id: ir3.inst319}
+// CHECK:STDOUT:     import_ir_inst92: {ir_id: import_ir4, inst_id: ir3.inst370}
+// CHECK:STDOUT:     import_ir_inst93: {ir_id: import_ir4, inst_id: ir3.inst368}
+// CHECK:STDOUT:     import_ir_inst94: {ir_id: import_ir4, inst_id: ir3.inst349}
+// CHECK:STDOUT:     import_ir_inst95: {ir_id: import_ir4, inst_id: ir3.inst343}
+// CHECK:STDOUT:     import_ir_inst96: {ir_id: import_ir4, inst_id: ir3.inst341}
+// CHECK:STDOUT:     import_ir_inst97: {ir_id: import_ir4, inst_id: ir3.inst346}
+// CHECK:STDOUT:     import_ir_inst98: {ir_id: import_ir4, inst_id: ir3.inst363}
+// CHECK:STDOUT:     import_ir_inst99: {ir_id: import_ir4, inst_id: ir3.inst365}
+// CHECK:STDOUT:     import_ir_inst100: {ir_id: import_ir4, inst_id: ir3.inst392}
+// CHECK:STDOUT:     import_ir_inst101: {ir_id: import_ir4, inst_id: ir3.inst369}
+// CHECK:STDOUT:     import_ir_inst102: {ir_id: import_ir4, inst_id: ir3.inst342}
+// CHECK:STDOUT:     import_ir_inst103: {ir_id: import_ir4, inst_id: ir3.inst348}
+// CHECK:STDOUT:     import_ir_inst104: {ir_id: import_ir4, inst_id: ir3.inst356}
+// CHECK:STDOUT:     import_ir_inst105: {ir_id: import_ir4, inst_id: ir3.inst360}
+// CHECK:STDOUT:     import_ir_inst106: {ir_id: import_ir4, inst_id: ir3.inst364}
+// CHECK:STDOUT:     import_ir_inst107: {ir_id: import_ir4, inst_id: ir3.inst372}
+// CHECK:STDOUT:     import_ir_inst108: {ir_id: import_ir4, inst_id: ir3.inst392}
+// CHECK:STDOUT:     import_ir_inst109: {ir_id: import_ir4, inst_id: ir3.inst387}
+// CHECK:STDOUT:     import_ir_inst110: {ir_id: import_ir4, inst_id: ir3.inst388}
+// CHECK:STDOUT:     import_ir_inst111: {ir_id: import_ir4, inst_id: ir3.inst383}
+// CHECK:STDOUT:     import_ir_inst112: {ir_id: import_ir4, inst_id: ir3.inst385}
+// CHECK:STDOUT:     import_ir_inst113: {ir_id: import_ir4, inst_id: ir3.inst341}
+// CHECK:STDOUT:     import_ir_inst114: {ir_id: import_ir4, inst_id: ir3.inst346}
+// CHECK:STDOUT:     import_ir_inst115: {ir_id: import_ir4, inst_id: ir3.inst395}
+// CHECK:STDOUT:     import_ir_inst116: {ir_id: import_ir4, inst_id: ir3.inst396}
+// CHECK:STDOUT:     import_ir_inst117: {ir_id: import_ir4, inst_id: ir3.inst376}
+// CHECK:STDOUT:     import_ir_inst118: {ir_id: import_ir4, inst_id: ir3.inst377}
+// CHECK:STDOUT:     import_ir_inst119: {ir_id: import_ir4, inst_id: ir3.inst378}
+// CHECK:STDOUT:     import_ir_inst120: {ir_id: import_ir4, inst_id: ir3.inst379}
+// CHECK:STDOUT:     import_ir_inst121: {ir_id: import_ir4, inst_id: ir3.inst380}
+// CHECK:STDOUT:     import_ir_inst122: {ir_id: import_ir4, inst_id: ir3.inst384}
+// CHECK:STDOUT:     import_ir_inst123: {ir_id: import_ir4, inst_id: ir3.inst401}
+// CHECK:STDOUT:     import_ir_inst124: {ir_id: import_ir4, inst_id: ir3.inst409}
+// CHECK:STDOUT:     import_ir_inst125: {ir_id: import_ir4, inst_id: ir3.inst413}
+// CHECK:STDOUT:     import_ir_inst126: {ir_id: import_ir4, inst_id: ir3.inst415}
+// CHECK:STDOUT:     import_ir_inst127: {ir_id: import_ir4, inst_id: ir3.inst416}
+// CHECK:STDOUT:     import_ir_inst128: {ir_id: import_ir4, inst_id: ir3.inst419}
+// CHECK:STDOUT:     import_ir_inst129: {ir_id: import_ir4, inst_id: ir3.inst431}
+// CHECK:STDOUT:     import_ir_inst130: {ir_id: import_ir4, inst_id: ir3.inst436}
+// CHECK:STDOUT:     import_ir_inst131: {ir_id: import_ir4, inst_id: ir3.inst440}
+// CHECK:STDOUT:     import_ir_inst132: {ir_id: import_ir4, inst_id: ir3.inst441}
+// CHECK:STDOUT:     import_ir_inst133: {ir_id: import_ir4, inst_id: ir3.inst446}
+// CHECK:STDOUT:     import_ir_inst134: {ir_id: import_ir4, inst_id: ir3.inst503}
+// CHECK:STDOUT:     import_ir_inst135: {ir_id: import_ir4, inst_id: ir3.inst501}
+// CHECK:STDOUT:     import_ir_inst136: {ir_id: import_ir4, inst_id: ir3.inst477}
+// CHECK:STDOUT:     import_ir_inst137: {ir_id: import_ir4, inst_id: ir3.inst471}
+// CHECK:STDOUT:     import_ir_inst138: {ir_id: import_ir4, inst_id: ir3.inst466}
+// CHECK:STDOUT:     import_ir_inst139: {ir_id: import_ir4, inst_id: ir3.inst464}
+// CHECK:STDOUT:     import_ir_inst140: {ir_id: import_ir4, inst_id: ir3.inst469}
+// CHECK:STDOUT:     import_ir_inst141: {ir_id: import_ir4, inst_id: ir3.inst474}
+// CHECK:STDOUT:     import_ir_inst142: {ir_id: import_ir4, inst_id: ir3.inst495}
+// CHECK:STDOUT:     import_ir_inst143: {ir_id: import_ir4, inst_id: ir3.inst497}
+// CHECK:STDOUT:     import_ir_inst144: {ir_id: import_ir4, inst_id: ir3.inst528}
+// CHECK:STDOUT:     import_ir_inst145: {ir_id: import_ir4, inst_id: ir3.inst502}
+// CHECK:STDOUT:     import_ir_inst146: {ir_id: import_ir4, inst_id: ir3.inst465}
+// CHECK:STDOUT:     import_ir_inst147: {ir_id: import_ir4, inst_id: ir3.inst470}
+// CHECK:STDOUT:     import_ir_inst148: {ir_id: import_ir4, inst_id: ir3.inst476}
+// CHECK:STDOUT:     import_ir_inst149: {ir_id: import_ir4, inst_id: ir3.inst485}
+// CHECK:STDOUT:     import_ir_inst150: {ir_id: import_ir4, inst_id: ir3.inst488}
+// CHECK:STDOUT:     import_ir_inst151: {ir_id: import_ir4, inst_id: ir3.inst492}
+// CHECK:STDOUT:     import_ir_inst152: {ir_id: import_ir4, inst_id: ir3.inst496}
+// CHECK:STDOUT:     import_ir_inst153: {ir_id: import_ir4, inst_id: ir3.inst505}
+// CHECK:STDOUT:     import_ir_inst154: {ir_id: import_ir4, inst_id: ir3.inst528}
+// CHECK:STDOUT:     import_ir_inst155: {ir_id: import_ir4, inst_id: ir3.inst523}
+// CHECK:STDOUT:     import_ir_inst156: {ir_id: import_ir4, inst_id: ir3.inst524}
+// CHECK:STDOUT:     import_ir_inst157: {ir_id: import_ir4, inst_id: ir3.inst519}
+// CHECK:STDOUT:     import_ir_inst158: {ir_id: import_ir4, inst_id: ir3.inst521}
+// CHECK:STDOUT:     import_ir_inst159: {ir_id: import_ir4, inst_id: ir3.inst464}
+// CHECK:STDOUT:     import_ir_inst160: {ir_id: import_ir4, inst_id: ir3.inst469}
+// CHECK:STDOUT:     import_ir_inst161: {ir_id: import_ir4, inst_id: ir3.inst474}
+// CHECK:STDOUT:     import_ir_inst162: {ir_id: import_ir4, inst_id: ir3.inst531}
+// CHECK:STDOUT:     import_ir_inst163: {ir_id: import_ir4, inst_id: ir3.inst532}
+// CHECK:STDOUT:     import_ir_inst164: {ir_id: import_ir4, inst_id: ir3.inst510}
+// CHECK:STDOUT:     import_ir_inst165: {ir_id: import_ir4, inst_id: ir3.inst511}
+// CHECK:STDOUT:     import_ir_inst166: {ir_id: import_ir4, inst_id: ir3.inst512}
+// CHECK:STDOUT:     import_ir_inst167: {ir_id: import_ir4, inst_id: ir3.inst513}
+// CHECK:STDOUT:     import_ir_inst168: {ir_id: import_ir4, inst_id: ir3.inst514}
+// CHECK:STDOUT:     import_ir_inst169: {ir_id: import_ir4, inst_id: ir3.inst515}
+// CHECK:STDOUT:     import_ir_inst170: {ir_id: import_ir4, inst_id: ir3.inst516}
+// CHECK:STDOUT:     import_ir_inst171: {ir_id: import_ir4, inst_id: ir3.inst520}
+// CHECK:STDOUT:     import_ir_inst172: {ir_id: import_ir4, inst_id: ir3.inst537}
+// CHECK:STDOUT:     import_ir_inst173: {ir_id: import_ir4, inst_id: ir3.inst544}
+// CHECK:STDOUT:     import_ir_inst174: {ir_id: import_ir4, inst_id: ir3.inst548}
+// CHECK:STDOUT:     import_ir_inst175: {ir_id: import_ir4, inst_id: ir3.inst550}
+// CHECK:STDOUT:     import_ir_inst176: {ir_id: import_ir4, inst_id: ir3.inst551}
+// CHECK:STDOUT:     import_ir_inst177: {ir_id: import_ir4, inst_id: ir3.inst554}
+// CHECK:STDOUT:     import_ir_inst178: {ir_id: import_ir4, inst_id: ir3.inst564}
+// CHECK:STDOUT:     import_ir_inst179: {ir_id: import_ir4, inst_id: ir3.inst568}
+// CHECK:STDOUT:     import_ir_inst180: {ir_id: import_ir4, inst_id: ir3.inst570}
+// CHECK:STDOUT:     import_ir_inst181: {ir_id: import_ir4, inst_id: ir3.inst571}
+// CHECK:STDOUT:     import_ir_inst182: {ir_id: import_ir4, inst_id: ir3.inst574}
+// CHECK:STDOUT:     import_ir_inst183: {ir_id: import_ir4, inst_id: ir3.inst586}
+// CHECK:STDOUT:     import_ir_inst184: {ir_id: import_ir4, inst_id: ir3.inst591}
+// CHECK:STDOUT:     import_ir_inst185: {ir_id: import_ir4, inst_id: ir3.inst595}
+// CHECK:STDOUT:     import_ir_inst186: {ir_id: import_ir4, inst_id: ir3.inst596}
+// CHECK:STDOUT:     import_ir_inst187: {ir_id: import_ir4, inst_id: ir3.inst601}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:     name_scope0:     {inst: inst14, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name(Core): ir0.inst16, name0: ir0.inst53}}

+ 2 - 2
toolchain/check/testdata/basics/raw_sem_ir/one_file_with_textual_ir.carbon

@@ -21,8 +21,8 @@ fn Foo(n: ()) -> ((), ()) {
 // CHECK:STDOUT: filename:        one_file_with_textual_ir.carbon
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
 // CHECK:STDOUT:   import_ir_insts: {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:

+ 2 - 2
toolchain/driver/testdata/stdin.carbon

@@ -27,8 +27,8 @@
 // CHECK:STDOUT: filename:        '-'
 // CHECK:STDOUT: sem_ir:
 // CHECK:STDOUT:   import_irs:
-// CHECK:STDOUT:     ir0:             {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     ir1:             {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(ApiForImpl)': {decl_id: inst<none>, is_export: false}
+// CHECK:STDOUT:     'import_ir(Cpp)':  {decl_id: inst<none>, is_export: false}
 // CHECK:STDOUT:   import_ir_insts: {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:

+ 18 - 0
toolchain/sem_ir/ids.cpp

@@ -47,6 +47,14 @@ auto ConstantId::Print(llvm::raw_ostream& out, bool disambiguate) const
   }
 }
 
+auto CheckIRId::Print(llvm::raw_ostream& out) const -> void {
+  if (*this == Cpp) {
+    out << Label << "(Cpp)";
+  } else {
+    IdBase::Print(out);
+  }
+}
+
 auto GenericInstIndex::Print(llvm::raw_ostream& out) const -> void {
   out << "generic_inst";
   if (has_value()) {
@@ -56,6 +64,16 @@ auto GenericInstIndex::Print(llvm::raw_ostream& out) const -> void {
   }
 }
 
+auto ImportIRId::Print(llvm::raw_ostream& out) const -> void {
+  if (*this == ApiForImpl) {
+    out << Label << "(ApiForImpl)";
+  } else if (*this == Cpp) {
+    out << Label << "(Cpp)";
+  } else {
+    IdBase::Print(out);
+  }
+}
+
 auto BoolValue::Print(llvm::raw_ostream& out) const -> void {
   if (*this == False) {
     out << "false";

+ 3 - 1
toolchain/sem_ir/ids.h

@@ -294,6 +294,7 @@ struct CheckIRId : public IdBase<CheckIRId> {
   static const CheckIRId Cpp;
 
   using IdBase::IdBase;
+  auto Print(llvm::raw_ostream& out) const -> void;
 };
 
 constexpr CheckIRId CheckIRId::Cpp = CheckIRId(NoneIndex - 1);
@@ -435,7 +436,7 @@ struct ImportCppId : public IdBase<ImportCppId> {
 // The ID of an `ImportIR` within the set of imported IRs, both direct and
 // indirect.
 struct ImportIRId : public IdBase<ImportIRId> {
-  static constexpr llvm::StringLiteral Label = "ir";
+  static constexpr llvm::StringLiteral Label = "import_ir";
 
   // The implicit `api` import, for an `impl` file. A null entry is added if
   // there is none, as in an `api`, in which case this ID should not show up in
@@ -447,6 +448,7 @@ struct ImportIRId : public IdBase<ImportIRId> {
   static const ImportIRId Cpp;
 
   using IdBase::IdBase;
+  auto Print(llvm::raw_ostream& out) const -> void;
 };
 
 constexpr ImportIRId ImportIRId::ApiForImpl = ImportIRId(0);