Skip to content

Commit d023044

Browse files
committed
[AArch64] Remove non-sensible define nonlazybind test
nonlazybind is for declarations, not for definitions. We could test the behavior, but the output would be misleading.
1 parent dc57752 commit d023044

File tree

1 file changed

+61
-53
lines changed

1 file changed

+61
-53
lines changed

llvm/test/CodeGen/AArch64/nonlazybind.ll

Lines changed: 61 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -5,74 +5,81 @@
55
; RUN: llc -mtriple=aarch64 -global-isel %s -o - | FileCheck %s --check-prefixes=ELF,ELF-GI
66
; RUN: llc -mtriple=aarch64 %s -o - | FileCheck %s --check-prefixes=ELF,ELF-SDAG
77

8-
define dso_preemptable void @preemptable() nonlazybind {
9-
; MACHO-LABEL: preemptable:
10-
; MACHO: ; %bb.0:
11-
; MACHO-NEXT: ret
12-
;
13-
; MACHO-NORMAL-LABEL: preemptable:
14-
; MACHO-NORMAL: ; %bb.0:
15-
; MACHO-NORMAL-NEXT: ret
16-
;
17-
; ELF-LABEL: preemptable:
18-
; ELF: // %bb.0:
19-
; ELF-NEXT: ret
20-
ret void
21-
}
22-
23-
define dso_local void @local() nonlazybind {
24-
; MACHO-LABEL: local:
25-
; MACHO: ; %bb.0:
26-
; MACHO-NEXT: ret
27-
;
28-
; MACHO-NORMAL-LABEL: local:
29-
; MACHO-NORMAL: ; %bb.0:
30-
; MACHO-NORMAL-NEXT: ret
31-
;
32-
; ELF-LABEL: local:
33-
; ELF: // %bb.0:
34-
; ELF-NEXT: ret
35-
ret void
36-
}
37-
388
declare void @external() nonlazybind
399

