Skip to content

Commit 612e6af

Browse files
committed
[RISCV][CFI] update tests
1 parent 199cbf4 commit 612e6af

File tree

296 files changed

+5220
-142
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

296 files changed

+5220
-142
lines changed

llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,15 @@ define void @test_scoped_alloca(i64 %n) {
2525
; RV32-NEXT: call use_addr
2626
; RV32-NEXT: mv sp, s1
2727
; RV32-NEXT: addi sp, s0, -16
28+
; RV32-NEXT: .cfi_def_cfa sp, 16
2829
; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
2930
; RV32-NEXT: lw s0, 8(sp) # 4-byte Folded Reload
3031
; RV32-NEXT: lw s1, 4(sp) # 4-byte Folded Reload
32+
; RV32-NEXT: .cfi_restore ra
33+
; RV32-NEXT: .cfi_restore s0
34+
; RV32-NEXT: .cfi_restore s1
3135
; RV32-NEXT: addi sp, sp, 16
36+
; RV32-NEXT: .cfi_def_cfa_offset 0
3237
; RV32-NEXT: ret
3338
;
3439
; RV64-LABEL: test_scoped_alloca:
@@ -51,10 +56,15 @@ define void @test_scoped_alloca(i64 %n) {
5156
; RV64-NEXT: call use_addr
5257
; RV64-NEXT: mv sp, s1
5358
; RV64-NEXT: addi sp, s0, -32
59+
; RV64-NEXT: .cfi_def_cfa sp, 32
5460
; RV64-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
5561
; RV64-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
5662
; RV64-NEXT: ld s1, 8(sp) # 8-byte Folded Reload
63+
; RV64-NEXT: .cfi_restore ra
64+
; RV64-NEXT: .cfi_restore s0
65+
; RV64-NEXT: .cfi_restore s1
5766
; RV64-NEXT: addi sp, sp, 32
67+
; RV64-NEXT: .cfi_def_cfa_offset 0
5868
; RV64-NEXT: ret
5969
%sp = call ptr @llvm.stacksave.p0()
6070
%addr = alloca i8, i64 %n

llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ define i32 @va1(ptr %fmt, ...) {
5959
; RV32-NEXT: sw a1, 12(sp)
6060
; RV32-NEXT: lw a0, 0(a0)
6161
; RV32-NEXT: addi sp, sp, 48
62+
; RV32-NEXT: .cfi_def_cfa_offset 0
6263
; RV32-NEXT: ret
6364
;
6465
; RV64-LABEL: va1:
@@ -84,6 +85,7 @@ define i32 @va1(ptr %fmt, ...) {
8485
; RV64-NEXT: sw a2, 12(sp)
8586
; RV64-NEXT: lw a0, 0(a0)
8687
; RV64-NEXT: addi sp, sp, 80
88+
; RV64-NEXT: .cfi_def_cfa_offset 0
8789
; RV64-NEXT: ret
8890
;
8991
; RV32-WITHFP-LABEL: va1:
@@ -111,7 +113,10 @@ define i32 @va1(ptr %fmt, ...) {
111113
; RV32-WITHFP-NEXT: lw a0, 0(a0)
112114
; RV32-WITHFP-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
113115
; RV32-WITHFP-NEXT: lw s0, 8(sp) # 4-byte Folded Reload
116+
; RV32-WITHFP-NEXT: .cfi_restore ra
117+
; RV32-WITHFP-NEXT: .cfi_restore s0
114118
; RV32-WITHFP-NEXT: addi sp, sp, 48
119+
; RV32-WITHFP-NEXT: .cfi_def_cfa_offset 0
115120
; RV32-WITHFP-NEXT: ret
116121
;
117122
; RV64-WITHFP-LABEL: va1:
@@ -144,7 +149,10 @@ define i32 @va1(ptr %fmt, ...) {
144149
; RV64-WITHFP-NEXT: lw a0, 0(a0)
145150
; RV64-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
146151
; RV64-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
152+
; RV64-WITHFP-NEXT: .cfi_restore ra
153+
; RV64-WITHFP-NEXT: .cfi_restore s0
147154
; RV64-WITHFP-NEXT: addi sp, sp, 96
155+
; RV64-WITHFP-NEXT: .cfi_def_cfa_offset 0
148156
; RV64-WITHFP-NEXT: ret
149157
%va = alloca ptr
150158
call void @llvm.va_start(ptr %va)
@@ -1588,6 +1596,7 @@ define i32 @va_large_stack(ptr %fmt, ...) {
15881596
; RV32-NEXT: lui a1, 24414
15891597
; RV32-NEXT: addi a1, a1, 304
15901598
; RV32-NEXT: add sp, sp, a1
1599+
; RV32-NEXT: .cfi_def_cfa_offset 0
15911600
; RV32-NEXT: ret
15921601
;
15931602
; RV64-LABEL: va_large_stack:
@@ -1633,6 +1642,7 @@ define i32 @va_large_stack(ptr %fmt, ...) {
16331642
; RV64-NEXT: lui a1, 24414
16341643
; RV64-NEXT: addiw a1, a1, 336
16351644
; RV64-NEXT: add sp, sp, a1
1645+
; RV64-NEXT: .cfi_def_cfa_offset 0
16361646
; RV64-NEXT: ret
16371647
;
16381648
; RV32-WITHFP-LABEL: va_large_stack:
@@ -1667,9 +1677,13 @@ define i32 @va_large_stack(ptr %fmt, ...) {
16671677
; RV32-WITHFP-NEXT: lui a1, 24414
16681678
; RV32-WITHFP-NEXT: addi a1, a1, -1728
16691679
; RV32-WITHFP-NEXT: add sp, sp, a1
1680+
; RV32-WITHFP-NEXT: .cfi_def_cfa_offset 2032
16701681
; RV32-WITHFP-NEXT: lw ra, 1996(sp) # 4-byte Folded Reload
16711682
; RV32-WITHFP-NEXT: lw s0, 1992(sp) # 4-byte Folded Reload
1683+
; RV32-WITHFP-NEXT: .cfi_restore ra
1684+
; RV32-WITHFP-NEXT: .cfi_restore s0
16721685
; RV32-WITHFP-NEXT: addi sp, sp, 2032
1686+
; RV32-WITHFP-NEXT: .cfi_def_cfa_offset 0
16731687
; RV32-WITHFP-NEXT: ret
16741688
;
16751689
; RV64-WITHFP-LABEL: va_large_stack:
@@ -1709,9 +1723,13 @@ define i32 @va_large_stack(ptr %fmt, ...) {
17091723
; RV64-WITHFP-NEXT: lui a1, 24414
17101724
; RV64-WITHFP-NEXT: addiw a1, a1, -1680
17111725
; RV64-WITHFP-NEXT: add sp, sp, a1
1726+
; RV64-WITHFP-NEXT: .cfi_def_cfa_offset 2032
17121727
; RV64-WITHFP-NEXT: ld ra, 1960(sp) # 8-byte Folded Reload
17131728
; RV64-WITHFP-NEXT: ld s0, 1952(sp) # 8-byte Folded Reload
1729+
; RV64-WITHFP-NEXT: .cfi_restore ra
1730+
; RV64-WITHFP-NEXT: .cfi_restore s0
17141731
; RV64-WITHFP-NEXT: addi sp, sp, 2032
1732+
; RV64-WITHFP-NEXT: .cfi_def_cfa_offset 0
17151733
; RV64-WITHFP-NEXT: ret
17161734
%large = alloca [ 100000000 x i8 ]
17171735
%va = alloca ptr
@@ -1739,6 +1757,7 @@ define iXLen @va_vprintf(ptr %fmt, ptr %arg_start) {
17391757
; RV32-NEXT: sw a1, 8(sp)
17401758
; RV32-NEXT: lw a0, 0(a0)
17411759
; RV32-NEXT: addi sp, sp, 16
1760+
; RV32-NEXT: .cfi_def_cfa_offset 0
17421761
; RV32-NEXT: ret
17431762
;
17441763
; RV64-LABEL: va_vprintf:
@@ -1755,6 +1774,7 @@ define iXLen @va_vprintf(ptr %fmt, ptr %arg_start) {
17551774
; RV64-NEXT: sd a1, 0(sp)
17561775
; RV64-NEXT: ld a0, 0(a0)
17571776
; RV64-NEXT: addi sp, sp, 16
1777+
; RV64-NEXT: .cfi_def_cfa_offset 0
17581778
; RV64-NEXT: ret
17591779
;
17601780
; RV32-WITHFP-LABEL: va_vprintf:
@@ -1778,7 +1798,10 @@ define iXLen @va_vprintf(ptr %fmt, ptr %arg_start) {
17781798
; RV32-WITHFP-NEXT: lw a0, 0(a0)
17791799
; RV32-WITHFP-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
17801800
; RV32-WITHFP-NEXT: lw s0, 8(sp) # 4-byte Folded Reload
1801+
; RV32-WITHFP-NEXT: .cfi_restore ra
1802+
; RV32-WITHFP-NEXT: .cfi_restore s0
17811803
; RV32-WITHFP-NEXT: addi sp, sp, 16
1804+
; RV32-WITHFP-NEXT: .cfi_def_cfa_offset 0
17821805
; RV32-WITHFP-NEXT: ret
17831806
;
17841807
; RV64-WITHFP-LABEL: va_vprintf:
@@ -1802,7 +1825,10 @@ define iXLen @va_vprintf(ptr %fmt, ptr %arg_start) {
18021825
; RV64-WITHFP-NEXT: ld a0, 0(a0)
18031826
; RV64-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
18041827
; RV64-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
1828+
; RV64-WITHFP-NEXT: .cfi_restore ra
1829+
; RV64-WITHFP-NEXT: .cfi_restore s0
18051830
; RV64-WITHFP-NEXT: addi sp, sp, 32
1831+
; RV64-WITHFP-NEXT: .cfi_def_cfa_offset 0
18061832
; RV64-WITHFP-NEXT: ret
18071833
%args = alloca ptr
18081834
%args_cp = alloca ptr
@@ -1832,7 +1858,9 @@ define i32 @va_printf(ptr %fmt, ...) {
18321858
; RV32-NEXT: sw a7, 44(sp)
18331859
; RV32-NEXT: call va_vprintf
18341860
; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
1861+
; RV32-NEXT: .cfi_restore ra
18351862
; RV32-NEXT: addi sp, sp, 48
1863+
; RV32-NEXT: .cfi_def_cfa_offset 0
18361864
; RV32-NEXT: ret
18371865
;
18381866
; RV64-LABEL: va_printf:
@@ -1853,7 +1881,9 @@ define i32 @va_printf(ptr %fmt, ...) {
18531881
; RV64-NEXT: sd a7, 72(sp)
18541882
; RV64-NEXT: call va_vprintf
18551883
; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
1884+
; RV64-NEXT: .cfi_restore ra
18561885
; RV64-NEXT: addi sp, sp, 80
1886+
; RV64-NEXT: .cfi_def_cfa_offset 0
18571887
; RV64-NEXT: ret
18581888
;
18591889
; RV32-WITHFP-LABEL: va_printf:
@@ -1879,7 +1909,10 @@ define i32 @va_printf(ptr %fmt, ...) {
18791909
; RV32-WITHFP-NEXT: call va_vprintf
18801910
; RV32-WITHFP-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
18811911
; RV32-WITHFP-NEXT: lw s0, 8(sp) # 4-byte Folded Reload
1912+
; RV32-WITHFP-NEXT: .cfi_restore ra
1913+
; RV32-WITHFP-NEXT: .cfi_restore s0
18821914
; RV32-WITHFP-NEXT: addi sp, sp, 48
1915+
; RV32-WITHFP-NEXT: .cfi_def_cfa_offset 0
18831916
; RV32-WITHFP-NEXT: ret
18841917
;
18851918
; RV64-WITHFP-LABEL: va_printf:
@@ -1905,7 +1938,10 @@ define i32 @va_printf(ptr %fmt, ...) {
19051938
; RV64-WITHFP-NEXT: call va_vprintf
19061939
; RV64-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
19071940
; RV64-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
1941+
; RV64-WITHFP-NEXT: .cfi_restore ra
1942+
; RV64-WITHFP-NEXT: .cfi_restore s0
19081943
; RV64-WITHFP-NEXT: addi sp, sp, 96
1944+
; RV64-WITHFP-NEXT: .cfi_def_cfa_offset 0
19091945
; RV64-WITHFP-NEXT: ret
19101946
%args = alloca ptr
19111947
call void @llvm.va_start(ptr %args)

llvm/test/CodeGen/RISCV/addrspacecast.ll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ define void @cast1(ptr %ptr) {
2828
; RV32I-NEXT: .cfi_offset ra, -4
2929
; RV32I-NEXT: call foo
3030
; RV32I-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
31+
; RV32I-NEXT: .cfi_restore ra
3132
; RV32I-NEXT: addi sp, sp, 16
33+
; RV32I-NEXT: .cfi_def_cfa_offset 0
3234
; RV32I-NEXT: ret
3335
;
3436
; RV64I-LABEL: cast1:
@@ -39,7 +41,9 @@ define void @cast1(ptr %ptr) {
3941
; RV64I-NEXT: .cfi_offset ra, -8
4042
; RV64I-NEXT: call foo
4143
; RV64I-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
44+
; RV64I-NEXT: .cfi_restore ra
4245
; RV64I-NEXT: addi sp, sp, 16
46+
; RV64I-NEXT: .cfi_def_cfa_offset 0
4347
; RV64I-NEXT: ret
4448
%castptr = addrspacecast ptr %ptr to ptr addrspace(10)
4549
call void @foo(ptr addrspace(10) %castptr)

0 commit comments

Comments
 (0)