Skip to content

Commit 2e737b9

Browse files
committed
Commute the operands of the add and regenerate mingw-refptr.ll with update_llc_test_checks.py
1 parent df09547 commit 2e737b9

File tree

3 files changed

+22
-17
lines changed

3 files changed

+22
-17
lines changed

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29254,9 +29254,10 @@ SDValue AArch64TargetLowering::emitStackGuardMixCookie(SelectionDAG &DAG,
2925429254
bool FailureBB) const {
2925529255
if (FailureBB) {
2925629256
return DAG.getNode(
29257-
ISD::ADD, DL, Val.getValueType(), Val,
29257+
ISD::ADD, DL, Val.getValueType(),
2925829258
DAG.getCopyFromReg(DAG.getEntryNode(), DL,
29259-
getStackPointerRegisterToSaveRestore(), MVT::i64));
29259+
getStackPointerRegisterToSaveRestore(), MVT::i64),
29260+
Val);
2926029261
}
2926129262
return Val;
2926229263
}

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

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -118,27 +118,31 @@ define dso_local void @sspFunc() #0 {
118118
; CHECK-NEXT: // %bb.0: // %entry
119119
; CHECK-NEXT: sub sp, sp, #32
120120
; CHECK-NEXT: .seh_stackalloc 32
121-
; CHECK-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
122-
; CHECK-NEXT: .seh_save_reg x30, 16
121+
; CHECK-NEXT: str x19, [sp, #16] // 8-byte Spill
122+
; CHECK-NEXT: .seh_save_reg x19, 16
123+
; CHECK-NEXT: str x30, [sp, #24] // 8-byte Spill
124+
; CHECK-NEXT: .seh_save_reg x30, 24
123125
; CHECK-NEXT: .seh_endprologue
124-
; CHECK-NEXT: adrp x8, .refptr.__stack_chk_guard
126+
; CHECK-NEXT: adrp x19, .refptr.__stack_chk_guard
127+
; CHECK-NEXT: mov x9, sp
125128
; CHECK-NEXT: add x0, sp, #7
126-
; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
127-
; CHECK-NEXT: ldr x8, [x8]
128-
; CHECK-NEXT: sub x8, sp, x8
129+
; CHECK-NEXT: ldr x19, [x19, :lo12:.refptr.__stack_chk_guard]
130+
; CHECK-NEXT: ldr x8, [x19]
131+
; CHECK-NEXT: eor x8, x8, x9
129132
; CHECK-NEXT: str x8, [sp, #8]
130133
; CHECK-NEXT: bl ptrUser
131-
; CHECK-NEXT: adrp x8, .refptr.__stack_chk_guard
132-
; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
133134
; CHECK-NEXT: ldr x9, [sp, #8]
134-
; CHECK-NEXT: ldr x8, [x8]
135-
; CHECK-NEXT: sub x8, sp, x8
136-
; CHECK-NEXT: cmp x8, x9
135+
; CHECK-NEXT: mov x8, sp
136+
; CHECK-NEXT: ldr x10, [x19]
137+
; CHECK-NEXT: eor x8, x9, x8
138+
; CHECK-NEXT: cmp x10, x8
137139
; CHECK-NEXT: b.ne .LBB6_2
138140
; CHECK-NEXT: // %bb.1: // %entry
139141
; CHECK-NEXT: .seh_startepilogue
140-
; CHECK-NEXT: ldr x30, [sp, #16] // 8-byte Folded Reload
141-
; CHECK-NEXT: .seh_save_reg x30, 16
142+
; CHECK-NEXT: ldr x30, [sp, #24] // 8-byte Reload
143+
; CHECK-NEXT: .seh_save_reg x30, 24
144+
; CHECK-NEXT: ldr x19, [sp, #16] // 8-byte Reload
145+
; CHECK-NEXT: .seh_save_reg x19, 16
142146
; CHECK-NEXT: add sp, sp, #32
143147
; CHECK-NEXT: .seh_stackalloc 32
144148
; CHECK-NEXT: .seh_endepilogue

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)