Skip to content

Commit 9298e40

Browse files
committed
[X86] tailcc-ssp.ll - regenerate test checks to simplify diff for llvm#95904
1 parent 41a4db1 commit 9298e40

File tree

1 file changed

+68
-19
lines changed

1 file changed

+68
-19
lines changed

llvm/test/CodeGen/X86/tailcc-ssp.ll

Lines changed: 68 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,87 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
12
; RUN: llc -mtriple=x86_64-windows-msvc %s -o - -verify-machineinstrs | FileCheck %s -check-prefix=WINDOWS
23
; RUN: llc -mtriple=x86_64-linux-gnu %s -o - -verify-machineinstrs | FileCheck %s -check-prefix=LINUX
34

45
declare void @h(ptr, i64, ptr)
56

67
define tailcc void @tailcall_frame(ptr %0, i64 %1) sspreq {
78
; WINDOWS-LABEL: tailcall_frame:
8-
; WINDOWS: callq __security_check_cookie
9-
; WINDOWS: xorl %ecx, %ecx
10-
; WINDOWS: jmp h
11-
9+
; WINDOWS: # %bb.0:
10+
; WINDOWS-NEXT: subq $56, %rsp
11+
; WINDOWS-NEXT: .seh_stackalloc 56
12+
; WINDOWS-NEXT: .seh_endprologue
13+
; WINDOWS-NEXT: movq __security_cookie(%rip), %rax
14+
; WINDOWS-NEXT: xorq %rsp, %rax
15+
; WINDOWS-NEXT: movq %rax, {{[0-9]+}}(%rsp)
16+
; WINDOWS-NEXT: movq {{[0-9]+}}(%rsp), %rcx
17+
; WINDOWS-NEXT: xorq %rsp, %rcx
18+
; WINDOWS-NEXT: callq __security_check_cookie
19+
; WINDOWS-NEXT: xorl %ecx, %ecx
20+
; WINDOWS-NEXT: xorl %edx, %edx
21+
; WINDOWS-NEXT: xorl %r8d, %r8d
22+
; WINDOWS-NEXT: addq $56, %rsp
23+
; WINDOWS-NEXT: jmp h # TAILCALL
24+
; WINDOWS-NEXT: .seh_endproc
25+
;
1226
; LINUX-LABEL: tailcall_frame:
13-
; LINUX: jne
14-
; LINUX: jmp h
15-
; LINUX: callq __stack_chk_fail
16-
27+
; LINUX: # %bb.0:
28+
; LINUX-NEXT: subq $24, %rsp
29+
; LINUX-NEXT: .cfi_def_cfa_offset 32
30+
; LINUX-NEXT: movq %fs:40, %rax
31+
; LINUX-NEXT: movq %rax, {{[0-9]+}}(%rsp)
32+
; LINUX-NEXT: movq %fs:40, %rax
33+
; LINUX-NEXT: cmpq {{[0-9]+}}(%rsp), %rax
34+
; LINUX-NEXT: jne .LBB0_2
35+
; LINUX-NEXT: # %bb.1: # %SP_return
36+
; LINUX-NEXT: xorl %edi, %edi
37+
; LINUX-NEXT: xorl %esi, %esi
38+
; LINUX-NEXT: xorl %edx, %edx
39+
; LINUX-NEXT: addq $24, %rsp
40+
; LINUX-NEXT: .cfi_def_cfa_offset 8
41+
; LINUX-NEXT: jmp h@PLT # TAILCALL
42+
; LINUX-NEXT: .LBB0_2: # %CallStackCheckFailBlk
43+
; LINUX-NEXT: .cfi_def_cfa_offset 32
44+
; LINUX-NEXT: callq __stack_chk_fail@PLT
1745
tail call tailcc void @h(ptr null, i64 0, ptr null)
1846
ret void
1947
}
2048

2149
declare void @bar()
2250
define void @tailcall_unrelated_frame() sspreq {
2351
; WINDOWS-LABEL: tailcall_unrelated_frame:
24-
; WINDOWS: subq [[STACK:\$.*]], %rsp
25-
; WINDOWS: callq bar
26-
; WINDOWS: callq __security_check_cookie
27-
; WINDOWS: addq [[STACK]], %rsp
28-
; WINDOWS: jmp bar
29-
52+
; WINDOWS: # %bb.0:
53+
; WINDOWS-NEXT: subq $40, %rsp
54+
; WINDOWS-NEXT: .seh_stackalloc 40
55+
; WINDOWS-NEXT: .seh_endprologue
56+
; WINDOWS-NEXT: movq __security_cookie(%rip), %rax
57+
; WINDOWS-NEXT: xorq %rsp, %rax
58+
; WINDOWS-NEXT: movq %rax, {{[0-9]+}}(%rsp)
59+
; WINDOWS-NEXT: callq bar
60+
; WINDOWS-NEXT: movq {{[0-9]+}}(%rsp), %rcx
61+
; WINDOWS-NEXT: xorq %rsp, %rcx
62+
; WINDOWS-NEXT: callq __security_check_cookie
63+
; WINDOWS-NEXT: nop
64+
; WINDOWS-NEXT: addq $40, %rsp
65+
; WINDOWS-NEXT: jmp bar # TAILCALL
66+
; WINDOWS-NEXT: .seh_endproc
67+
;
3068
; LINUX-LABEL: tailcall_unrelated_frame:
31-
; LINUX: callq bar
32-
; LINUX: jne
33-
; LINUX: jmp bar
34-
; LINUX: callq __stack_chk_fail
35-
69+
; LINUX: # %bb.0:
70+
; LINUX-NEXT: pushq %rax
71+
; LINUX-NEXT: .cfi_def_cfa_offset 16
72+
; LINUX-NEXT: movq %fs:40, %rax
73+
; LINUX-NEXT: movq %rax, (%rsp)
74+
; LINUX-NEXT: callq bar@PLT
75+
; LINUX-NEXT: movq %fs:40, %rax
76+
; LINUX-NEXT: cmpq (%rsp), %rax
77+
; LINUX-NEXT: jne .LBB1_2
78+
; LINUX-NEXT: # %bb.1: # %SP_return
79+
; LINUX-NEXT: popq %rax
80+
; LINUX-NEXT: .cfi_def_cfa_offset 8
81+
; LINUX-NEXT: jmp bar@PLT # TAILCALL
82+
; LINUX-NEXT: .LBB1_2: # %CallStackCheckFailBlk
83+
; LINUX-NEXT: .cfi_def_cfa_offset 16
84+
; LINUX-NEXT: callq __stack_chk_fail@PLT
3685
call void @bar()
3786
tail call void @bar()
3887
ret void

0 commit comments

Comments
 (0)