瀏覽代碼

Add unit tagging to ImportIRId (#6265)

Co-authored-by: josh11b <15258583+josh11b@users.noreply.github.com>
David Blaikie 6 月之前
父節點
當前提交
4f1f0fc7c2

+ 13 - 7
toolchain/check/import.cpp

@@ -246,8 +246,10 @@ static auto CopySingleNameScopeFromImportIR(
 
 
   auto namespace_const_id =
   auto namespace_const_id =
       context.constant_values().Get(result.add_result.inst_id);
       context.constant_values().Get(result.add_result.inst_id);
-  context.import_ir_constant_values()[ir_id.index].Set(import_inst_id,
-                                                       namespace_const_id);
+  context
+      .import_ir_constant_values()[context.sem_ir().import_irs().GetRawIndex(
+          ir_id)]
+      .Set(import_inst_id, namespace_const_id);
 
 
   if (copied_namespaces) {
   if (copied_namespaces) {
     CacheCopiedNamespace(*copied_namespaces, import_scope_id,
     CacheCopiedNamespace(*copied_namespaces, import_scope_id,
@@ -484,9 +486,11 @@ auto ImportLibrariesFromCurrentPackage(
   for (auto import_ir : import_irs) {
   for (auto import_ir : import_irs) {
     auto ir_id = AddImportIR(context, import_ir);
     auto ir_id = AddImportIR(context, import_ir);
 
 
-    context.import_ir_constant_values()[ir_id.index].Set(
-        SemIR::Namespace::PackageInstId,
-        context.constant_values().Get(SemIR::Namespace::PackageInstId));
+    context
+        .import_ir_constant_values()[context.sem_ir().import_irs().GetRawIndex(
+            ir_id)]
+        .Set(SemIR::Namespace::PackageInstId,
+             context.constant_values().Get(SemIR::Namespace::PackageInstId));
 
 
     for (const auto import_inst_id :
     for (const auto import_inst_id :
          import_ir.sem_ir->inst_blocks().Get(SemIR::InstBlockId::Exports)) {
          import_ir.sem_ir->inst_blocks().Get(SemIR::InstBlockId::Exports)) {
@@ -548,8 +552,10 @@ auto ImportLibrariesFromOtherPackage(Context& context,
   for (auto import_ir : import_irs) {
   for (auto import_ir : import_irs) {
     auto ir_id = AddImportIR(context, import_ir);
     auto ir_id = AddImportIR(context, import_ir);
     scope.AddImportIRScope({ir_id, SemIR::NameScopeId::Package});
     scope.AddImportIRScope({ir_id, SemIR::NameScopeId::Package});
-    context.import_ir_constant_values()[ir_id.index].Set(
-        SemIR::Namespace::PackageInstId, namespace_const_id);
+    context
+        .import_ir_constant_values()[context.sem_ir().import_irs().GetRawIndex(
+            ir_id)]
+        .Set(SemIR::Namespace::PackageInstId, namespace_const_id);
   }
   }
   if (has_load_error) {
   if (has_load_error) {
     scope.set_has_error();
     scope.set_has_error();

+ 19 - 9
toolchain/check/import_ref.cpp

@@ -117,8 +117,10 @@ static auto AddLoadedImportRef(Context& context, SemIR::TypeId type_id,
   context.imports().push_back(inst_id);
   context.imports().push_back(inst_id);
 
 
   context.constant_values().Set(inst_id, const_id);
   context.constant_values().Set(inst_id, const_id);
-  context.import_ir_constant_values()[import_ir_inst.ir_id().index].Set(
-      import_ir_inst.inst_id(), const_id);
+  context
+      .import_ir_constant_values()[context.sem_ir().import_irs().GetRawIndex(
+          import_ir_inst.ir_id())]
+      .Set(import_ir_inst.inst_id(), const_id);
   return inst_id;
   return inst_id;
 }
 }
 
 
@@ -290,7 +292,8 @@ class ImportContext {
   // from `InstId`s in the import IR to corresponding `ConstantId`s in the local
   // from `InstId`s in the import IR to corresponding `ConstantId`s in the local
   // IR.
   // IR.
   auto local_constant_values_for_import_insts() -> SemIR::ConstantValueStore& {
   auto local_constant_values_for_import_insts() -> SemIR::ConstantValueStore& {
-    return local_context().import_ir_constant_values()[import_ir_id_.index];
+    return local_context().import_ir_constant_values()
+        [local_context().sem_ir().import_irs().GetRawIndex(import_ir_id_)];
   }
   }
 
 
   // Returns the file we are importing into.
   // Returns the file we are importing into.
@@ -636,9 +639,12 @@ class ImportRefResolver : public ImportContext {
       CARBON_CHECK(cursor_ir != prev_ir || cursor_inst_id != prev_inst_id,
       CARBON_CHECK(cursor_ir != prev_ir || cursor_inst_id != prev_inst_id,
                    "{0}", cursor_ir->insts().Get(cursor_inst_id));
                    "{0}", cursor_ir->insts().Get(cursor_inst_id));
 
 
-      if (auto const_id = local_context()
-                              .import_ir_constant_values()[cursor_ir_id.index]
-                              .GetAttached(cursor_inst_id);
+      if (auto const_id =
+              local_context()
+                  .import_ir_constant_values()
+                      [local_context().sem_ir().import_irs().GetRawIndex(
+                          cursor_ir_id)]
+                  .GetAttached(cursor_inst_id);
           const_id.has_value()) {
           const_id.has_value()) {
         SetResolvedConstId(inst_id, result.indirect_insts, const_id);
         SetResolvedConstId(inst_id, result.indirect_insts, const_id);
         result.const_id = const_id;
         result.const_id = const_id;
@@ -658,7 +664,9 @@ class ImportRefResolver : public ImportContext {
     local_constant_values_for_import_insts().Set(inst_id, const_id);
     local_constant_values_for_import_insts().Set(inst_id, const_id);
     for (auto indirect_inst : indirect_insts) {
     for (auto indirect_inst : indirect_insts) {
       local_context()
       local_context()
-          .import_ir_constant_values()[indirect_inst.ir_id().index]
+          .import_ir_constant_values()
+              [local_context().sem_ir().import_irs().GetRawIndex(
+                  indirect_inst.ir_id())]
           .Set(indirect_inst.inst_id(), const_id);
           .Set(indirect_inst.inst_id(), const_id);
     }
     }
   }
   }
@@ -3699,8 +3707,10 @@ auto LoadImportRef(Context& context, SemIR::InstId inst_id) -> void {
   // Store the constant for both the ImportRefLoaded and indirect instructions.
   // Store the constant for both the ImportRefLoaded and indirect instructions.
   context.constant_values().Set(inst_id, constant_id);
   context.constant_values().Set(inst_id, constant_id);
   for (const auto& import_ir_inst : indirect_insts) {
   for (const auto& import_ir_inst : indirect_insts) {
-    context.import_ir_constant_values()[import_ir_inst.ir_id().index].Set(
-        import_ir_inst.inst_id(), constant_id);
+    context
+        .import_ir_constant_values()[context.sem_ir().import_irs().GetRawIndex(
+            import_ir_inst.ir_id())]
+        .Set(import_ir_inst.inst_id(), constant_id);
   }
   }
 }
 }
 
 

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

@@ -91,10 +91,10 @@ fn B() {
 // CHECK:STDOUT:   import_irs:
 // CHECK:STDOUT:   import_irs:
 // CHECK:STDOUT:     'import_ir(ApiForImpl)': {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(Cpp)':  {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     import_ir00000002: {decl_id: inst5000000F, is_export: false}
+// CHECK:STDOUT:     import_ir50000002: {decl_id: inst5000000F, is_export: false}
 // CHECK:STDOUT:   import_ir_insts:
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst00000000: {ir_id: import_ir00000002, inst_id: inst6000000F}
-// CHECK:STDOUT:     import_ir_inst00000001: {ir_id: import_ir00000002, inst_id: inst6000000F}
+// CHECK:STDOUT:     import_ir_inst00000000: {ir_id: import_ir50000002, inst_id: inst6000000F}
+// CHECK:STDOUT:     import_ir_inst00000001: {ir_id: import_ir50000002, inst_id: inst6000000F}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:     name_scope00000000: {inst: inst0000000E, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}}
 // CHECK:STDOUT:     name_scope00000000: {inst: inst0000000E, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}}

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

@@ -110,10 +110,10 @@ fn B() {
 // CHECK:STDOUT:   import_irs:
 // CHECK:STDOUT:   import_irs:
 // CHECK:STDOUT:     'import_ir(ApiForImpl)': {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(Cpp)':  {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     import_ir00000002: {decl_id: inst5000000F, is_export: false}
+// CHECK:STDOUT:     import_ir50000002: {decl_id: inst5000000F, is_export: false}
 // CHECK:STDOUT:   import_ir_insts:
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst00000000: {ir_id: import_ir00000002, inst_id: inst6000000F}
-// CHECK:STDOUT:     import_ir_inst00000001: {ir_id: import_ir00000002, inst_id: inst6000000F}
+// CHECK:STDOUT:     import_ir_inst00000000: {ir_id: import_ir50000002, inst_id: inst6000000F}
+// CHECK:STDOUT:     import_ir_inst00000001: {ir_id: import_ir50000002, inst_id: inst6000000F}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:     name_scope00000000: {inst: inst0000000E, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}}
 // CHECK:STDOUT:     name_scope00000000: {inst: inst0000000E, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name00000001: inst50000010, name00000000: inst50000011}}

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

@@ -23,199 +23,199 @@ fn Foo[T:! type](p: T*) -> (T*, ()) {
 // CHECK:STDOUT:   import_irs:
 // CHECK:STDOUT:   import_irs:
 // CHECK:STDOUT:     'import_ir(ApiForImpl)': {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(Cpp)':  {decl_id: inst<none>, is_export: false}
-// CHECK:STDOUT:     import_ir00000002: {decl_id: inst6000000F, is_export: false}
-// CHECK:STDOUT:     import_ir00000003: {decl_id: inst6000000F, is_export: false}
-// CHECK:STDOUT:     import_ir00000004: {decl_id: inst6000000F, is_export: false}
-// CHECK:STDOUT:     import_ir00000005: {decl_id: inst6000000F, is_export: false}
+// CHECK:STDOUT:     import_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_ir_insts:
 // CHECK:STDOUT:   import_ir_insts:
-// CHECK:STDOUT:     import_ir_inst00000000: {ir_id: import_ir00000004, inst_id: inst4800000F}
-// CHECK:STDOUT:     import_ir_inst00000001: {ir_id: import_ir00000004, inst_id: inst4800000F}
-// CHECK:STDOUT:     import_ir_inst00000002: {ir_id: import_ir00000004, inst_id: inst48000011}
-// CHECK:STDOUT:     import_ir_inst00000003: {ir_id: import_ir00000004, inst_id: inst4800002D}
-// CHECK:STDOUT:     import_ir_inst00000004: {ir_id: import_ir00000004, inst_id: inst48000028}
-// CHECK:STDOUT:     import_ir_inst00000005: {ir_id: import_ir00000004, inst_id: inst48000028}
-// CHECK:STDOUT:     import_ir_inst00000006: {ir_id: import_ir00000004, inst_id: inst48000028}
-// CHECK:STDOUT:     import_ir_inst00000007: {ir_id: import_ir00000004, inst_id: inst48000022}
-// CHECK:STDOUT:     import_ir_inst00000008: {ir_id: import_ir00000004, inst_id: inst48000023}
-// CHECK:STDOUT:     import_ir_inst00000009: {ir_id: import_ir00000004, inst_id: inst4800001C}
-// CHECK:STDOUT:     import_ir_inst0000000A: {ir_id: import_ir00000004, inst_id: inst4800001E}
-// CHECK:STDOUT:     import_ir_inst0000000B: {ir_id: import_ir00000004, inst_id: inst48000011}
-// CHECK:STDOUT:     import_ir_inst0000000C: {ir_id: import_ir00000004, inst_id: inst48000015}
-// CHECK:STDOUT:     import_ir_inst0000000D: {ir_id: import_ir00000004, inst_id: inst48000018}
-// CHECK:STDOUT:     import_ir_inst0000000E: {ir_id: import_ir00000004, inst_id: inst4800001D}
-// CHECK:STDOUT:     import_ir_inst0000000F: {ir_id: import_ir00000004, inst_id: inst48000061}
-// CHECK:STDOUT:     import_ir_inst00000010: {ir_id: import_ir00000004, inst_id: inst4800005F}
-// CHECK:STDOUT:     import_ir_inst00000011: {ir_id: import_ir00000004, inst_id: inst48000054}
-// CHECK:STDOUT:     import_ir_inst00000012: {ir_id: import_ir00000004, inst_id: inst48000050}
-// CHECK:STDOUT:     import_ir_inst00000013: {ir_id: import_ir00000004, inst_id: inst4800005A}
-// CHECK:STDOUT:     import_ir_inst00000014: {ir_id: import_ir00000004, inst_id: inst4800005D}
-// CHECK:STDOUT:     import_ir_inst00000015: {ir_id: import_ir00000004, inst_id: inst48000075}
-// CHECK:STDOUT:     import_ir_inst00000016: {ir_id: import_ir00000004, inst_id: inst48000060}
-// CHECK:STDOUT:     import_ir_inst00000017: {ir_id: import_ir00000004, inst_id: inst48000052}
-// CHECK:STDOUT:     import_ir_inst00000018: {ir_id: import_ir00000004, inst_id: inst48000058}
-// CHECK:STDOUT:     import_ir_inst00000019: {ir_id: import_ir00000004, inst_id: inst4800005C}
-// CHECK:STDOUT:     import_ir_inst0000001A: {ir_id: import_ir00000004, inst_id: inst48000063}
-// CHECK:STDOUT:     import_ir_inst0000001B: {ir_id: import_ir00000004, inst_id: inst48000075}
-// CHECK:STDOUT:     import_ir_inst0000001C: {ir_id: import_ir00000004, inst_id: inst48000070}
-// CHECK:STDOUT:     import_ir_inst0000001D: {ir_id: import_ir00000004, inst_id: inst48000071}
-// CHECK:STDOUT:     import_ir_inst0000001E: {ir_id: import_ir00000004, inst_id: inst4800006C}
-// CHECK:STDOUT:     import_ir_inst0000001F: {ir_id: import_ir00000004, inst_id: inst4800006E}
-// CHECK:STDOUT:     import_ir_inst00000020: {ir_id: import_ir00000004, inst_id: inst48000050}
-// CHECK:STDOUT:     import_ir_inst00000021: {ir_id: import_ir00000004, inst_id: inst48000078}
-// CHECK:STDOUT:     import_ir_inst00000022: {ir_id: import_ir00000004, inst_id: inst48000079}
-// CHECK:STDOUT:     import_ir_inst00000023: {ir_id: import_ir00000004, inst_id: inst48000067}
-// CHECK:STDOUT:     import_ir_inst00000024: {ir_id: import_ir00000004, inst_id: inst48000068}
-// CHECK:STDOUT:     import_ir_inst00000025: {ir_id: import_ir00000004, inst_id: inst48000069}
-// CHECK:STDOUT:     import_ir_inst00000026: {ir_id: import_ir00000004, inst_id: inst4800006D}
-// CHECK:STDOUT:     import_ir_inst00000027: {ir_id: import_ir00000004, inst_id: inst4800007D}
-// CHECK:STDOUT:     import_ir_inst00000028: {ir_id: import_ir00000004, inst_id: inst48000085}
-// CHECK:STDOUT:     import_ir_inst00000029: {ir_id: import_ir00000004, inst_id: inst4800008C}
-// CHECK:STDOUT:     import_ir_inst0000002A: {ir_id: import_ir00000004, inst_id: inst48000090}
-// CHECK:STDOUT:     import_ir_inst0000002B: {ir_id: import_ir00000004, inst_id: inst48000091}
-// CHECK:STDOUT:     import_ir_inst0000002C: {ir_id: import_ir00000004, inst_id: inst48000096}
-// CHECK:STDOUT:     import_ir_inst0000002D: {ir_id: import_ir00000004, inst_id: inst480000AB}
-// CHECK:STDOUT:     import_ir_inst0000002E: {ir_id: import_ir00000004, inst_id: inst480000A9}
-// CHECK:STDOUT:     import_ir_inst0000002F: {ir_id: import_ir00000004, inst_id: inst480000A7}
-// CHECK:STDOUT:     import_ir_inst00000030: {ir_id: import_ir00000004, inst_id: inst480000A8}
-// CHECK:STDOUT:     import_ir_inst00000031: {ir_id: import_ir00000004, inst_id: inst480000C3}
-// CHECK:STDOUT:     import_ir_inst00000032: {ir_id: import_ir00000004, inst_id: inst480000C1}
-// CHECK:STDOUT:     import_ir_inst00000033: {ir_id: import_ir00000004, inst_id: inst480000BF}
-// CHECK:STDOUT:     import_ir_inst00000034: {ir_id: import_ir00000004, inst_id: inst480000C0}
-// CHECK:STDOUT:     import_ir_inst00000035: {ir_id: import_ir00000004, inst_id: inst480000DB}
-// CHECK:STDOUT:     import_ir_inst00000036: {ir_id: import_ir00000004, inst_id: inst480000D9}
-// CHECK:STDOUT:     import_ir_inst00000037: {ir_id: import_ir00000004, inst_id: inst480000D7}
-// CHECK:STDOUT:     import_ir_inst00000038: {ir_id: import_ir00000004, inst_id: inst480000D8}
-// CHECK:STDOUT:     import_ir_inst00000039: {ir_id: import_ir00000004, inst_id: inst480000F3}
-// CHECK:STDOUT:     import_ir_inst0000003A: {ir_id: import_ir00000004, inst_id: inst480000F1}
-// CHECK:STDOUT:     import_ir_inst0000003B: {ir_id: import_ir00000004, inst_id: inst480000EF}
-// CHECK:STDOUT:     import_ir_inst0000003C: {ir_id: import_ir00000004, inst_id: inst480000F0}
-// CHECK:STDOUT:     import_ir_inst0000003D: {ir_id: import_ir00000004, inst_id: inst48000110}
-// CHECK:STDOUT:     import_ir_inst0000003E: {ir_id: import_ir00000004, inst_id: inst4800010E}
-// CHECK:STDOUT:     import_ir_inst0000003F: {ir_id: import_ir00000004, inst_id: inst48000108}
-// CHECK:STDOUT:     import_ir_inst00000040: {ir_id: import_ir00000004, inst_id: inst48000105}
-// CHECK:STDOUT:     import_ir_inst00000041: {ir_id: import_ir00000004, inst_id: inst4800010A}
-// CHECK:STDOUT:     import_ir_inst00000042: {ir_id: import_ir00000004, inst_id: inst4800010D}
-// CHECK:STDOUT:     import_ir_inst00000043: {ir_id: import_ir00000004, inst_id: inst48000121}
-// CHECK:STDOUT:     import_ir_inst00000044: {ir_id: import_ir00000004, inst_id: inst4800010F}
-// CHECK:STDOUT:     import_ir_inst00000045: {ir_id: import_ir00000004, inst_id: inst48000107}
-// CHECK:STDOUT:     import_ir_inst00000046: {ir_id: import_ir00000004, inst_id: inst4800010C}
-// CHECK:STDOUT:     import_ir_inst00000047: {ir_id: import_ir00000004, inst_id: inst48000112}
-// CHECK:STDOUT:     import_ir_inst00000048: {ir_id: import_ir00000004, inst_id: inst48000121}
-// CHECK:STDOUT:     import_ir_inst00000049: {ir_id: import_ir00000004, inst_id: inst4800011C}
-// CHECK:STDOUT:     import_ir_inst0000004A: {ir_id: import_ir00000004, inst_id: inst4800011D}
-// CHECK:STDOUT:     import_ir_inst0000004B: {ir_id: import_ir00000004, inst_id: inst48000118}
-// CHECK:STDOUT:     import_ir_inst0000004C: {ir_id: import_ir00000004, inst_id: inst4800011A}
-// CHECK:STDOUT:     import_ir_inst0000004D: {ir_id: import_ir00000004, inst_id: inst48000105}
-// CHECK:STDOUT:     import_ir_inst0000004E: {ir_id: import_ir00000004, inst_id: inst48000124}
-// CHECK:STDOUT:     import_ir_inst0000004F: {ir_id: import_ir00000004, inst_id: inst48000125}
-// CHECK:STDOUT:     import_ir_inst00000050: {ir_id: import_ir00000004, inst_id: inst48000128}
-// CHECK:STDOUT:     import_ir_inst00000051: {ir_id: import_ir00000004, inst_id: inst48000114}
-// CHECK:STDOUT:     import_ir_inst00000052: {ir_id: import_ir00000004, inst_id: inst48000115}
-// CHECK:STDOUT:     import_ir_inst00000053: {ir_id: import_ir00000004, inst_id: inst48000119}
-// CHECK:STDOUT:     import_ir_inst00000054: {ir_id: import_ir00000004, inst_id: inst4800012E}
-// CHECK:STDOUT:     import_ir_inst00000055: {ir_id: import_ir00000004, inst_id: inst4800012C}
-// CHECK:STDOUT:     import_ir_inst00000056: {ir_id: import_ir00000004, inst_id: inst(TypeType)}
-// CHECK:STDOUT:     import_ir_inst00000057: {ir_id: import_ir00000004, inst_id: inst4800012B}
-// CHECK:STDOUT:     import_ir_inst00000058: {ir_id: import_ir00000004, inst_id: inst48000143}
-// CHECK:STDOUT:     import_ir_inst00000059: {ir_id: import_ir00000004, inst_id: inst48000141}
-// CHECK:STDOUT:     import_ir_inst0000005A: {ir_id: import_ir00000004, inst_id: inst4800013F}
-// CHECK:STDOUT:     import_ir_inst0000005B: {ir_id: import_ir00000004, inst_id: inst48000140}
-// CHECK:STDOUT:     import_ir_inst0000005C: {ir_id: import_ir00000004, inst_id: inst48000173}
-// CHECK:STDOUT:     import_ir_inst0000005D: {ir_id: import_ir00000004, inst_id: inst48000171}
-// CHECK:STDOUT:     import_ir_inst0000005E: {ir_id: import_ir00000004, inst_id: inst4800015E}
-// CHECK:STDOUT:     import_ir_inst0000005F: {ir_id: import_ir00000004, inst_id: inst48000158}
-// CHECK:STDOUT:     import_ir_inst00000060: {ir_id: import_ir00000004, inst_id: inst48000156}
-// CHECK:STDOUT:     import_ir_inst00000061: {ir_id: import_ir00000004, inst_id: inst4800015B}
-// CHECK:STDOUT:     import_ir_inst00000062: {ir_id: import_ir00000004, inst_id: inst4800016C}
-// CHECK:STDOUT:     import_ir_inst00000063: {ir_id: import_ir00000004, inst_id: inst4800016E}
-// CHECK:STDOUT:     import_ir_inst00000064: {ir_id: import_ir00000004, inst_id: inst4800018B}
-// CHECK:STDOUT:     import_ir_inst00000065: {ir_id: import_ir00000004, inst_id: inst48000172}
-// CHECK:STDOUT:     import_ir_inst00000066: {ir_id: import_ir00000004, inst_id: inst48000157}
-// CHECK:STDOUT:     import_ir_inst00000067: {ir_id: import_ir00000004, inst_id: inst4800015D}
-// CHECK:STDOUT:     import_ir_inst00000068: {ir_id: import_ir00000004, inst_id: inst48000165}
-// CHECK:STDOUT:     import_ir_inst00000069: {ir_id: import_ir00000004, inst_id: inst48000169}
-// CHECK:STDOUT:     import_ir_inst0000006A: {ir_id: import_ir00000004, inst_id: inst4800016D}
-// CHECK:STDOUT:     import_ir_inst0000006B: {ir_id: import_ir00000004, inst_id: inst48000175}
-// CHECK:STDOUT:     import_ir_inst0000006C: {ir_id: import_ir00000004, inst_id: inst4800018B}
-// CHECK:STDOUT:     import_ir_inst0000006D: {ir_id: import_ir00000004, inst_id: inst48000186}
-// CHECK:STDOUT:     import_ir_inst0000006E: {ir_id: import_ir00000004, inst_id: inst48000187}
-// CHECK:STDOUT:     import_ir_inst0000006F: {ir_id: import_ir00000004, inst_id: inst48000182}
-// CHECK:STDOUT:     import_ir_inst00000070: {ir_id: import_ir00000004, inst_id: inst48000184}
-// CHECK:STDOUT:     import_ir_inst00000071: {ir_id: import_ir00000004, inst_id: inst48000156}
-// CHECK:STDOUT:     import_ir_inst00000072: {ir_id: import_ir00000004, inst_id: inst4800015B}
-// CHECK:STDOUT:     import_ir_inst00000073: {ir_id: import_ir00000004, inst_id: inst4800018E}
-// CHECK:STDOUT:     import_ir_inst00000074: {ir_id: import_ir00000004, inst_id: inst4800018F}
-// CHECK:STDOUT:     import_ir_inst00000075: {ir_id: import_ir00000004, inst_id: inst4800017B}
-// CHECK:STDOUT:     import_ir_inst00000076: {ir_id: import_ir00000004, inst_id: inst4800017C}
-// CHECK:STDOUT:     import_ir_inst00000077: {ir_id: import_ir00000004, inst_id: inst4800017D}
-// CHECK:STDOUT:     import_ir_inst00000078: {ir_id: import_ir00000004, inst_id: inst4800017E}
-// CHECK:STDOUT:     import_ir_inst00000079: {ir_id: import_ir00000004, inst_id: inst4800017F}
-// CHECK:STDOUT:     import_ir_inst0000007A: {ir_id: import_ir00000004, inst_id: inst48000183}
-// CHECK:STDOUT:     import_ir_inst0000007B: {ir_id: import_ir00000004, inst_id: inst48000194}
-// CHECK:STDOUT:     import_ir_inst0000007C: {ir_id: import_ir00000004, inst_id: inst4800019C}
-// CHECK:STDOUT:     import_ir_inst0000007D: {ir_id: import_ir00000004, inst_id: inst480001A0}
-// CHECK:STDOUT:     import_ir_inst0000007E: {ir_id: import_ir00000004, inst_id: inst480001A2}
-// CHECK:STDOUT:     import_ir_inst0000007F: {ir_id: import_ir00000004, inst_id: inst480001A3}
-// CHECK:STDOUT:     import_ir_inst00000080: {ir_id: import_ir00000004, inst_id: inst480001A6}
-// CHECK:STDOUT:     import_ir_inst00000081: {ir_id: import_ir00000004, inst_id: inst480001B2}
-// CHECK:STDOUT:     import_ir_inst00000082: {ir_id: import_ir00000004, inst_id: inst480001B7}
-// CHECK:STDOUT:     import_ir_inst00000083: {ir_id: import_ir00000004, inst_id: inst480001BB}
-// CHECK:STDOUT:     import_ir_inst00000084: {ir_id: import_ir00000004, inst_id: inst480001BC}
-// CHECK:STDOUT:     import_ir_inst00000085: {ir_id: import_ir00000004, inst_id: inst480001C1}
-// CHECK:STDOUT:     import_ir_inst00000086: {ir_id: import_ir00000004, inst_id: inst480001FA}
-// CHECK:STDOUT:     import_ir_inst00000087: {ir_id: import_ir00000004, inst_id: inst480001F8}
-// CHECK:STDOUT:     import_ir_inst00000088: {ir_id: import_ir00000004, inst_id: inst480001E0}
-// CHECK:STDOUT:     import_ir_inst00000089: {ir_id: import_ir00000004, inst_id: inst480001DA}
-// CHECK:STDOUT:     import_ir_inst0000008A: {ir_id: import_ir00000004, inst_id: inst480001D5}
-// CHECK:STDOUT:     import_ir_inst0000008B: {ir_id: import_ir00000004, inst_id: inst480001D3}
-// CHECK:STDOUT:     import_ir_inst0000008C: {ir_id: import_ir00000004, inst_id: inst480001D8}
-// CHECK:STDOUT:     import_ir_inst0000008D: {ir_id: import_ir00000004, inst_id: inst480001DD}
-// CHECK:STDOUT:     import_ir_inst0000008E: {ir_id: import_ir00000004, inst_id: inst480001F2}
-// CHECK:STDOUT:     import_ir_inst0000008F: {ir_id: import_ir00000004, inst_id: inst480001F4}
-// CHECK:STDOUT:     import_ir_inst00000090: {ir_id: import_ir00000004, inst_id: inst48000216}
-// CHECK:STDOUT:     import_ir_inst00000091: {ir_id: import_ir00000004, inst_id: inst480001F9}
-// CHECK:STDOUT:     import_ir_inst00000092: {ir_id: import_ir00000004, inst_id: inst480001D4}
-// CHECK:STDOUT:     import_ir_inst00000093: {ir_id: import_ir00000004, inst_id: inst480001D9}
-// CHECK:STDOUT:     import_ir_inst00000094: {ir_id: import_ir00000004, inst_id: inst480001DF}
-// CHECK:STDOUT:     import_ir_inst00000095: {ir_id: import_ir00000004, inst_id: inst480001E8}
-// CHECK:STDOUT:     import_ir_inst00000096: {ir_id: import_ir00000004, inst_id: inst480001EB}
-// CHECK:STDOUT:     import_ir_inst00000097: {ir_id: import_ir00000004, inst_id: inst480001EF}
-// CHECK:STDOUT:     import_ir_inst00000098: {ir_id: import_ir00000004, inst_id: inst480001F3}
-// CHECK:STDOUT:     import_ir_inst00000099: {ir_id: import_ir00000004, inst_id: inst480001FC}
-// CHECK:STDOUT:     import_ir_inst0000009A: {ir_id: import_ir00000004, inst_id: inst48000216}
-// CHECK:STDOUT:     import_ir_inst0000009B: {ir_id: import_ir00000004, inst_id: inst48000211}
-// CHECK:STDOUT:     import_ir_inst0000009C: {ir_id: import_ir00000004, inst_id: inst48000212}
-// CHECK:STDOUT:     import_ir_inst0000009D: {ir_id: import_ir00000004, inst_id: inst4800020D}
-// CHECK:STDOUT:     import_ir_inst0000009E: {ir_id: import_ir00000004, inst_id: inst4800020F}
-// CHECK:STDOUT:     import_ir_inst0000009F: {ir_id: import_ir00000004, inst_id: inst480001D3}
-// CHECK:STDOUT:     import_ir_inst000000A0: {ir_id: import_ir00000004, inst_id: inst480001D8}
-// CHECK:STDOUT:     import_ir_inst000000A1: {ir_id: import_ir00000004, inst_id: inst480001DD}
-// CHECK:STDOUT:     import_ir_inst000000A2: {ir_id: import_ir00000004, inst_id: inst48000219}
-// CHECK:STDOUT:     import_ir_inst000000A3: {ir_id: import_ir00000004, inst_id: inst4800021A}
-// CHECK:STDOUT:     import_ir_inst000000A4: {ir_id: import_ir00000004, inst_id: inst48000204}
-// CHECK:STDOUT:     import_ir_inst000000A5: {ir_id: import_ir00000004, inst_id: inst48000205}
-// CHECK:STDOUT:     import_ir_inst000000A6: {ir_id: import_ir00000004, inst_id: inst48000206}
-// CHECK:STDOUT:     import_ir_inst000000A7: {ir_id: import_ir00000004, inst_id: inst48000207}
-// CHECK:STDOUT:     import_ir_inst000000A8: {ir_id: import_ir00000004, inst_id: inst48000208}
-// CHECK:STDOUT:     import_ir_inst000000A9: {ir_id: import_ir00000004, inst_id: inst48000209}
-// CHECK:STDOUT:     import_ir_inst000000AA: {ir_id: import_ir00000004, inst_id: inst4800020A}
-// CHECK:STDOUT:     import_ir_inst000000AB: {ir_id: import_ir00000004, inst_id: inst4800020E}
-// CHECK:STDOUT:     import_ir_inst000000AC: {ir_id: import_ir00000004, inst_id: inst4800021F}
-// CHECK:STDOUT:     import_ir_inst000000AD: {ir_id: import_ir00000004, inst_id: inst48000226}
-// CHECK:STDOUT:     import_ir_inst000000AE: {ir_id: import_ir00000004, inst_id: inst4800022A}
-// CHECK:STDOUT:     import_ir_inst000000AF: {ir_id: import_ir00000004, inst_id: inst4800022C}
-// CHECK:STDOUT:     import_ir_inst000000B0: {ir_id: import_ir00000004, inst_id: inst4800022D}
-// CHECK:STDOUT:     import_ir_inst000000B1: {ir_id: import_ir00000004, inst_id: inst48000230}
-// CHECK:STDOUT:     import_ir_inst000000B2: {ir_id: import_ir00000004, inst_id: inst4800023A}
-// CHECK:STDOUT:     import_ir_inst000000B3: {ir_id: import_ir00000004, inst_id: inst4800023E}
-// CHECK:STDOUT:     import_ir_inst000000B4: {ir_id: import_ir00000004, inst_id: inst48000240}
-// CHECK:STDOUT:     import_ir_inst000000B5: {ir_id: import_ir00000004, inst_id: inst48000241}
-// CHECK:STDOUT:     import_ir_inst000000B6: {ir_id: import_ir00000004, inst_id: inst48000244}
-// CHECK:STDOUT:     import_ir_inst000000B7: {ir_id: import_ir00000004, inst_id: inst48000250}
-// CHECK:STDOUT:     import_ir_inst000000B8: {ir_id: import_ir00000004, inst_id: inst48000255}
-// CHECK:STDOUT:     import_ir_inst000000B9: {ir_id: import_ir00000004, inst_id: inst48000259}
-// CHECK:STDOUT:     import_ir_inst000000BA: {ir_id: import_ir00000004, inst_id: inst4800025A}
-// CHECK:STDOUT:     import_ir_inst000000BB: {ir_id: import_ir00000004, inst_id: inst4800025F}
+// CHECK:STDOUT:     import_ir_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_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:   clang_decls:     {}
 // CHECK:STDOUT:   clang_decls:     {}
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:   name_scopes:
 // CHECK:STDOUT:     name_scope00000000: {inst: inst0000000E, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name(Core): inst60000010, name00000000: inst60000035}}
 // CHECK:STDOUT:     name_scope00000000: {inst: inst0000000E, parent_scope: name_scope<none>, has_error: false, extended_scopes: [], names: {name(Core): inst60000010, name00000000: inst60000035}}

+ 3 - 0
toolchain/sem_ir/file.cpp

@@ -48,6 +48,9 @@ File::File(const Parse::Tree* parse_tree, CheckIRId check_ir_id,
       specific_interfaces_(check_ir_id),
       specific_interfaces_(check_ir_id),
       generics_(check_ir_id),
       generics_(check_ir_id),
       specifics_(check_ir_id),
       specifics_(check_ir_id),
+      // The `2` prevents adding a tag for the global ids
+      // `ImportIRId::{ApiForImpl,Cpp}`.
+      import_irs_(IdTag(check_ir_id.index, 2)),
       // The `+1` prevents adding a tag to the global `NameSpace::PackageInstId`
       // The `+1` prevents adding a tag to the global `NameSpace::PackageInstId`
       // instruction. It's not a "singleton" instruction, but it's a unique
       // instruction. It's not a "singleton" instruction, but it's a unique
       // instruction id that comes right after the singletons.
       // instruction id that comes right after the singletons.