Skip to content

Commit 273917e

Browse files
committed
[AArch64] Update and extend some GlobalMerge tests. NFC
1 parent de0094e commit 273917e

File tree

4 files changed

+100
-39
lines changed

4 files changed

+100
-39
lines changed

llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
; RUN: llc -mtriple=aarch64-none-linux -tail-dup-size=4 < %s | FileCheck %s --check-prefix=CHECK-O2
66
; RUN: llc -mtriple=aarch64-none-linux -tail-dup-placement-threshold=4 < %s | FileCheck %s --check-prefix=CHECK-O2
7-
; RUN: llc -mtriple=aarch64-none-linux -tail-dup-placement-threshold=6 < %s | FileCheck %s --check-prefix=CHECK-O3
7+
; RUN: llc -mtriple=aarch64-none-linux -tail-dup-placement-threshold=6 < %s | FileCheck %s --check-prefix=CHECK-O2-6
88

99
%a = type { ptr, i32, %b }
1010
%b = type { %c }
@@ -29,7 +29,7 @@ define dso_local void @testcase(ptr nocapture %arg){
2929
; CHECK-O2-NEXT: .LBB0_3: // %if.end
3030
; CHECK-O2-NEXT: adrp x9, global_int
3131
; CHECK-O2-NEXT: add x2, x8, #16
32-
; CHECK-O2-NEXT: mov w0, #10
32+
; CHECK-O2-NEXT: mov w0, #10 // =0xa
3333
; CHECK-O2-NEXT: ldr w1, [x9, :lo12:global_int]
3434
; CHECK-O2-NEXT: b externalfunc
3535
;
@@ -44,16 +44,38 @@ define dso_local void @testcase(ptr nocapture %arg){
4444
; CHECK-O3-NEXT: ldr x8, [x8, :lo12:global_ptr]
4545
; CHECK-O3-NEXT: adrp x9, global_int
4646
; CHECK-O3-NEXT: add x2, x8, #16
47-
; CHECK-O3-NEXT: mov w0, #10
47+
; CHECK-O3-NEXT: mov w0, #10 // =0xa
4848
; CHECK-O3-NEXT: ldr w1, [x9, :lo12:global_int]
4949
; CHECK-O3-NEXT: b externalfunc
5050
; CHECK-O3-NEXT: .LBB0_2:
5151
; CHECK-O3-NEXT: mov x8, xzr
5252
; CHECK-O3-NEXT: adrp x9, global_int
5353
; CHECK-O3-NEXT: add x2, x8, #16
54-
; CHECK-O3-NEXT: mov w0, #10
54+
; CHECK-O3-NEXT: mov w0, #10 // =0xa
5555
; CHECK-O3-NEXT: ldr w1, [x9, :lo12:global_int]
5656
; CHECK-O3-NEXT: b externalfunc
57+
;
58+
; CHECK-O2-6-LABEL: testcase:
59+
; CHECK-O2-6: // %bb.0: // %entry
60+
; CHECK-O2-6-NEXT: adrp x8, global_ptr
61+
; CHECK-O2-6-NEXT: ldr x9, [x8, :lo12:global_ptr]
62+
; CHECK-O2-6-NEXT: cbz x9, .LBB0_2
63+
; CHECK-O2-6-NEXT: // %bb.1: // %if.then
64+
; CHECK-O2-6-NEXT: ldr x9, [x9]
65+
; CHECK-O2-6-NEXT: str x9, [x0]
66+
; CHECK-O2-6-NEXT: ldr x8, [x8, :lo12:global_ptr]
67+
; CHECK-O2-6-NEXT: adrp x9, global_int
68+
; CHECK-O2-6-NEXT: add x2, x8, #16
69+
; CHECK-O2-6-NEXT: mov w0, #10 // =0xa
70+
; CHECK-O2-6-NEXT: ldr w1, [x9, :lo12:global_int]
71+
; CHECK-O2-6-NEXT: b externalfunc
72+
; CHECK-O2-6-NEXT: .LBB0_2:
73+
; CHECK-O2-6-NEXT: mov x8, xzr
74+
; CHECK-O2-6-NEXT: adrp x9, global_int
75+
; CHECK-O2-6-NEXT: add x2, x8, #16
76+
; CHECK-O2-6-NEXT: mov w0, #10 // =0xa
77+
; CHECK-O2-6-NEXT: ldr w1, [x9, :lo12:global_int]
78+
; CHECK-O2-6-NEXT: b externalfunc
5779
entry:
5880
%0 = load ptr, ptr @global_ptr, align 8
5981
%cmp.not = icmp eq ptr %0, null
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
2+
; RUN: llc %s -o - -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,CHECK-O2
3+
; RUN: llc -O3 %s -o - -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,CHECK-O3
4+
5+
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
6+
target triple = "aarch64"
7+
8+
@global0 = dso_local local_unnamed_addr global i32 0, align 4
9+
@global1 = dso_local local_unnamed_addr global i32 0, align 4
10+
11+
define dso_local i32 @func() {
12+
; CHECK-LABEL: func:
13+
; CHECK: // %bb.0: // %entry
14+
; CHECK-NEXT: adrp x8, global0
15+
; CHECK-NEXT: adrp x9, global1
16+
; CHECK-NEXT: ldr w8, [x8, :lo12:global0]
17+
; CHECK-NEXT: ldr w9, [x9, :lo12:global1]
18+
; CHECK-NEXT: add w0, w9, w8
19+
; CHECK-NEXT: ret
20+
entry:
21+
%0 = load i32, ptr @global0, align 4
22+
%1 = load i32, ptr @global1, align 4
23+
%add = add nsw i32 %1, %0
24+
ret i32 %add
25+
}
26+
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
27+
; CHECK-O2: {{.*}}
28+
; CHECK-O3: {{.*}}

llvm/test/CodeGen/AArch64/global-merge-minsize.ll

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
12
; RUN: llc %s -o - -verify-machineinstrs | FileCheck %s
23

34
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
@@ -7,12 +8,13 @@ target triple = "aarch64"
78
@global1 = dso_local local_unnamed_addr global i32 0, align 4
89

910
define dso_local i32 @func() minsize optsize {
10-
; CHECK-LABEL: @func
11-
; CHECK: adrp x8, .L_MergedGlobals
12-
; CHECK-NEXT: add x8, x8, :lo12:.L_MergedGlobals
13-
; CHECK-NEXT: ldp w9, w8, [x8]
14-
; CHECK-NEXT: add w0, w8, w9
15-
; CHECK-NEXT: ret
11+
; CHECK-LABEL: func:
12+
; CHECK: // %bb.0: // %entry
13+
; CHECK-NEXT: adrp x8, .L_MergedGlobals
14+
; CHECK-NEXT: add x8, x8, :lo12:.L_MergedGlobals
15+
; CHECK-NEXT: ldp w9, w8, [x8]
16+
; CHECK-NEXT: add w0, w8, w9
17+
; CHECK-NEXT: ret
1618
entry:
1719
%0 = load i32, ptr @global0, align 4
1820
%1 = load i32, ptr @global1, align 4

llvm/test/CodeGen/AArch64/local-bounds-single-trap.ll

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
12
; RUN: llc -O3 -mtriple arm64-linux -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-ASM
23
; This test checks that nomerge correctly prevents the traps from being merged
34
; in the compiled code.
@@ -9,36 +10,44 @@
910

1011
; Function Attrs: noinline nounwind uwtable
1112
define dso_local void @f8(i32 noundef %i, i32 noundef %k) #0 {
13+
; CHECK-ASM-LABEL: f8:
14+
; CHECK-ASM: // %bb.0: // %entry
15+
; CHECK-ASM-NEXT: sub sp, sp, #16
16+
; CHECK-ASM-NEXT: .cfi_def_cfa_offset 16
17+
; CHECK-ASM-NEXT: .cfi_remember_state
18+
; CHECK-ASM-NEXT: // kill: def $w0 killed $w0 def $x0
19+
; CHECK-ASM-NEXT: sxtw x8, w0
20+
; CHECK-ASM-NEXT: stp w1, w0, [sp, #8]
21+
; CHECK-ASM-NEXT: cmp x8, #10
22+
; CHECK-ASM-NEXT: b.hi .LBB0_5
23+
; CHECK-ASM-NEXT: // %bb.1: // %entry
24+
; CHECK-ASM-NEXT: mov w9, #10 // =0xa
25+
; CHECK-ASM-NEXT: sub x9, x9, x8
26+
; CHECK-ASM-NEXT: cbz x9, .LBB0_5
27+
; CHECK-ASM-NEXT: // %bb.2:
28+
; CHECK-ASM-NEXT: ldrsw x9, [sp, #8]
29+
; CHECK-ASM-NEXT: adrp x10, B
30+
; CHECK-ASM-NEXT: add x10, x10, :lo12:B
31+
; CHECK-ASM-NEXT: strb wzr, [x10, x8]
32+
; CHECK-ASM-NEXT: cmp x9, #10
33+
; CHECK-ASM-NEXT: b.hi .LBB0_6
34+
; CHECK-ASM-NEXT: // %bb.3:
35+
; CHECK-ASM-NEXT: mov w8, #10 // =0xa
36+
; CHECK-ASM-NEXT: sub x8, x8, x9
37+
; CHECK-ASM-NEXT: cbz x8, .LBB0_6
38+
; CHECK-ASM-NEXT: // %bb.4:
39+
; CHECK-ASM-NEXT: adrp x8, B2
40+
; CHECK-ASM-NEXT: add x8, x8, :lo12:B2
41+
; CHECK-ASM-NEXT: strb wzr, [x8, x9]
42+
; CHECK-ASM-NEXT: add sp, sp, #16
43+
; CHECK-ASM-NEXT: .cfi_def_cfa_offset 0
44+
; CHECK-ASM-NEXT: ret
45+
; CHECK-ASM-NEXT: .LBB0_5: // %trap
46+
; CHECK-ASM-NEXT: .cfi_restore_state
47+
; CHECK-ASM-NEXT: brk #0x1
48+
; CHECK-ASM-NEXT: .LBB0_6: // %trap3
49+
; CHECK-ASM-NEXT: brk #0x1
1250
entry:
13-
; CHECK-ASM: cmp x8, #10
14-
; CHECK-ASM: b.hi .LBB0_5
15-
; CHECK-ASM: // %bb.1: // %entry
16-
; CHECK-ASM: mov w9, #10 // =0xa
17-
; CHECK-ASM: sub x9, x9, x8
18-
; CHECK-ASM: cbz x9, .LBB0_5
19-
; CHECK-ASM: // %bb.2:
20-
; CHECK-ASM: ldrsw x9, [sp, #8]
21-
; CHECK-ASM: adrp x10, B
22-
; CHECK-ASM: add x10, x10, :lo12:B
23-
; CHECK-ASM: strb wzr, [x10, x8]
24-
; CHECK-ASM: cmp x9, #10
25-
; CHECK-ASM: b.hi .LBB0_6
26-
; CHECK-ASM: // %bb.3:
27-
; CHECK-ASM: mov w8, #10 // =0xa
28-
; CHECK-ASM: sub x8, x8, x9
29-
; CHECK-ASM: cbz x8, .LBB0_6
30-
; CHECK-ASM: // %bb.4:
31-
; CHECK-ASM: adrp x8, B2
32-
; CHECK-ASM: add x8, x8, :lo12:B2
33-
; CHECK-ASM: strb wzr, [x8, x9]
34-
; CHECK-ASM: add sp, sp, #16
35-
; CHECK-ASM: .cfi_def_cfa_offset 0
36-
; CHECK-ASM: ret
37-
; CHECK-ASM: .LBB0_5: // %trap
38-
; CHECK-ASM: .cfi_restore_state
39-
; CHECK-ASM: brk #0x1
40-
; CHECK-ASM: .LBB0_6: // %trap3
41-
; CHECK-ASM: brk #0x1
4251
%i.addr = alloca i32, align 4
4352
%k.addr = alloca i32, align 4
4453
store i32 %i, ptr %i.addr, align 4

0 commit comments

Comments
 (0)