[llvm] e8dba3a - [LoongArch] Add test for stackmaps. NFC

Qi Zhao via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 13 05:10:32 PST 2025


Author: Qi Zhao
Date: 2025-02-13T20:58:26+08:00
New Revision: e8dba3a4ffd88c9b6881308c98530e6af7a70763

URL: https://github.com/llvm/llvm-project/commit/e8dba3a4ffd88c9b6881308c98530e6af7a70763
DIFF: https://github.com/llvm/llvm-project/commit/e8dba3a4ffd88c9b6881308c98530e6af7a70763.diff

LOG: [LoongArch] Add test for stackmaps. NFC

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll b/llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
index e5febe62ae8a8..40e98582b3bc9 100644
--- a/llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
+++ b/llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
@@ -1,4 +1,3 @@
-; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
 ; RUN: llc --mtriple=loongarch64 -verify-machineinstrs < %s | FileCheck %s
 ;; A collection of basic functionality tests for statepoint lowering - most
 ;; interesting cornercases are exercised through the x86 tests.
@@ -217,6 +216,329 @@ entry:
   ret void
 }
 
+; CHECK-LABEL: .section .llvm_stackmaps
+; CHECK:       __LLVM_StackMaps:
+; CHECK-NEXT:    .byte 3
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 10
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .word 10
+; CHECK-NEXT:    .dword test_i1_return
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_i32_return
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_i32ptr_return
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_float_return
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_struct_return
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_relocate
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_void_vararg
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_i1_return_patchable
+; CHECK-NEXT:    .dword 16
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_cross_bb
+; CHECK-NEXT:    .dword 32
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword test_attributes
+; CHECK-NEXT:    .dword 32
+; CHECK-NEXT:    .dword 1
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp0-test_i1_return
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp1-test_i32_return
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp2-test_i32ptr_return
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp3-test_float_return
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp4-test_struct_return
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp5-test_relocate
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 5
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 3
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 3
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp6-test_void_vararg
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp7-test_i1_return_patchable
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp8-test_cross_bb
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 5
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 3
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 8
+; CHECK-NEXT:    .byte 3
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 8
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .dword 0
+; CHECK-NEXT:    .word .Ltmp9-test_attributes
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 3
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .byte 4
+; CHECK-NEXT:    .byte 0
+; CHECK-NEXT:    .half 8
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .word 0
+; CHECK-NEXT:    .p2align 3, 0x0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .half 0
+; CHECK-NEXT:    .p2align 3, 0x0
+
 declare token @llvm.experimental.gc.statepoint.p0(i64, i32, ptr, i32, i32, ...)
 declare i1 @llvm.experimental.gc.result.i1(token)
 declare i32 @llvm.experimental.gc.result.i32(token)


        


More information about the llvm-commits mailing list