Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / wasm / locals-duplicate.test
blob5c3135a424e69a57eb28c45cc18cc92967d5ab96
1 ; RUN: llc -mcpu=mvp -filetype=obj %p/Inputs/locals-duplicate1.ll -o %t1.o
2 ; RUN: llc -mcpu=mvp -filetype=obj %p/Inputs/locals-duplicate2.ll -o %t2.o
3 ; RUN: wasm-ld --export-dynamic --no-entry -o %t.wasm %t1.o %t2.o
4 ; RUN: obj2yaml %t.wasm | FileCheck %s
6 ; CHECK:      --- !WASM
7 ; CHECK-NEXT: FileHeader:
8 ; CHECK-NEXT:   Version:         0x1
9 ; CHECK-NEXT: Sections:
10 ; CHECK-NEXT:   - Type:            TYPE
11 ; CHECK-NEXT:     Signatures:
12 ; CHECK-NEXT:       - Index:           0
13 ; CHECK-NEXT:         ParamTypes:      []
14 ; CHECK-NEXT:         ReturnTypes:
15 ; CHECK-NEXT:           - I32
16 ; CHECK-NEXT:   - Type:            FUNCTION
17 ; CHECK-NEXT:     FunctionTypes:   [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18 ; CHECK-NEXT:                        0, 0 ]
19 ; CHECK-NEXT:   - Type:            TABLE
20 ; CHECK-NEXT:     Tables:
21 ; CHECK-NEXT:       - Index:           0
22 ; CHECK-NEXT:         ElemType:        FUNCREF
23 ; CHECK-NEXT:         Limits:
24 ; CHECK-NEXT:           Flags:           [ HAS_MAX ]
25 ; CHECK-NEXT:           Minimum:         0x7
26 ; CHECK-NEXT:           Maximum:         0x7
27 ; CHECK-NEXT:   - Type:            MEMORY
28 ; CHECK-NEXT:     Memories:
29 ; CHECK-NEXT:       - Minimum:         0x2
30 ; CHECK-NEXT:   - Type:            GLOBAL
31 ; CHECK-NEXT:     Globals:
32 ; CHECK-NEXT:       - Index:           0
33 ; CHECK-NEXT:         Type:            I32
34 ; CHECK-NEXT:         Mutable:         true
35 ; CHECK-NEXT:         InitExpr:
36 ; CHECK-NEXT:           Opcode:          I32_CONST
37 ; CHECK-NEXT:           Value:           66592
38 ; CHECK-NEXT:       - Index:           1
39 ; CHECK-NEXT:         Type:            I32
40 ; CHECK-NEXT:         Mutable:         false
41 ; CHECK-NEXT:         InitExpr:
42 ; CHECK-NEXT:           Opcode:          I32_CONST
43 ; CHECK-NEXT:           Value:           1028
44 ; CHECK-NEXT:       - Index:           2
45 ; CHECK-NEXT:         Type:            I32
46 ; CHECK-NEXT:         Mutable:         false
47 ; CHECK-NEXT:         InitExpr:
48 ; CHECK-NEXT:           Opcode:          I32_CONST
49 ; CHECK-NEXT:           Value:           1036
50 ; CHECK-NEXT:   - Type:            EXPORT
51 ; CHECK-NEXT:     Exports:
52 ; CHECK-NEXT:       - Name:            memory
53 ; CHECK-NEXT:         Kind:            MEMORY
54 ; CHECK-NEXT:         Index:           0
55 ; CHECK-NEXT:       - Name:            colliding_func2
56 ; CHECK-NEXT:         Kind:            FUNCTION
57 ; CHECK-NEXT:         Index:           1
58 ; CHECK-NEXT:       - Name:            get_global1A
59 ; CHECK-NEXT:         Kind:            FUNCTION
60 ; CHECK-NEXT:         Index:           3
61 ; CHECK-NEXT:       - Name:            get_global2A
62 ; CHECK-NEXT:         Kind:            FUNCTION
63 ; CHECK-NEXT:         Index:           4
64 ; CHECK-NEXT:       - Name:            colliding_global2
65 ; CHECK-NEXT:         Kind:            GLOBAL
66 ; CHECK-NEXT:         Index:           1
67 ; CHECK-NEXT:       - Name:            get_global3A
68 ; CHECK-NEXT:         Kind:            FUNCTION
69 ; CHECK-NEXT:         Index:           5
70 ; CHECK-NEXT:       - Name:            get_func1A
71 ; CHECK-NEXT:         Kind:            FUNCTION
72 ; CHECK-NEXT:         Index:           6
73 ; CHECK-NEXT:       - Name:            get_func2A
74 ; CHECK-NEXT:         Kind:            FUNCTION
75 ; CHECK-NEXT:         Index:           7
76 ; CHECK-NEXT:       - Name:            get_func3A
77 ; CHECK-NEXT:         Kind:            FUNCTION
78 ; CHECK-NEXT:         Index:           8
79 ; CHECK-NEXT:       - Name:            colliding_func1
80 ; CHECK-NEXT:         Kind:            FUNCTION
81 ; CHECK-NEXT:         Index:           9
82 ; CHECK-NEXT:       - Name:            get_global1B
83 ; CHECK-NEXT:         Kind:            FUNCTION
84 ; CHECK-NEXT:         Index:           12
85 ; CHECK-NEXT:       - Name:            colliding_global1
86 ; CHECK-NEXT:         Kind:            GLOBAL
87 ; CHECK-NEXT:         Index:           2
88 ; CHECK-NEXT:       - Name:            get_global2B
89 ; CHECK-NEXT:         Kind:            FUNCTION
90 ; CHECK-NEXT:         Index:           13
91 ; CHECK-NEXT:       - Name:            get_global3B
92 ; CHECK-NEXT:         Kind:            FUNCTION
93 ; CHECK-NEXT:         Index:           14
94 ; CHECK-NEXT:       - Name:            get_func1B
95 ; CHECK-NEXT:         Kind:            FUNCTION
96 ; CHECK-NEXT:         Index:           15
97 ; CHECK-NEXT:       - Name:            get_func2B
98 ; CHECK-NEXT:         Kind:            FUNCTION
99 ; CHECK-NEXT:         Index:           16
100 ; CHECK-NEXT:       - Name:            get_func3B
101 ; CHECK-NEXT:         Kind:            FUNCTION
102 ; CHECK-NEXT:         Index:           17
103 ; CHECK-NEXT:   - Type:            ELEM
104 ; CHECK-NEXT:     Segments:
105 ; CHECK-NEXT:       - Offset:
106 ; CHECK-NEXT:           Opcode:          I32_CONST
107 ; CHECK-NEXT:           Value:           1
108 ; CHECK-NEXT:         Functions:       [ 0, 1, 2, 9, 10, 11 ]
109 ; CHECK-NEXT:   - Type:            CODE
110 ; CHECK-NEXT:     Functions:
111 ; CHECK-NEXT:       - Index:           0
112 ; CHECK-NEXT:         Locals:
113 ; CHECK-NEXT:         Body:            41020B
114 ; CHECK-NEXT:       - Index:           1
115 ; CHECK-NEXT:         Locals:
116 ; CHECK-NEXT:         Body:            41020B
117 ; CHECK-NEXT:       - Index:           2
118 ; CHECK-NEXT:         Locals:
119 ; CHECK-NEXT:         Body:            41020B
120 ; CHECK-NEXT:       - Index:           3
121 ; CHECK-NEXT:         Locals:
122 ; CHECK-NEXT:         Body:            4180888080000B
123 ; CHECK-NEXT:       - Index:           4
124 ; CHECK-NEXT:         Locals:
125 ; CHECK-NEXT:         Body:            4184888080000B
126 ; CHECK-NEXT:       - Index:           5
127 ; CHECK-NEXT:         Locals:
128 ; CHECK-NEXT:         Body:            4188888080000B
129 ; CHECK-NEXT:       - Index:           6
130 ; CHECK-NEXT:         Locals:
131 ; CHECK-NEXT:         Body:            4181808080000B
132 ; CHECK-NEXT:       - Index:           7
133 ; CHECK-NEXT:         Locals:
134 ; CHECK-NEXT:         Body:            4182808080000B
135 ; CHECK-NEXT:       - Index:           8
136 ; CHECK-NEXT:         Locals:
137 ; CHECK-NEXT:         Body:            4183808080000B
138 ; CHECK-NEXT:       - Index:           9
139 ; CHECK-NEXT:         Locals:
140 ; CHECK-NEXT:         Body:            41020B
141 ; CHECK-NEXT:       - Index:           10
142 ; CHECK-NEXT:         Locals:
143 ; CHECK-NEXT:         Body:            41020B
144 ; CHECK-NEXT:       - Index:           11
145 ; CHECK-NEXT:         Locals:
146 ; CHECK-NEXT:         Body:            41020B
147 ; CHECK-NEXT:       - Index:           12
148 ; CHECK-NEXT:         Locals:
149 ; CHECK-NEXT:         Body:            418C888080000B
150 ; CHECK-NEXT:       - Index:           13
151 ; CHECK-NEXT:         Locals:
152 ; CHECK-NEXT:         Body:            4190888080000B
153 ; CHECK-NEXT:       - Index:           14
154 ; CHECK-NEXT:         Locals:
155 ; CHECK-NEXT:         Body:            4194888080000B
156 ; CHECK-NEXT:       - Index:           15
157 ; CHECK-NEXT:         Locals:
158 ; CHECK-NEXT:         Body:            4184808080000B
159 ; CHECK-NEXT:       - Index:           16
160 ; CHECK-NEXT:         Locals:
161 ; CHECK-NEXT:         Body:            4185808080000B
162 ; CHECK-NEXT:       - Index:           17
163 ; CHECK-NEXT:         Locals:
164 ; CHECK-NEXT:         Body:            4186808080000B
165 ; CHECK-NEXT:   - Type:            DATA
166 ; CHECK-NEXT:     Segments:
167 ; CHECK-NEXT:       - SectionOffset:   7
168 ; CHECK-NEXT:         InitFlags:       0
169 ; CHECK-NEXT:         Offset:
170 ; CHECK-NEXT:           Opcode:          I32_CONST
171 ; CHECK-NEXT:           Value:           1024
172 ; CHECK-NEXT:         Content:         '010000000100000001000000010000000100000001000000'
173 ; CHECK-NEXT:   - Type:            CUSTOM
174 ; CHECK-NEXT:     Name:            name
175 ; CHECK-NEXT:     FunctionNames:
176 ; CHECK-NEXT:       - Index:           0
177 ; CHECK-NEXT:         Name:            colliding_func1
178 ; CHECK-NEXT:       - Index:           1
179 ; CHECK-NEXT:         Name:            colliding_func2
180 ; CHECK-NEXT:       - Index:           2
181 ; CHECK-NEXT:         Name:            colliding_func3
182 ; CHECK-NEXT:       - Index:           3
183 ; CHECK-NEXT:         Name:            get_global1A
184 ; CHECK-NEXT:       - Index:           4
185 ; CHECK-NEXT:         Name:            get_global2A
186 ; CHECK-NEXT:       - Index:           5
187 ; CHECK-NEXT:         Name:            get_global3A
188 ; CHECK-NEXT:       - Index:           6
189 ; CHECK-NEXT:         Name:            get_func1A
190 ; CHECK-NEXT:       - Index:           7
191 ; CHECK-NEXT:         Name:            get_func2A
192 ; CHECK-NEXT:       - Index:           8
193 ; CHECK-NEXT:         Name:            get_func3A
194 ; CHECK-NEXT:       - Index:           9
195 ; CHECK-NEXT:         Name:            colliding_func1
196 ; CHECK-NEXT:       - Index:           10
197 ; CHECK-NEXT:         Name:            colliding_func2
198 ; CHECK-NEXT:       - Index:           11
199 ; CHECK-NEXT:         Name:            colliding_func3
200 ; CHECK-NEXT:       - Index:           12
201 ; CHECK-NEXT:         Name:            get_global1B
202 ; CHECK-NEXT:       - Index:           13
203 ; CHECK-NEXT:         Name:            get_global2B
204 ; CHECK-NEXT:       - Index:           14
205 ; CHECK-NEXT:         Name:            get_global3B
206 ; CHECK-NEXT:       - Index:           15
207 ; CHECK-NEXT:         Name:            get_func1B
208 ; CHECK-NEXT:       - Index:           16
209 ; CHECK-NEXT:         Name:            get_func2B
210 ; CHECK-NEXT:       - Index:           17
211 ; CHECK-NEXT:         Name:            get_func3B
212 ; CHECK-NEXT:     GlobalNames:
213 ; CHECK-NEXT:       - Index:           0
214 ; CHECK-NEXT:         Name:            __stack_pointer
215 ; CHECK-NEXT:     DataSegmentNames:
216 ; CHECK-NEXT:       - Index:           0
217 ; CHECK-NEXT:         Name:            .data
218 ; CHECK-NEXT: ...
221 ; RUN: wasm-ld -r --no-entry -o %t.reloc.wasm %t1.o %t2.o
222 ; RUN: obj2yaml %t.reloc.wasm | FileCheck -check-prefix=RELOC %s
224 ; RELOC:      --- !WASM
225 ; RELOC-NEXT: FileHeader:
226 ; RELOC-NEXT:   Version:         0x1
227 ; RELOC-NEXT: Sections:
228 ; RELOC-NEXT:   - Type:            TYPE
229 ; RELOC-NEXT:     Signatures:
230 ; RELOC-NEXT:       - Index:           0
231 ; RELOC-NEXT:         ParamTypes:      []
232 ; RELOC-NEXT:         ReturnTypes:
233 ; RELOC-NEXT:           - I32
234 ; RELOC-NEXT:  - Type:            IMPORT
235 ; RELOC-NEXT:    Imports:
236 ; RELOC-NEXT:      - Module:          env
237 ; RELOC-NEXT:        Field:           __indirect_function_table
238 ; RELOC-NEXT:        Kind:            TABLE
239 ; RELOC-NEXT:        Table:
240 ; RELOC-NEXT:          Index:           0
241 ; RELOC-NEXT:          ElemType:        FUNCREF
242 ; RELOC-NEXT:          Limits:
243 ; RELOC-NEXT:            Minimum:         0x7
244 ; RELOC-NEXT:   - Type:            FUNCTION
245 ; RELOC-NEXT:     FunctionTypes:   [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
246 ; RELOC-NEXT:                        0, 0 ]
247 ; RELOC-NEXT:   - Type:            MEMORY
248 ; RELOC-NEXT:     Memories:
249 ; RELOC-NEXT:       - Minimum:         0x1
250 ; RELOC-NEXT:   - Type:            ELEM
251 ; RELOC-NEXT:     Segments:
252 ; RELOC-NEXT:       - Offset:
253 ; RELOC-NEXT:           Opcode:          I32_CONST
254 ; RELOC-NEXT:           Value:           1
255 ; RELOC-NEXT:         Functions:       [ 0, 1, 2, 9, 10, 11 ]
256 ; RELOC-NEXT:   - Type:            CODE
257 ; RELOC-NEXT:     Relocations:
258 ; RELOC-NEXT:       - Type:            R_WASM_MEMORY_ADDR_SLEB
259 ; RELOC-NEXT:         Index:           19
260 ; RELOC-NEXT:         Offset:          0x13
261 ; RELOC-NEXT:       - Type:            R_WASM_MEMORY_ADDR_SLEB
262 ; RELOC-NEXT:         Index:           3
263 ; RELOC-NEXT:         Offset:          0x1C
264 ; RELOC-NEXT:       - Type:            R_WASM_MEMORY_ADDR_SLEB
265 ; RELOC-NEXT:         Index:           20
266 ; RELOC-NEXT:         Offset:          0x25
267 ; RELOC-NEXT:       - Type:            R_WASM_TABLE_INDEX_SLEB
268 ; RELOC-NEXT:         Index:           17
269 ; RELOC-NEXT:         Offset:          0x2E
270 ; RELOC-NEXT:       - Type:            R_WASM_TABLE_INDEX_SLEB
271 ; RELOC-NEXT:         Index:           0
272 ; RELOC-NEXT:         Offset:          0x37
273 ; RELOC-NEXT:       - Type:            R_WASM_TABLE_INDEX_SLEB
274 ; RELOC-NEXT:         Index:           18
275 ; RELOC-NEXT:         Offset:          0x40
276 ; RELOC-NEXT:       - Type:            R_WASM_MEMORY_ADDR_SLEB
277 ; RELOC-NEXT:         Index:           11
278 ; RELOC-NEXT:         Offset:          0x58
279 ; RELOC-NEXT:       - Type:            R_WASM_MEMORY_ADDR_SLEB
280 ; RELOC-NEXT:         Index:           23
281 ; RELOC-NEXT:         Offset:          0x61
282 ; RELOC-NEXT:       - Type:            R_WASM_MEMORY_ADDR_SLEB
283 ; RELOC-NEXT:         Index:           24
284 ; RELOC-NEXT:         Offset:          0x6A
285 ; RELOC-NEXT:       - Type:            R_WASM_TABLE_INDEX_SLEB
286 ; RELOC-NEXT:         Index:           9
287 ; RELOC-NEXT:         Offset:          0x73
288 ; RELOC-NEXT:       - Type:            R_WASM_TABLE_INDEX_SLEB
289 ; RELOC-NEXT:         Index:           21
290 ; RELOC-NEXT:         Offset:          0x7C
291 ; RELOC-NEXT:       - Type:            R_WASM_TABLE_INDEX_SLEB
292 ; RELOC-NEXT:         Index:           22
293 ; RELOC-NEXT:         Offset:          0x85
294 ; RELOC-NEXT:     Functions:
295 ; RELOC-NEXT:       - Index:           0
296 ; RELOC-NEXT:         Locals:
297 ; RELOC-NEXT:         Body:            41020B
298 ; RELOC-NEXT:       - Index:           1
299 ; RELOC-NEXT:         Locals:
300 ; RELOC-NEXT:         Body:            41020B
301 ; RELOC-NEXT:       - Index:           2
302 ; RELOC-NEXT:         Locals:
303 ; RELOC-NEXT:         Body:            41020B
304 ; RELOC-NEXT:       - Index:           3
305 ; RELOC-NEXT:         Locals:
306 ; RELOC-NEXT:         Body:            4180808080000B
307 ; RELOC-NEXT:       - Index:           4
308 ; RELOC-NEXT:         Locals:
309 ; RELOC-NEXT:         Body:            4188808080000B
310 ; RELOC-NEXT:       - Index:           5
311 ; RELOC-NEXT:         Locals:
312 ; RELOC-NEXT:         Body:            4190808080000B
313 ; RELOC-NEXT:       - Index:           6
314 ; RELOC-NEXT:         Locals:
315 ; RELOC-NEXT:         Body:            4181808080000B
316 ; RELOC-NEXT:       - Index:           7
317 ; RELOC-NEXT:         Locals:
318 ; RELOC-NEXT:         Body:            4182808080000B
319 ; RELOC-NEXT:       - Index:           8
320 ; RELOC-NEXT:         Locals:
321 ; RELOC-NEXT:         Body:            4183808080000B
322 ; RELOC-NEXT:       - Index:           9
323 ; RELOC-NEXT:         Locals:
324 ; RELOC-NEXT:         Body:            41020B
325 ; RELOC-NEXT:       - Index:           10
326 ; RELOC-NEXT:         Locals:
327 ; RELOC-NEXT:         Body:            41020B
328 ; RELOC-NEXT:       - Index:           11
329 ; RELOC-NEXT:         Locals:
330 ; RELOC-NEXT:         Body:            41020B
331 ; RELOC-NEXT:       - Index:           12
332 ; RELOC-NEXT:         Locals:
333 ; RELOC-NEXT:         Body:            4184808080000B
334 ; RELOC-NEXT:       - Index:           13
335 ; RELOC-NEXT:         Locals:
336 ; RELOC-NEXT:         Body:            418C808080000B
337 ; RELOC-NEXT:       - Index:           14
338 ; RELOC-NEXT:         Locals:
339 ; RELOC-NEXT:         Body:            4194808080000B
340 ; RELOC-NEXT:       - Index:           15
341 ; RELOC-NEXT:         Locals:
342 ; RELOC-NEXT:         Body:            4184808080000B
343 ; RELOC-NEXT:       - Index:           16
344 ; RELOC-NEXT:         Locals:
345 ; RELOC-NEXT:         Body:            4185808080000B
346 ; RELOC-NEXT:       - Index:           17
347 ; RELOC-NEXT:         Locals:
348 ; RELOC-NEXT:         Body:            4186808080000B
349 ; RELOC-NEXT:   - Type:            DATA
350 ; RELOC-NEXT:     Segments:
351 ; RELOC-NEXT:       - SectionOffset:   6
352 ; RELOC-NEXT:         InitFlags:       0
353 ; RELOC-NEXT:         Offset:
354 ; RELOC-NEXT:           Opcode:          I32_CONST
355 ; RELOC-NEXT:           Value:           0
356 ; RELOC-NEXT:         Content:         '0100000001000000'
357 ; RELOC-NEXT:       - SectionOffset:   19
358 ; RELOC-NEXT:         InitFlags:       0
359 ; RELOC-NEXT:         Offset:
360 ; RELOC-NEXT:           Opcode:          I32_CONST
361 ; RELOC-NEXT:           Value:           8
362 ; RELOC-NEXT:         Content:         '0100000001000000'
363 ; RELOC-NEXT:       - SectionOffset:   32
364 ; RELOC-NEXT:         InitFlags:       0
365 ; RELOC-NEXT:         Offset:
366 ; RELOC-NEXT:           Opcode:          I32_CONST
367 ; RELOC-NEXT:           Value:           16
368 ; RELOC-NEXT:         Content:         '0100000001000000'
369 ; RELOC-NEXT:   - Type:            CUSTOM
370 ; RELOC-NEXT:     Name:            linking
371 ; RELOC-NEXT:     Version:         2
372 ; RELOC-NEXT:     SymbolTable:
373 ; RELOC-NEXT:       - Index:           0
374 ; RELOC-NEXT:         Kind:            FUNCTION
375 ; RELOC-NEXT:         Name:            colliding_func2
376 ; RELOC-NEXT:         Flags:           [  ]
377 ; RELOC-NEXT:         Function:        1
378 ; RELOC-NEXT:       - Index:           1
379 ; RELOC-NEXT:         Kind:            FUNCTION
380 ; RELOC-NEXT:         Name:            get_global1A
381 ; RELOC-NEXT:         Flags:           [  ]
382 ; RELOC-NEXT:         Function:        3
383 ; RELOC-NEXT:       - Index:           2
384 ; RELOC-NEXT:         Kind:            FUNCTION
385 ; RELOC-NEXT:         Name:            get_global2A
386 ; RELOC-NEXT:         Flags:           [  ]
387 ; RELOC-NEXT:         Function:        4
388 ; RELOC-NEXT:       - Index:           3
389 ; RELOC-NEXT:         Kind:            DATA
390 ; RELOC-NEXT:         Name:            colliding_global2
391 ; RELOC-NEXT:         Flags:           [  ]
392 ; RELOC-NEXT:         Segment:         1
393 ; RELOC-NEXT:         Size:            4
394 ; RELOC-NEXT:       - Index:           4
395 ; RELOC-NEXT:         Kind:            FUNCTION
396 ; RELOC-NEXT:         Name:            get_global3A
397 ; RELOC-NEXT:         Flags:           [  ]
398 ; RELOC-NEXT:         Function:        5
399 ; RELOC-NEXT:       - Index:           5
400 ; RELOC-NEXT:         Kind:            FUNCTION
401 ; RELOC-NEXT:         Name:            get_func1A
402 ; RELOC-NEXT:         Flags:           [  ]
403 ; RELOC-NEXT:         Function:        6
404 ; RELOC-NEXT:       - Index:           6
405 ; RELOC-NEXT:         Kind:            FUNCTION
406 ; RELOC-NEXT:         Name:            get_func2A
407 ; RELOC-NEXT:         Flags:           [  ]
408 ; RELOC-NEXT:         Function:        7
409 ; RELOC-NEXT:       - Index:           7
410 ; RELOC-NEXT:         Kind:            FUNCTION
411 ; RELOC-NEXT:         Name:            get_func3A
412 ; RELOC-NEXT:         Flags:           [  ]
413 ; RELOC-NEXT:         Function:        8
414 ; RELOC-NEXT:       - Index:           8
415 ; RELOC-NEXT:         Kind:            TABLE
416 ; RELOC-NEXT:         Name:            __indirect_function_table
417 ; RELOC-NEXT:         Flags:           [ UNDEFINED, NO_STRIP ]
418 ; RELOC-NEXT:         Table:           0
419 ; RELOC-NEXT:       - Index:           9
420 ; RELOC-NEXT:         Kind:            FUNCTION
421 ; RELOC-NEXT:         Name:            colliding_func1
422 ; RELOC-NEXT:         Flags:           [  ]
423 ; RELOC-NEXT:         Function:        9
424 ; RELOC-NEXT:       - Index:           10
425 ; RELOC-NEXT:         Kind:            FUNCTION
426 ; RELOC-NEXT:         Name:            get_global1B
427 ; RELOC-NEXT:         Flags:           [  ]
428 ; RELOC-NEXT:         Function:        12
429 ; RELOC-NEXT:       - Index:           11
430 ; RELOC-NEXT:         Kind:            DATA
431 ; RELOC-NEXT:         Name:            colliding_global1
432 ; RELOC-NEXT:         Flags:           [  ]
433 ; RELOC-NEXT:         Segment:         0
434 ; RELOC-NEXT:         Offset:          4
435 ; RELOC-NEXT:         Size:            4
436 ; RELOC-NEXT:       - Index:           12
437 ; RELOC-NEXT:         Kind:            FUNCTION
438 ; RELOC-NEXT:         Name:            get_global2B
439 ; RELOC-NEXT:         Flags:           [  ]
440 ; RELOC-NEXT:         Function:        13
441 ; RELOC-NEXT:       - Index:           13
442 ; RELOC-NEXT:         Kind:            FUNCTION
443 ; RELOC-NEXT:         Name:            get_global3B
444 ; RELOC-NEXT:         Flags:           [  ]
445 ; RELOC-NEXT:         Function:        14
446 ; RELOC-NEXT:       - Index:           14
447 ; RELOC-NEXT:         Kind:            FUNCTION
448 ; RELOC-NEXT:         Name:            get_func1B
449 ; RELOC-NEXT:         Flags:           [  ]
450 ; RELOC-NEXT:         Function:        15
451 ; RELOC-NEXT:       - Index:           15
452 ; RELOC-NEXT:         Kind:            FUNCTION
453 ; RELOC-NEXT:         Name:            get_func2B
454 ; RELOC-NEXT:         Flags:           [  ]
455 ; RELOC-NEXT:         Function:        16
456 ; RELOC-NEXT:       - Index:           16
457 ; RELOC-NEXT:         Kind:            FUNCTION
458 ; RELOC-NEXT:         Name:            get_func3B
459 ; RELOC-NEXT:         Flags:           [  ]
460 ; RELOC-NEXT:         Function:        17
461 ; RELOC-NEXT:       - Index:           17
462 ; RELOC-NEXT:         Kind:            FUNCTION
463 ; RELOC-NEXT:         Name:            colliding_func1
464 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
465 ; RELOC-NEXT:         Function:        0
466 ; RELOC-NEXT:       - Index:           18
467 ; RELOC-NEXT:         Kind:            FUNCTION
468 ; RELOC-NEXT:         Name:            colliding_func3
469 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
470 ; RELOC-NEXT:         Function:        2
471 ; RELOC-NEXT:       - Index:           19
472 ; RELOC-NEXT:         Kind:            DATA
473 ; RELOC-NEXT:         Name:            colliding_global1
474 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
475 ; RELOC-NEXT:         Segment:         0
476 ; RELOC-NEXT:         Size:            4
477 ; RELOC-NEXT:       - Index:           20
478 ; RELOC-NEXT:         Kind:            DATA
479 ; RELOC-NEXT:         Name:            colliding_global3
480 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
481 ; RELOC-NEXT:         Segment:         2
482 ; RELOC-NEXT:         Size:            4
483 ; RELOC-NEXT:       - Index:           21
484 ; RELOC-NEXT:         Kind:            FUNCTION
485 ; RELOC-NEXT:         Name:            colliding_func2
486 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
487 ; RELOC-NEXT:         Function:        10
488 ; RELOC-NEXT:       - Index:           22
489 ; RELOC-NEXT:         Kind:            FUNCTION
490 ; RELOC-NEXT:         Name:            colliding_func3
491 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
492 ; RELOC-NEXT:         Function:        11
493 ; RELOC-NEXT:       - Index:           23
494 ; RELOC-NEXT:         Kind:            DATA
495 ; RELOC-NEXT:         Name:            colliding_global2
496 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
497 ; RELOC-NEXT:         Segment:         1
498 ; RELOC-NEXT:         Offset:          4
499 ; RELOC-NEXT:         Size:            4
500 ; RELOC-NEXT:       - Index:           24
501 ; RELOC-NEXT:         Kind:            DATA
502 ; RELOC-NEXT:         Name:            colliding_global3
503 ; RELOC-NEXT:         Flags:           [ BINDING_LOCAL ]
504 ; RELOC-NEXT:         Segment:         2
505 ; RELOC-NEXT:         Offset:          4
506 ; RELOC-NEXT:         Size:            4
507 ; RELOC-NEXT:     SegmentInfo:
508 ; RELOC-NEXT:       - Index:           0
509 ; RELOC-NEXT:         Name:            .data.colliding_global1
510 ; RELOC-NEXT:         Alignment:       2
511 ; RELOC-NEXT:         Flags:           [  ]
512 ; RELOC-NEXT:       - Index:           1
513 ; RELOC-NEXT:         Name:            .data.colliding_global2
514 ; RELOC-NEXT:         Alignment:       2
515 ; RELOC-NEXT:         Flags:           [  ]
516 ; RELOC-NEXT:       - Index:           2
517 ; RELOC-NEXT:         Name:            .data.colliding_global3
518 ; RELOC-NEXT:         Alignment:       2
519 ; RELOC-NEXT:         Flags:           [  ]
520 ; RELOC-NEXT:   - Type:            CUSTOM
521 ; RELOC-NEXT:     Name:            name
522 ; RELOC-NEXT:     FunctionNames:
523 ; RELOC-NEXT:       - Index:           0
524 ; RELOC-NEXT:         Name:            colliding_func1
525 ; RELOC-NEXT:       - Index:           1
526 ; RELOC-NEXT:         Name:            colliding_func2
527 ; RELOC-NEXT:       - Index:           2
528 ; RELOC-NEXT:         Name:            colliding_func3
529 ; RELOC-NEXT:       - Index:           3
530 ; RELOC-NEXT:         Name:            get_global1A
531 ; RELOC-NEXT:       - Index:           4
532 ; RELOC-NEXT:         Name:            get_global2A
533 ; RELOC-NEXT:       - Index:           5
534 ; RELOC-NEXT:         Name:            get_global3A
535 ; RELOC-NEXT:       - Index:           6
536 ; RELOC-NEXT:         Name:            get_func1A
537 ; RELOC-NEXT:       - Index:           7
538 ; RELOC-NEXT:         Name:            get_func2A
539 ; RELOC-NEXT:       - Index:           8
540 ; RELOC-NEXT:         Name:            get_func3A
541 ; RELOC-NEXT:       - Index:           9
542 ; RELOC-NEXT:         Name:            colliding_func1
543 ; RELOC-NEXT:       - Index:           10
544 ; RELOC-NEXT:         Name:            colliding_func2
545 ; RELOC-NEXT:       - Index:           11
546 ; RELOC-NEXT:         Name:            colliding_func3
547 ; RELOC-NEXT:       - Index:           12
548 ; RELOC-NEXT:         Name:            get_global1B
549 ; RELOC-NEXT:       - Index:           13
550 ; RELOC-NEXT:         Name:            get_global2B
551 ; RELOC-NEXT:       - Index:           14
552 ; RELOC-NEXT:         Name:            get_global3B
553 ; RELOC-NEXT:       - Index:           15
554 ; RELOC-NEXT:         Name:            get_func1B
555 ; RELOC-NEXT:       - Index:           16
556 ; RELOC-NEXT:         Name:            get_func2B
557 ; RELOC-NEXT:       - Index:           17
558 ; RELOC-NEXT:         Name:            get_func3B
559 ; RELOC-NEXT:     DataSegmentNames:
560 ; RELOC-NEXT:       - Index:           0
561 ; RELOC-NEXT:         Name:            .data.colliding_global1
562 ; RELOC-NEXT:       - Index:           1
563 ; RELOC-NEXT:         Name:            .data.colliding_global2
564 ; RELOC-NEXT:       - Index:           2
565 ; RELOC-NEXT:         Name:            .data.colliding_global3
566 ; RELOC-NEXT: ...