Skip to content

Commit e8dba3a

Browse files
committed
[LoongArch] Add test for stackmaps. NFC
1 parent 873aa29 commit e8dba3a

File tree

1 file changed

+323
-1
lines changed

1 file changed

+323
-1
lines changed

llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll

Lines changed: 323 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
21
; RUN: llc --mtriple=loongarch64 -verify-machineinstrs < %s | FileCheck %s
32
;; A collection of basic functionality tests for statepoint lowering - most
43
;; interesting cornercases are exercised through the x86 tests.
@@ -217,6 +216,329 @@ entry:
217216
ret void
218217
}
219218

219+
; CHECK-LABEL: .section .llvm_stackmaps
220+
; CHECK: __LLVM_StackMaps:
221+
; CHECK-NEXT: .byte 3
222+
; CHECK-NEXT: .byte 0
223+
; CHECK-NEXT: .half 0
224+
; CHECK-NEXT: .word 10
225+
; CHECK-NEXT: .word 0
226+
; CHECK-NEXT: .word 10
227+
; CHECK-NEXT: .dword test_i1_return
228+
; CHECK-NEXT: .dword 16
229+
; CHECK-NEXT: .dword 1
230+
; CHECK-NEXT: .dword test_i32_return
231+
; CHECK-NEXT: .dword 16
232+
; CHECK-NEXT: .dword 1
233+
; CHECK-NEXT: .dword test_i32ptr_return
234+
; CHECK-NEXT: .dword 16
235+
; CHECK-NEXT: .dword 1
236+
; CHECK-NEXT: .dword test_float_return
237+
; CHECK-NEXT: .dword 16
238+
; CHECK-NEXT: .dword 1
239+
; CHECK-NEXT: .dword test_struct_return
240+
; CHECK-NEXT: .dword 16
241+
; CHECK-NEXT: .dword 1
242+
; CHECK-NEXT: .dword test_relocate
243+
; CHECK-NEXT: .dword 16
244+
; CHECK-NEXT: .dword 1
245+
; CHECK-NEXT: .dword test_void_vararg
246+
; CHECK-NEXT: .dword 16
247+
; CHECK-NEXT: .dword 1
248+
; CHECK-NEXT: .dword test_i1_return_patchable
249+
; CHECK-NEXT: .dword 16
250+
; CHECK-NEXT: .dword 1
251+
; CHECK-NEXT: .dword test_cross_bb
252+
; CHECK-NEXT: .dword 32
253+
; CHECK-NEXT: .dword 1
254+
; CHECK-NEXT: .dword test_attributes
255+
; CHECK-NEXT: .dword 32
256+
; CHECK-NEXT: .dword 1
257+
; CHECK-NEXT: .dword 0
258+
; CHECK-NEXT: .word .Ltmp0-test_i1_return
259+
; CHECK-NEXT: .half 0
260+
; CHECK-NEXT: .half 3
261+
; CHECK-NEXT: .byte 4
262+
; CHECK-NEXT: .byte 0
263+
; CHECK-NEXT: .half 8
264+
; CHECK-NEXT: .half 0
265+
; CHECK-NEXT: .half 0
266+
; CHECK-NEXT: .word 0
267+
; CHECK-NEXT: .byte 4
268+
; CHECK-NEXT: .byte 0
269+
; CHECK-NEXT: .half 8
270+
; CHECK-NEXT: .half 0
271+
; CHECK-NEXT: .half 0
272+
; CHECK-NEXT: .word 0
273+
; CHECK-NEXT: .byte 4
274+
; CHECK-NEXT: .byte 0
275+
; CHECK-NEXT: .half 8
276+
; CHECK-NEXT: .half 0
277+
; CHECK-NEXT: .half 0
278+
; CHECK-NEXT: .word 0
279+
; CHECK-NEXT: .p2align 3, 0x0
280+
; CHECK-NEXT: .half 0
281+
; CHECK-NEXT: .half 0
282+
; CHECK-NEXT: .p2align 3, 0x0
283+
; CHECK-NEXT: .dword 0
284+
; CHECK-NEXT: .word .Ltmp1-test_i32_return
285+
; CHECK-NEXT: .half 0
286+
; CHECK-NEXT: .half 3
287+
; CHECK-NEXT: .byte 4
288+
; CHECK-NEXT: .byte 0
289+
; CHECK-NEXT: .half 8
290+
; CHECK-NEXT: .half 0
291+
; CHECK-NEXT: .half 0
292+
; CHECK-NEXT: .word 0
293+
; CHECK-NEXT: .byte 4
294+
; CHECK-NEXT: .byte 0
295+
; CHECK-NEXT: .half 8
296+
; CHECK-NEXT: .half 0
297+
; CHECK-NEXT: .half 0
298+
; CHECK-NEXT: .word 0
299+
; CHECK-NEXT: .byte 4
300+
; CHECK-NEXT: .byte 0
301+
; CHECK-NEXT: .half 8
302+
; CHECK-NEXT: .half 0
303+
; CHECK-NEXT: .half 0
304+
; CHECK-NEXT: .word 0
305+
; CHECK-NEXT: .p2align 3, 0x0
306+
; CHECK-NEXT: .half 0
307+
; CHECK-NEXT: .half 0
308+
; CHECK-NEXT: .p2align 3, 0x0
309+
; CHECK-NEXT: .dword 0
310+
; CHECK-NEXT: .word .Ltmp2-test_i32ptr_return
311+
; CHECK-NEXT: .half 0
312+
; CHECK-NEXT: .half 3
313+
; CHECK-NEXT: .byte 4
314+
; CHECK-NEXT: .byte 0
315+
; CHECK-NEXT: .half 8
316+
; CHECK-NEXT: .half 0
317+
; CHECK-NEXT: .half 0
318+
; CHECK-NEXT: .word 0
319+
; CHECK-NEXT: .byte 4
320+
; CHECK-NEXT: .byte 0
321+
; CHECK-NEXT: .half 8
322+
; CHECK-NEXT: .half 0
323+
; CHECK-NEXT: .half 0
324+
; CHECK-NEXT: .word 0
325+
; CHECK-NEXT: .byte 4
326+
; CHECK-NEXT: .byte 0
327+
; CHECK-NEXT: .half 8
328+
; CHECK-NEXT: .half 0
329+
; CHECK-NEXT: .half 0
330+
; CHECK-NEXT: .word 0
331+
; CHECK-NEXT: .p2align 3, 0x0
332+
; CHECK-NEXT: .half 0
333+
; CHECK-NEXT: .half 0
334+
; CHECK-NEXT: .p2align 3, 0x0
335+
; CHECK-NEXT: .dword 0
336+
; CHECK-NEXT: .word .Ltmp3-test_float_return
337+
; CHECK-NEXT: .half 0
338+
; CHECK-NEXT: .half 3
339+
; CHECK-NEXT: .byte 4
340+
; CHECK-NEXT: .byte 0
341+
; CHECK-NEXT: .half 8
342+
; CHECK-NEXT: .half 0
343+
; CHECK-NEXT: .half 0
344+
; CHECK-NEXT: .word 0
345+
; CHECK-NEXT: .byte 4
346+
; CHECK-NEXT: .byte 0
347+
; CHECK-NEXT: .half 8
348+
; CHECK-NEXT: .half 0
349+
; CHECK-NEXT: .half 0
350+
; CHECK-NEXT: .word 0
351+
; CHECK-NEXT: .byte 4
352+
; CHECK-NEXT: .byte 0
353+
; CHECK-NEXT: .half 8
354+
; CHECK-NEXT: .half 0
355+
; CHECK-NEXT: .half 0
356+
; CHECK-NEXT: .word 0
357+
; CHECK-NEXT: .p2align 3, 0x0
358+
; CHECK-NEXT: .half 0
359+
; CHECK-NEXT: .half 0
360+
; CHECK-NEXT: .p2align 3, 0x0
361+
; CHECK-NEXT: .dword 0
362+
; CHECK-NEXT: .word .Ltmp4-test_struct_return
363+
; CHECK-NEXT: .half 0
364+
; CHECK-NEXT: .half 3
365+
; CHECK-NEXT: .byte 4
366+
; CHECK-NEXT: .byte 0
367+
; CHECK-NEXT: .half 8
368+
; CHECK-NEXT: .half 0
369+
; CHECK-NEXT: .half 0
370+
; CHECK-NEXT: .word 0
371+
; CHECK-NEXT: .byte 4
372+
; CHECK-NEXT: .byte 0
373+
; CHECK-NEXT: .half 8
374+
; CHECK-NEXT: .half 0
375+
; CHECK-NEXT: .half 0
376+
; CHECK-NEXT: .word 0
377+
; CHECK-NEXT: .byte 4
378+
; CHECK-NEXT: .byte 0
379+
; CHECK-NEXT: .half 8
380+
; CHECK-NEXT: .half 0
381+
; CHECK-NEXT: .half 0
382+
; CHECK-NEXT: .word 0
383+
; CHECK-NEXT: .p2align 3, 0x0
384+
; CHECK-NEXT: .half 0
385+
; CHECK-NEXT: .half 0
386+
; CHECK-NEXT: .p2align 3, 0x0
387+
; CHECK-NEXT: .dword 0
388+
; CHECK-NEXT: .word .Ltmp5-test_relocate
389+
; CHECK-NEXT: .half 0
390+
; CHECK-NEXT: .half 5
391+
; CHECK-NEXT: .byte 4
392+
; CHECK-NEXT: .byte 0
393+
; CHECK-NEXT: .half 8
394+
; CHECK-NEXT: .half 0
395+
; CHECK-NEXT: .half 0
396+
; CHECK-NEXT: .word 0
397+
; CHECK-NEXT: .byte 4
398+
; CHECK-NEXT: .byte 0
399+
; CHECK-NEXT: .half 8
400+
; CHECK-NEXT: .half 0
401+
; CHECK-NEXT: .half 0
402+
; CHECK-NEXT: .word 0
403+
; CHECK-NEXT: .byte 4
404+
; CHECK-NEXT: .byte 0
405+
; CHECK-NEXT: .half 8
406+
; CHECK-NEXT: .half 0
407+
; CHECK-NEXT: .half 0
408+
; CHECK-NEXT: .word 0
409+
; CHECK-NEXT: .byte 3
410+
; CHECK-NEXT: .byte 0
411+
; CHECK-NEXT: .half 8
412+
; CHECK-NEXT: .half 3
413+
; CHECK-NEXT: .half 0
414+
; CHECK-NEXT: .word 0
415+
; CHECK-NEXT: .byte 3
416+
; CHECK-NEXT: .byte 0
417+
; CHECK-NEXT: .half 8
418+
; CHECK-NEXT: .half 3
419+
; CHECK-NEXT: .half 0
420+
; CHECK-NEXT: .word 0
421+
; CHECK-NEXT: .p2align 3, 0x0
422+
; CHECK-NEXT: .half 0
423+
; CHECK-NEXT: .half 0
424+
; CHECK-NEXT: .p2align 3, 0x0
425+
; CHECK-NEXT: .dword 0
426+
; CHECK-NEXT: .word .Ltmp6-test_void_vararg
427+
; CHECK-NEXT: .half 0
428+
; CHECK-NEXT: .half 3
429+
; CHECK-NEXT: .byte 4
430+
; CHECK-NEXT: .byte 0
431+
; CHECK-NEXT: .half 8
432+
; CHECK-NEXT: .half 0
433+
; CHECK-NEXT: .half 0
434+
; CHECK-NEXT: .word 0
435+
; CHECK-NEXT: .byte 4
436+
; CHECK-NEXT: .byte 0
437+
; CHECK-NEXT: .half 8
438+
; CHECK-NEXT: .half 0
439+
; CHECK-NEXT: .half 0
440+
; CHECK-NEXT: .word 0
441+
; CHECK-NEXT: .byte 4
442+
; CHECK-NEXT: .byte 0
443+
; CHECK-NEXT: .half 8
444+
; CHECK-NEXT: .half 0
445+
; CHECK-NEXT: .half 0
446+
; CHECK-NEXT: .word 0
447+
; CHECK-NEXT: .p2align 3, 0x0
448+
; CHECK-NEXT: .half 0
449+
; CHECK-NEXT: .half 0
450+
; CHECK-NEXT: .p2align 3, 0x0
451+
; CHECK-NEXT: .dword 0
452+
; CHECK-NEXT: .word .Ltmp7-test_i1_return_patchable
453+
; CHECK-NEXT: .half 0
454+
; CHECK-NEXT: .half 3
455+
; CHECK-NEXT: .byte 4
456+
; CHECK-NEXT: .byte 0
457+
; CHECK-NEXT: .half 8
458+
; CHECK-NEXT: .half 0
459+
; CHECK-NEXT: .half 0
460+
; CHECK-NEXT: .word 0
461+
; CHECK-NEXT: .byte 4
462+
; CHECK-NEXT: .byte 0
463+
; CHECK-NEXT: .half 8
464+
; CHECK-NEXT: .half 0
465+
; CHECK-NEXT: .half 0
466+
; CHECK-NEXT: .word 0
467+
; CHECK-NEXT: .byte 4
468+
; CHECK-NEXT: .byte 0
469+
; CHECK-NEXT: .half 8
470+
; CHECK-NEXT: .half 0
471+
; CHECK-NEXT: .half 0
472+
; CHECK-NEXT: .word 0
473+
; CHECK-NEXT: .p2align 3, 0x0
474+
; CHECK-NEXT: .half 0
475+
; CHECK-NEXT: .half 0
476+
; CHECK-NEXT: .p2align 3, 0x0
477+
; CHECK-NEXT: .dword 0
478+
; CHECK-NEXT: .word .Ltmp8-test_cross_bb
479+
; CHECK-NEXT: .half 0
480+
; CHECK-NEXT: .half 5
481+
; CHECK-NEXT: .byte 4
482+
; CHECK-NEXT: .byte 0
483+
; CHECK-NEXT: .half 8
484+
; CHECK-NEXT: .half 0
485+
; CHECK-NEXT: .half 0
486+
; CHECK-NEXT: .word 0
487+
; CHECK-NEXT: .byte 4
488+
; CHECK-NEXT: .byte 0
489+
; CHECK-NEXT: .half 8
490+
; CHECK-NEXT: .half 0
491+
; CHECK-NEXT: .half 0
492+
; CHECK-NEXT: .word 0
493+
; CHECK-NEXT: .byte 4
494+
; CHECK-NEXT: .byte 0
495+
; CHECK-NEXT: .half 8
496+
; CHECK-NEXT: .half 0
497+
; CHECK-NEXT: .half 0
498+
; CHECK-NEXT: .word 0
499+
; CHECK-NEXT: .byte 3
500+
; CHECK-NEXT: .byte 0
501+
; CHECK-NEXT: .half 8
502+
; CHECK-NEXT: .half 3
503+
; CHECK-NEXT: .half 0
504+
; CHECK-NEXT: .word 8
505+
; CHECK-NEXT: .byte 3
506+
; CHECK-NEXT: .byte 0
507+
; CHECK-NEXT: .half 8
508+
; CHECK-NEXT: .half 3
509+
; CHECK-NEXT: .half 0
510+
; CHECK-NEXT: .word 8
511+
; CHECK-NEXT: .p2align 3, 0x0
512+
; CHECK-NEXT: .half 0
513+
; CHECK-NEXT: .half 0
514+
; CHECK-NEXT: .p2align 3, 0x0
515+
; CHECK-NEXT: .dword 0
516+
; CHECK-NEXT: .word .Ltmp9-test_attributes
517+
; CHECK-NEXT: .half 0
518+
; CHECK-NEXT: .half 3
519+
; CHECK-NEXT: .byte 4
520+
; CHECK-NEXT: .byte 0
521+
; CHECK-NEXT: .half 8
522+
; CHECK-NEXT: .half 0
523+
; CHECK-NEXT: .half 0
524+
; CHECK-NEXT: .word 0
525+
; CHECK-NEXT: .byte 4
526+
; CHECK-NEXT: .byte 0
527+
; CHECK-NEXT: .half 8
528+
; CHECK-NEXT: .half 0
529+
; CHECK-NEXT: .half 0
530+
; CHECK-NEXT: .word 0
531+
; CHECK-NEXT: .byte 4
532+
; CHECK-NEXT: .byte 0
533+
; CHECK-NEXT: .half 8
534+
; CHECK-NEXT: .half 0
535+
; CHECK-NEXT: .half 0
536+
; CHECK-NEXT: .word 0
537+
; CHECK-NEXT: .p2align 3, 0x0
538+
; CHECK-NEXT: .half 0
539+
; CHECK-NEXT: .half 0
540+
; CHECK-NEXT: .p2align 3, 0x0
541+
220542
declare token @llvm.experimental.gc.statepoint.p0(i64, i32, ptr, i32, i32, ...)
221543
declare i1 @llvm.experimental.gc.result.i1(token)
222544
declare i32 @llvm.experimental.gc.result.i32(token)

0 commit comments

Comments
 (0)