40-
define void @test_laziness() nounwind {
10+
define void @test_laziness(ptr %a) nounwind {
4111
;
4212
; MACHO-LABEL: test_laziness:
4313
; MACHO: ; %bb.0:
44-
; MACHO-NEXT: stp x29, x30, [sp, #-16]! ; 16-byte Folded Spill
45-
; MACHO-NEXT: bl _preemptable
46-
; MACHO-NEXT: bl _local
14+
; MACHO-NEXT: stp x20, x19, [sp, #-32]! ; 16-byte Folded Spill
15+
; MACHO-NEXT: stp x29, x30, [sp, #16] ; 16-byte Folded Spill
4716
; MACHO-NEXT: Lloh0:
4817
; MACHO-NEXT: adrp x8, _external@GOTPAGE
18+
; MACHO-NEXT: mov x19, x0
4919
; MACHO-NEXT: Lloh1:
5020
; MACHO-NEXT: ldr x8, [x8, _external@GOTPAGEOFF]
5121
; MACHO-NEXT: blr x8
52-
; MACHO-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload
22+
; MACHO-NEXT: mov x0, x19
23+
; MACHO-NEXT: mov w1, #1 ; =0x1
24+
; MACHO-NEXT: mov w2, #1000 ; =0x3e8
25+
; MACHO-NEXT: bl _memset
26+
; MACHO-NEXT: ldp x29, x30, [sp, #16] ; 16-byte Folded Reload
27+
; MACHO-NEXT: ldp x20, x19, [sp], #32 ; 16-byte Folded Reload
5328
; MACHO-NEXT: ret
5429
; MACHO-NEXT: .loh AdrpLdrGot Lloh0, Lloh1
5530
;
5631
; MACHO-NORMAL-LABEL: test_laziness:
5732
; MACHO-NORMAL: ; %bb.0:
58-
; MACHO-NORMAL-NEXT: stp x29, x30, [sp, #-16]! ; 16-byte Folded Spill
59-
; MACHO-NORMAL-NEXT: bl _preemptable
60-
; MACHO-NORMAL-NEXT: bl _local
33+
; MACHO-NORMAL-NEXT: stp x20, x19, [sp, #-32]! ; 16-byte Folded Spill
34+
; MACHO-NORMAL-NEXT: stp x29, x30, [sp, #16] ; 16-byte Folded Spill
35+
; MACHO-NORMAL-NEXT: mov x19, x0
6136
; MACHO-NORMAL-NEXT: bl _external
62-
; MACHO-NORMAL-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload
37+
; MACHO-NORMAL-NEXT: mov x0, x19
38+
; MACHO-NORMAL-NEXT: mov w1, #1 ; =0x1
39+
; MACHO-NORMAL-NEXT: mov w2, #1000 ; =0x3e8
40+
; MACHO-NORMAL-NEXT: bl _memset
41+
; MACHO-NORMAL-NEXT: ldp x29, x30, [sp, #16] ; 16-byte Folded Reload
42+
; MACHO-NORMAL-NEXT: ldp x20, x19, [sp], #32 ; 16-byte Folded Reload
6343
; MACHO-NORMAL-NEXT: ret
6444
;
65-
; ELF-LABEL: test_laziness:
66-
; ELF: // %bb.0:
67-
; ELF-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
68-
; ELF-NEXT: bl preemptable
69-
; ELF-NEXT: bl local
70-
; ELF-NEXT: bl external
71-
; ELF-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload
72-
; ELF-NEXT: ret
73-
call void @preemptable()
74-
call void @local()
45+
; ELF-FI-LABEL: test_laziness:
46+
; ELF-FI: // %bb.0:
47+
; ELF-FI-NEXT: stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
48+
; ELF-FI-NEXT: mov x19, x0
49+
; ELF-FI-NEXT: bl external
50+
; ELF-FI-NEXT: mov w8, #1 // =0x1
51+
; ELF-FI-NEXT: mov x0, x19
52+
; ELF-FI-NEXT: mov x2, #1000 // =0x3e8
53+
; ELF-FI-NEXT: uxtb w1, w8
54+
; ELF-FI-NEXT: bl memset
55+
; ELF-FI-NEXT: ldp x30, x19, [sp], #16 // 16-byte Folded Reload
56+
; ELF-FI-NEXT: ret
57+
;
58+
; ELF-GI-LABEL: test_laziness:
59+
; ELF-GI: // %bb.0:
60+
; ELF-GI-NEXT: stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
61+
; ELF-GI-NEXT: mov x19, x0
62+
; ELF-GI-NEXT: bl external
63+
; ELF-GI-NEXT: mov x0, x19
64+
; ELF-GI-NEXT: mov w1, #1 // =0x1
65+
; ELF-GI-NEXT: mov w2, #1000 // =0x3e8
66+
; ELF-GI-NEXT: bl memset
67+
; ELF-GI-NEXT: ldp x30, x19, [sp], #16 // 16-byte Folded Reload
68+
; ELF-GI-NEXT: ret
69+
;
70+
; ELF-SDAG-LABEL: test_laziness:
71+
; ELF-SDAG: // %bb.0:
72+
; ELF-SDAG-NEXT: stp x30, x19, [sp, #-16]! // 16-byte Folded Spill
73+
; ELF-SDAG-NEXT: mov x19, x0
74+
; ELF-SDAG-NEXT: bl external
75+
; ELF-SDAG-NEXT: mov x0, x19
76+
; ELF-SDAG-NEXT: mov w1, #1 // =0x1
77+
; ELF-SDAG-NEXT: mov w2, #1000 // =0x3e8
78+
; ELF-SDAG-NEXT: bl memset
79+
; ELF-SDAG-NEXT: ldp x30, x19, [sp], #16 // 16-byte Folded Reload
80+
; ELF-SDAG-NEXT: ret
7581
call void @external()
82+
call void @llvm.memset.p0.i64(ptr align 1 %a, i8 1, i64 1000, i1 false)
7683
ret void
7784
}
7885

@@ -96,7 +103,8 @@ define void @test_laziness_tail() nounwind {
96103
tail call void @external()
97104
ret void
98105
}
99-
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
100-
; ELF-FI: {{.*}}
101-
; ELF-GI: {{.*}}
102-
; ELF-SDAG: {{.*}}
106+
107+
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)
108+
109+
!llvm.module.flags = !{!0}
110+
!0 = !{i32 7, !"RtLibUseGOT", i32 1}

0 commit comments

Comments
 (0)