Skip to content

Commit 9f95a65

Browse files
committed
Commute the operands of the add and regenerate mingw-refptr.ll with update_llc_test_checks.py
1 parent 823bd2f commit 9f95a65

File tree

3 files changed

+75
-5
lines changed

3 files changed

+75
-5
lines changed

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29108,9 +29108,10 @@ SDValue AArch64TargetLowering::emitStackGuardMixCookie(SelectionDAG &DAG,
2910829108
bool FailureBB) const {
2910929109
if (FailureBB) {
2911029110
return DAG.getNode(
29111-
ISD::ADD, DL, Val.getValueType(), Val,
29111+
ISD::ADD, DL, Val.getValueType(),
2911229112
DAG.getCopyFromReg(DAG.getEntryNode(), DL,
29113-
getStackPointerRegisterToSaveRestore(), MVT::i64));
29113+
getStackPointerRegisterToSaveRestore(), MVT::i64),
29114+
Val);
2911429115
}
2911529116
return Val;
2911629117
}

llvm/test/CodeGen/AArch64/mingw-refptr.ll

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ define dso_local i32 @getVar() {
1515
; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.var]
1616
; CHECK-NEXT: ldr w0, [x8]
1717
; CHECK-NEXT: ret
18+
;
19+
; CHECK-GI-LABEL: getVar:
20+
; CHECK-GI: // %bb.0: // %entry
21+
; CHECK-GI-NEXT: adrp x8, .refptr.var
22+
; CHECK-GI-NEXT: ldr x8, [x8, :lo12:.refptr.var]
23+
; CHECK-GI-NEXT: ldr w0, [x8]
24+
; CHECK-GI-NEXT: ret
1825
entry:
1926
%0 = load i32, ptr @var, align 4
2027
ret i32 %0
@@ -26,6 +33,12 @@ define dso_local i32 @getDsoLocalVar() {
2633
; CHECK-NEXT: adrp x8, dsolocalvar
2734
; CHECK-NEXT: ldr w0, [x8, :lo12:dsolocalvar]
2835
; CHECK-NEXT: ret
36+
;
37+
; CHECK-GI-LABEL: getDsoLocalVar:
38+
; CHECK-GI: // %bb.0: // %entry
39+
; CHECK-GI-NEXT: adrp x8, dsolocalvar
40+
; CHECK-GI-NEXT: ldr w0, [x8, :lo12:dsolocalvar]
41+
; CHECK-GI-NEXT: ret
2942
entry:
3043
%0 = load i32, ptr @dsolocalvar, align 4
3144
ret i32 %0
@@ -37,6 +50,12 @@ define dso_local i32 @getLocalVar() {
3750
; CHECK-NEXT: adrp x8, localvar
3851
; CHECK-NEXT: ldr w0, [x8, :lo12:localvar]
3952
; CHECK-NEXT: ret
53+
;
54+
; CHECK-GI-LABEL: getLocalVar:
55+
; CHECK-GI: // %bb.0: // %entry
56+
; CHECK-GI-NEXT: adrp x8, localvar
57+
; CHECK-GI-NEXT: ldr w0, [x8, :lo12:localvar]
58+
; CHECK-GI-NEXT: ret
4059
entry:
4160
%0 = load i32, ptr @localvar, align 4
4261
ret i32 %0
@@ -48,6 +67,12 @@ define dso_local i32 @getLocalCommon() {
4867
; CHECK-NEXT: adrp x8, localcommon
4968
; CHECK-NEXT: ldr w0, [x8, :lo12:localcommon]
5069
; CHECK-NEXT: ret
70+
;
71+
; CHECK-GI-LABEL: getLocalCommon:
72+
; CHECK-GI: // %bb.0: // %entry
73+
; CHECK-GI-NEXT: adrp x8, localcommon
74+
; CHECK-GI-NEXT: ldr w0, [x8, :lo12:localcommon]
75+
; CHECK-GI-NEXT: ret
5176
entry:
5277
%0 = load i32, ptr @localcommon, align 4
5378
ret i32 %0
@@ -60,6 +85,13 @@ define dso_local i32 @getExtVar() {
6085
; CHECK-NEXT: ldr x8, [x8, :lo12:__imp_extvar]
6186
; CHECK-NEXT: ldr w0, [x8]
6287
; CHECK-NEXT: ret
88+
;
89+
; CHECK-GI-LABEL: getExtVar:
90+
; CHECK-GI: // %bb.0: // %entry
91+
; CHECK-GI-NEXT: adrp x8, __imp_extvar
92+
; CHECK-GI-NEXT: ldr x8, [x8, :lo12:__imp_extvar]
93+
; CHECK-GI-NEXT: ldr w0, [x8]
94+
; CHECK-GI-NEXT: ret
6395
entry:
6496
%0 = load i32, ptr @extvar, align 4
6597
ret i32 %0
@@ -69,6 +101,10 @@ define dso_local void @callFunc() {
69101
; CHECK-LABEL: callFunc:
70102
; CHECK: // %bb.0: // %entry
71103
; CHECK-NEXT: b otherFunc
104+
;
105+
; CHECK-GI-LABEL: callFunc:
106+
; CHECK-GI: // %bb.0: // %entry
107+
; CHECK-GI-NEXT: b otherFunc
72108
entry:
73109
tail call void @otherFunc()
74110
ret void
@@ -112,6 +148,40 @@ define dso_local void @sspFunc() #0 {
112148
; CHECK-NEXT: brk #0x1
113149
; CHECK-NEXT: .seh_endfunclet
114150
; CHECK-NEXT: .seh_endproc
151+
;
152+
; CHECK-GI-LABEL: sspFunc:
153+
; CHECK-GI: .seh_proc sspFunc
154+
; CHECK-GI-NEXT: // %bb.0: // %entry
155+
; CHECK-GI-NEXT: sub sp, sp, #32
156+
; CHECK-GI-NEXT: .seh_stackalloc 32
157+
; CHECK-GI-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
158+
; CHECK-GI-NEXT: .seh_save_reg x30, 16
159+
; CHECK-GI-NEXT: .seh_endprologue
160+
; CHECK-GI-NEXT: adrp x8, .refptr.__stack_chk_guard
161+
; CHECK-GI-NEXT: add x0, sp, #7
162+
; CHECK-GI-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
163+
; CHECK-GI-NEXT: ldr x8, [x8]
164+
; CHECK-GI-NEXT: str x8, [sp, #8]
165+
; CHECK-GI-NEXT: bl ptrUser
166+
; CHECK-GI-NEXT: adrp x8, .refptr.__stack_chk_guard
167+
; CHECK-GI-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
168+
; CHECK-GI-NEXT: ldr x9, [sp, #8]
169+
; CHECK-GI-NEXT: ldr x8, [x8]
170+
; CHECK-GI-NEXT: cmp x8, x9
171+
; CHECK-GI-NEXT: b.ne .LBB6_2
172+
; CHECK-GI-NEXT: // %bb.1: // %entry
173+
; CHECK-GI-NEXT: .seh_startepilogue
174+
; CHECK-GI-NEXT: ldr x30, [sp, #16] // 8-byte Folded Reload
175+
; CHECK-GI-NEXT: .seh_save_reg x30, 16
176+
; CHECK-GI-NEXT: add sp, sp, #32
177+
; CHECK-GI-NEXT: .seh_stackalloc 32
178+
; CHECK-GI-NEXT: .seh_endepilogue
179+
; CHECK-GI-NEXT: ret
180+
; CHECK-GI-NEXT: .LBB6_2: // %entry
181+
; CHECK-GI-NEXT: bl __stack_chk_fail
182+
; CHECK-GI-NEXT: brk #0x1
183+
; CHECK-GI-NEXT: .seh_endfunclet
184+
; CHECK-GI-NEXT: .seh_endproc
115185
entry:
116186
%c = alloca i8, align 1
117187
call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %c)
@@ -136,5 +206,4 @@ attributes #0 = { sspstrong }
136206
; CHECK: .xword var
137207

138208
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
139-
; CHECK-GI: {{.*}}
140209
; CHECK-SD: {{.*}}

llvm/test/CodeGen/AArch64/stack-protector-target.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ declare void @_Z7CapturePi(ptr)
3636
; WINDOWS-AARCH64: bl _Z7CapturePi
3737
; WINDOWS-AARCH64: ldr x8, [sp, #8]
3838
; WINDOWS-AARCH64: mov x9, sp
39-
; WINDOWS-AARCH64: add x0, x8, x9
39+
; WINDOWS-AARCH64: add x0, x9, x8
4040
; WINDOWS-AARCH64: bl __security_check_cookie
4141

4242
; WINDOWS-ARM64EC: adrp x8, __security_cookie
@@ -46,5 +46,5 @@ declare void @_Z7CapturePi(ptr)
4646
; WINDOWS-ARM64EC: bl "#_Z7CapturePi"
4747
; WINDOWS-ARM64EC: ldr x8, [sp, #8]
4848
; WINDOWS-ARM64EC: mov x9, sp
49-
; WINDOWS-ARM64EC: add x0, x8, x9
49+
; WINDOWS-ARM64EC: add x0, x9, x8
5050
; WINDOWS-ARM64EC: bl "#__security_check_cookie_arm64ec"

0 commit comments

Comments
 (0)