[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