Skip to content

Commit 79dd1e3

Browse files
dwblaikiedanakj
andauthored
Add unit tagging to InstBlockId (#6259)
Co-authored-by: Dana Jansens <[email protected]>
1 parent 22580a4 commit 79dd1e3

File tree

13 files changed

+270
-256
lines changed

13 files changed

+270
-256
lines changed

toolchain/base/block_value_store.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ class BlockValueStore : public Yaml::Printable<BlockValueStore<IdT, ElementT>> {
3030
using RefType = llvm::MutableArrayRef<ElementT>;
3131
using ConstRefType = llvm::ArrayRef<ElementT>;
3232

33-
explicit BlockValueStore(llvm::BumpPtrAllocator& allocator)
34-
: allocator_(&allocator) {
33+
explicit BlockValueStore(llvm::BumpPtrAllocator& allocator,
34+
IdTag tag = IdTag())
35+
: allocator_(&allocator), values_(tag) {
3536
auto empty = RefType();
3637
auto empty_val = canonical_blocks_.Insert(
3738
empty, [&] { return values_.Add(empty); }, KeyContext(this));
@@ -107,6 +108,8 @@ class BlockValueStore : public Yaml::Printable<BlockValueStore<IdT, ElementT>> {
107108

108109
auto size() const -> int { return values_.size(); }
109110

111+
auto GetRawIndex(IdT id) const -> int { return values_.GetRawIndex(id); }
112+
110113
protected:
111114
// Allocates a copy of the given data using our slab allocator.
112115
auto AllocateCopy(ConstRefType data) -> RefType {

toolchain/base/value_store.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ struct IdTag {
4444
// doesn't collide with anything else (though with the
4545
// second-highest-bit-tagging this might not be needed).
4646
id_tag_(llvm::reverseBits((((id_index + 1) << 1) | 1) << 1)),
47-
initial_reserved_ids_(initial_reserved_ids) {}
47+
initial_reserved_ids_(initial_reserved_ids) {
48+
CARBON_CHECK(
49+
id_index != -1,
50+
"IdTag should be default constructed if no tagging id is available.");
51+
}
4852

4953
auto Apply(int32_t index) const -> int32_t {
5054
if (index < initial_reserved_ids_) {

toolchain/check/testdata/basics/raw_sem_ir/builtins.carbon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,6 @@
7575
// CHECK:STDOUT: exports: {}
7676
// CHECK:STDOUT: imports: {}
7777
// CHECK:STDOUT: global_init: {}
78-
// CHECK:STDOUT: inst_block00000004:
78+
// CHECK:STDOUT: inst_block60000004:
7979
// CHECK:STDOUT: 0: inst0000000E
8080
// CHECK:STDOUT: ...

toolchain/check/testdata/basics/raw_sem_ir/cpp_interop.carbon

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@ fn G(x: Cpp.X) {
6363
// CHECK:STDOUT: cpp_global_vars:
6464
// CHECK:STDOUT: cpp_global_var00000000: {key: {entity_name_id: entity_name60000003}, clang_decl_id: clang_decl_id00000007}
6565
// CHECK:STDOUT: functions:
66-
// CHECK:STDOUT: function60000000: {name: name00000001, parent_scope: name_scope00000000, call_params_id: inst_block00000006, body: [inst_block00000009]}
66+
// CHECK:STDOUT: function60000000: {name: name00000001, parent_scope: name_scope00000000, call_params_id: inst_block60000006, body: [inst_block60000009]}
6767
// CHECK:STDOUT: function60000001: {name: name00000004, parent_scope: name_scope60000001, call_params_id: inst_block_empty}
6868
// CHECK:STDOUT: function60000002: {name: name00000007, parent_scope: name_scope60000001, call_params_id: inst_block_empty}
69-
// CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope60000001, call_params_id: inst_block0000000D}
70-
// CHECK:STDOUT: function60000004: {name: name00000007, parent_scope: name_scope60000001, call_params_id: inst_block00000012}
69+
// CHECK:STDOUT: function60000003: {name: name00000004, parent_scope: name_scope60000001, call_params_id: inst_block6000000D}
70+
// CHECK:STDOUT: function60000004: {name: name00000007, parent_scope: name_scope60000001, call_params_id: inst_block60000012}
7171
// CHECK:STDOUT: classes:
72-
// 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_block0000000A, adapt_id: inst<none>, base_id: inst<none>, complete_type_witness_id: inst60000024, vtable_decl_id: inst<none>}}
72+
// 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<none>, base_id: inst<none>, complete_type_witness_id: inst60000024, vtable_decl_id: inst<none>}}
7373
// CHECK:STDOUT: generics: {}
7474
// CHECK:STDOUT: specifics: {}
7575
// CHECK:STDOUT: struct_type_fields:
@@ -136,8 +136,8 @@ fn G(x: Cpp.X) {
136136
// CHECK:STDOUT: inst60000017: {kind: BindingPattern, arg0: entity_name60000000, type: type(inst60000016)}
137137
// CHECK:STDOUT: inst60000018: {kind: ValueParamPattern, arg0: inst60000017, arg1: call_param0, type: type(inst60000016)}
138138
// CHECK:STDOUT: inst60000019: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000013)}
139-
// CHECK:STDOUT: inst6000001A: {kind: SpliceBlock, arg0: inst_block00000004, arg1: inst60000014, type: type(TypeType)}
140-
// CHECK:STDOUT: inst6000001B: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block00000008, type: type(inst6000001C)}
139+
// CHECK:STDOUT: inst6000001A: {kind: SpliceBlock, arg0: inst_block60000004, arg1: inst60000014, type: type(TypeType)}
140+
// CHECK:STDOUT: inst6000001B: {kind: FunctionDecl, arg0: function60000000, arg1: inst_block60000008, type: type(inst6000001C)}
141141
// CHECK:STDOUT: inst6000001C: {kind: FunctionType, arg0: function60000000, arg1: specific<none>, type: type(TypeType)}
142142
// CHECK:STDOUT: inst6000001D: {kind: TupleType, arg0: inst_block_empty, type: type(TypeType)}
143143
// CHECK:STDOUT: inst6000001E: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000001C)}
@@ -168,34 +168,34 @@ fn G(x: Cpp.X) {
168168
// CHECK:STDOUT: inst60000037: {kind: BindingPattern, arg0: entity_name60000001, type: type(inst60000016)}
169169
// CHECK:STDOUT: inst60000038: {kind: ValueParamPattern, arg0: inst60000037, arg1: call_param0, type: type(inst60000016)}
170170
// CHECK:STDOUT: inst60000039: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst60000013)}
171-
// CHECK:STDOUT: inst6000003A: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block0000000F, type: type(inst6000003B)}
171+
// CHECK:STDOUT: inst6000003A: {kind: FunctionDecl, arg0: function60000003, arg1: inst_block6000000F, type: type(inst6000003B)}
172172
// CHECK:STDOUT: inst6000003B: {kind: FunctionType, arg0: function60000003, arg1: specific<none>, type: type(TypeType)}
173173
// CHECK:STDOUT: inst6000003C: {kind: StructValue, arg0: inst_block_empty, type: type(inst6000003B)}
174174
// CHECK:STDOUT: inst6000003D: {kind: BindName, arg0: entity_name60000002, arg1: inst60000041, type: type(inst6000001F)}
175175
// CHECK:STDOUT: inst6000003E: {kind: PatternType, arg0: inst6000001F, type: type(TypeType)}
176176
// CHECK:STDOUT: inst6000003F: {kind: BindingPattern, arg0: entity_name60000002, type: type(inst6000003E)}
177177
// CHECK:STDOUT: inst60000040: {kind: ValueParamPattern, arg0: inst6000003F, arg1: call_param0, type: type(inst6000003E)}
178178
// CHECK:STDOUT: inst60000041: {kind: ValueParam, arg0: call_param0, arg1: name00000002, type: type(inst6000001F)}
179-
// CHECK:STDOUT: inst60000042: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block00000014, type: type(inst60000043)}
179+
// CHECK:STDOUT: inst60000042: {kind: FunctionDecl, arg0: function60000004, arg1: inst_block60000014, type: type(inst60000043)}
180180
// CHECK:STDOUT: inst60000043: {kind: FunctionType, arg0: function60000004, arg1: specific<none>, type: type(TypeType)}
181181
// CHECK:STDOUT: inst60000044: {kind: StructValue, arg0: inst_block_empty, type: type(inst60000043)}
182182
// CHECK:STDOUT: inst60000045: {kind: ValueAsRef, arg0: inst60000035, type: type(inst60000013)}
183183
// CHECK:STDOUT: inst60000046: {kind: AddrOf, arg0: inst60000045, type: type(inst6000001F)}
184-
// CHECK:STDOUT: inst60000047: {kind: Call, arg0: inst60000042, arg1: inst_block00000016, type: type(inst6000001D)}
184+
// CHECK:STDOUT: inst60000047: {kind: Call, arg0: inst60000042, arg1: inst_block60000016, type: type(inst6000001D)}
185185
// CHECK:STDOUT: inst60000048: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))}
186186
// CHECK:STDOUT: inst60000049: {kind: NameRef, arg0: name00000004, arg1: inst60000029, type: type(inst60000028)}
187187
// CHECK:STDOUT: inst6000004A: {kind: NameRef, arg0: name00000000, arg1: inst60000010, type: type(inst(NamespaceType))}
188188
// CHECK:STDOUT: inst6000004B: {kind: VarStorage, arg0: inst6000004D, type: type(inst6000001F)}
189189
// CHECK:STDOUT: inst6000004C: {kind: BindingPattern, arg0: entity_name60000003, type: type(inst6000003E)}
190190
// CHECK:STDOUT: inst6000004D: {kind: VarPattern, arg0: inst6000004C, type: type(inst6000003E)}
191-
// CHECK:STDOUT: inst6000004E: {kind: NameBindingDecl, arg0: inst_block00000017}
191+
// CHECK:STDOUT: inst6000004E: {kind: NameBindingDecl, arg0: inst_block60000017}
192192
// CHECK:STDOUT: inst6000004F: {kind: NameRef, arg0: name00000005, arg1: inst6000004B, type: type(inst6000001F)}
193193
// CHECK:STDOUT: inst60000050: {kind: BindValue, arg0: inst6000004F, type: type(inst6000001F)}
194194
// CHECK:STDOUT: inst60000051: {kind: Deref, arg0: inst60000050, type: type(inst60000013)}
195195
// CHECK:STDOUT: inst60000052: {kind: BindValue, arg0: inst60000051, type: type(inst60000013)}
196196
// CHECK:STDOUT: inst60000053: {kind: ValueAsRef, arg0: inst60000052, type: type(inst60000013)}
197197
// CHECK:STDOUT: inst60000054: {kind: AddrOf, arg0: inst60000053, type: type(inst6000001F)}
198-
// CHECK:STDOUT: inst60000055: {kind: Call, arg0: inst60000042, arg1: inst_block00000019, type: type(inst6000001D)}
198+
// CHECK:STDOUT: inst60000055: {kind: Call, arg0: inst60000042, arg1: inst_block60000019, type: type(inst6000001D)}
199199
// CHECK:STDOUT: inst60000056: {kind: Return}
200200
// CHECK:STDOUT: constant_values:
201201
// CHECK:STDOUT: values:
@@ -282,21 +282,21 @@ fn G(x: Cpp.X) {
282282
// CHECK:STDOUT: 7: inst6000004E
283283
// CHECK:STDOUT: 8: inst6000004B
284284
// CHECK:STDOUT: global_init: {}
285-
// CHECK:STDOUT: inst_block00000004:
285+
// CHECK:STDOUT: inst_block60000004:
286286
// CHECK:STDOUT: 0: inst60000011
287287
// CHECK:STDOUT: 1: inst60000014
288-
// CHECK:STDOUT: inst_block00000005:
288+
// CHECK:STDOUT: inst_block60000005:
289289
// CHECK:STDOUT: 0: inst60000018
290-
// CHECK:STDOUT: inst_block00000006:
290+
// CHECK:STDOUT: inst_block60000006:
291291
// CHECK:STDOUT: 0: inst60000019
292-
// CHECK:STDOUT: inst_block00000007:
292+
// CHECK:STDOUT: inst_block60000007:
293293
// CHECK:STDOUT: 0: inst60000017
294294
// CHECK:STDOUT: 1: inst60000018
295-
// CHECK:STDOUT: inst_block00000008:
295+
// CHECK:STDOUT: inst_block60000008:
296296
// CHECK:STDOUT: 0: inst60000019
297297
// CHECK:STDOUT: 1: inst6000001A
298298
// CHECK:STDOUT: 2: inst60000015
299-
// CHECK:STDOUT: inst_block00000009:
299+
// CHECK:STDOUT: inst_block60000009:
300300
// CHECK:STDOUT: 0: inst60000027
301301
// CHECK:STDOUT: 1: inst6000002B
302302
// CHECK:STDOUT: 2: inst60000032
@@ -317,44 +317,44 @@ fn G(x: Cpp.X) {
317317
// CHECK:STDOUT: 17: inst60000054
318318
// CHECK:STDOUT: 18: inst60000055
319319
// CHECK:STDOUT: 19: inst60000056
320-
// CHECK:STDOUT: inst_block0000000A:
320+
// CHECK:STDOUT: inst_block6000000A:
321321
// CHECK:STDOUT: 0: inst60000021
322322
// CHECK:STDOUT: 1: inst60000022
323323
// CHECK:STDOUT: 2: inst60000024
324-
// CHECK:STDOUT: inst_block0000000B: {}
325-
// CHECK:STDOUT: inst_block0000000C:
324+
// CHECK:STDOUT: inst_block6000000B: {}
325+
// CHECK:STDOUT: inst_block6000000C:
326326
// CHECK:STDOUT: 0: inst60000038
327-
// CHECK:STDOUT: inst_block0000000D:
327+
// CHECK:STDOUT: inst_block6000000D:
328328
// CHECK:STDOUT: 0: inst60000039
329-
// CHECK:STDOUT: inst_block0000000E:
329+
// CHECK:STDOUT: inst_block6000000E:
330330
// CHECK:STDOUT: 0: inst60000037
331331
// CHECK:STDOUT: 1: inst60000038
332-
// CHECK:STDOUT: inst_block0000000F:
332+
// CHECK:STDOUT: inst_block6000000F:
333333
// CHECK:STDOUT: 0: inst60000039
334334
// CHECK:STDOUT: 1: inst60000036
335-
// CHECK:STDOUT: inst_block00000010: {}
336-
// CHECK:STDOUT: inst_block00000011:
335+
// CHECK:STDOUT: inst_block60000010: {}
336+
// CHECK:STDOUT: inst_block60000011:
337337
// CHECK:STDOUT: 0: inst60000040
338-
// CHECK:STDOUT: inst_block00000012:
338+
// CHECK:STDOUT: inst_block60000012:
339339
// CHECK:STDOUT: 0: inst60000041
340-
// CHECK:STDOUT: inst_block00000013:
340+
// CHECK:STDOUT: inst_block60000013:
341341
// CHECK:STDOUT: 0: inst6000003F
342342
// CHECK:STDOUT: 1: inst60000040
343-
// CHECK:STDOUT: inst_block00000014:
343+
// CHECK:STDOUT: inst_block60000014:
344344
// CHECK:STDOUT: 0: inst60000041
345345
// CHECK:STDOUT: 1: inst6000003D
346-
// CHECK:STDOUT: inst_block00000015:
346+
// CHECK:STDOUT: inst_block60000015:
347347
// CHECK:STDOUT: 0: inst60000035
348-
// CHECK:STDOUT: inst_block00000016:
348+
// CHECK:STDOUT: inst_block60000016:
349349
// CHECK:STDOUT: 0: inst60000046
350-
// CHECK:STDOUT: inst_block00000017:
350+
// CHECK:STDOUT: inst_block60000017:
351351
// CHECK:STDOUT: 0: inst6000004C
352352
// CHECK:STDOUT: 1: inst6000004D
353-
// CHECK:STDOUT: inst_block00000018:
353+
// CHECK:STDOUT: inst_block60000018:
354354
// CHECK:STDOUT: 0: inst60000052
355-
// CHECK:STDOUT: inst_block00000019:
355+
// CHECK:STDOUT: inst_block60000019:
356356
// CHECK:STDOUT: 0: inst60000054
357-
// CHECK:STDOUT: inst_block0000001A:
357+
// CHECK:STDOUT: inst_block6000001A:
358358
// CHECK:STDOUT: 0: inst0000000E
359359
// CHECK:STDOUT: 1: inst6000000F
360360
// CHECK:STDOUT: 2: inst6000001B

toolchain/check/testdata/basics/raw_sem_ir/multifile.carbon

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ fn B() {
4040
// CHECK:STDOUT: entity_names: {}
4141
// CHECK:STDOUT: cpp_global_vars: {}
4242
// CHECK:STDOUT: functions:
43-
// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block00000005]}
43+
// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block60000005]}
4444
// CHECK:STDOUT: classes: {}
4545
// CHECK:STDOUT: generics: {}
4646
// CHECK:STDOUT: specifics: {}
@@ -78,10 +78,10 @@ fn B() {
7878
// CHECK:STDOUT: 0: inst6000000F
7979
// CHECK:STDOUT: imports: {}
8080
// CHECK:STDOUT: global_init: {}
81-
// CHECK:STDOUT: inst_block00000004: {}
82-
// CHECK:STDOUT: inst_block00000005:
81+
// CHECK:STDOUT: inst_block60000004: {}
82+
// CHECK:STDOUT: inst_block60000005:
8383
// CHECK:STDOUT: 0: inst60000013
84-
// CHECK:STDOUT: inst_block00000006:
84+
// CHECK:STDOUT: inst_block60000006:
8585
// CHECK:STDOUT: 0: inst0000000E
8686
// CHECK:STDOUT: 1: inst6000000F
8787
// CHECK:STDOUT: ...
@@ -103,7 +103,7 @@ fn B() {
103103
// CHECK:STDOUT: entity_name50000000: {name: name00000001, parent_scope: name_scope50000001, index: -1, is_template: 0}
104104
// CHECK:STDOUT: cpp_global_vars: {}
105105
// CHECK:STDOUT: functions:
106-
// CHECK:STDOUT: function50000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block00000005]}
106+
// CHECK:STDOUT: function50000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block50000005]}
107107
// CHECK:STDOUT: function50000001: {name: name00000001, parent_scope: name_scope50000001}
108108
// CHECK:STDOUT: classes: {}
109109
// CHECK:STDOUT: generics: {}
@@ -161,13 +161,13 @@ fn B() {
161161
// CHECK:STDOUT: 1: inst50000016
162162
// CHECK:STDOUT: 2: inst50000017
163163
// CHECK:STDOUT: global_init: {}
164-
// CHECK:STDOUT: inst_block00000004: {}
165-
// CHECK:STDOUT: inst_block00000005:
164+
// CHECK:STDOUT: inst_block50000004: {}
165+
// CHECK:STDOUT: inst_block50000005:
166166
// CHECK:STDOUT: 0: inst50000015
167167
// CHECK:STDOUT: 1: inst5000001A
168168
// CHECK:STDOUT: 2: inst5000001B
169169
// CHECK:STDOUT: 3: inst5000001C
170-
// CHECK:STDOUT: inst_block00000006:
170+
// CHECK:STDOUT: inst_block50000006:
171171
// CHECK:STDOUT: 0: inst0000000E
172172
// CHECK:STDOUT: 1: inst5000000F
173173
// CHECK:STDOUT: 2: inst50000011

toolchain/check/testdata/basics/raw_sem_ir/multifile_with_textual_ir.carbon

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ fn B() {
4040
// CHECK:STDOUT: entity_names: {}
4141
// CHECK:STDOUT: cpp_global_vars: {}
4242
// CHECK:STDOUT: functions:
43-
// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block00000005]}
43+
// CHECK:STDOUT: function60000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block60000005]}
4444
// CHECK:STDOUT: classes: {}
4545
// CHECK:STDOUT: generics: {}
4646
// CHECK:STDOUT: specifics: {}
@@ -78,10 +78,10 @@ fn B() {
7878
// CHECK:STDOUT: 0: inst6000000F
7979
// CHECK:STDOUT: imports: {}
8080
// CHECK:STDOUT: global_init: {}
81-
// CHECK:STDOUT: inst_block00000004: {}
82-
// CHECK:STDOUT: inst_block00000005:
81+
// CHECK:STDOUT: inst_block60000004: {}
82+
// CHECK:STDOUT: inst_block60000005:
8383
// CHECK:STDOUT: 0: inst60000013
84-
// CHECK:STDOUT: inst_block00000006:
84+
// CHECK:STDOUT: inst_block60000006:
8585
// CHECK:STDOUT: 0: inst0000000E
8686
// CHECK:STDOUT: 1: inst6000000F
8787
// CHECK:STDOUT: ...
@@ -122,7 +122,7 @@ fn B() {
122122
// CHECK:STDOUT: entity_name50000000: {name: name00000001, parent_scope: name_scope50000001, index: -1, is_template: 0}
123123
// CHECK:STDOUT: cpp_global_vars: {}
124124
// CHECK:STDOUT: functions:
125-
// CHECK:STDOUT: function50000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block00000005]}
125+
// CHECK:STDOUT: function50000000: {name: name00000000, parent_scope: name_scope00000000, call_params_id: inst_block_empty, body: [inst_block50000005]}
126126
// CHECK:STDOUT: function50000001: {name: name00000001, parent_scope: name_scope50000001}
127127
// CHECK:STDOUT: classes: {}
128128
// CHECK:STDOUT: generics: {}
@@ -180,13 +180,13 @@ fn B() {
180180
// CHECK:STDOUT: 1: inst50000016
181181
// CHECK:STDOUT: 2: inst50000017
182182
// CHECK:STDOUT: global_init: {}
183-
// CHECK:STDOUT: inst_block00000004: {}
184-
// CHECK:STDOUT: inst_block00000005:
183+
// CHECK:STDOUT: inst_block50000004: {}
184+
// CHECK:STDOUT: inst_block50000005:
185185
// CHECK:STDOUT: 0: inst50000015
186186
// CHECK:STDOUT: 1: inst5000001A
187187
// CHECK:STDOUT: 2: inst5000001B
188188
// CHECK:STDOUT: 3: inst5000001C
189-
// CHECK:STDOUT: inst_block00000006:
189+
// CHECK:STDOUT: inst_block50000006:
190190
// CHECK:STDOUT: 0: inst0000000E
191191
// CHECK:STDOUT: 1: inst5000000F
192192
// CHECK:STDOUT: 2: inst50000011

0 commit comments

Comments
 (0)