diff options
| author | Hans Wennborg <hans@hanshq.net> | 2016-03-30 23:38:01 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2016-03-30 23:38:01 +0000 |
| commit | 6596977130f9fb5179b16d3c3c291c69efd627bb (patch) | |
| tree | 947efc1f13ea3ee726a20057903113f151c3dd88 /llvm/test/CodeGen/X86/segmented-stacks.ll | |
| parent | 0e450a5d61795a2ca9160a34a75855fd1d16e16c (diff) | |
| download | bcm5719-llvm-6596977130f9fb5179b16d3c3c291c69efd627bb.tar.gz bcm5719-llvm-6596977130f9fb5179b16d3c3c291c69efd627bb.zip | |
[X86] Enable call frame optimization ("mov to push") not only for optsize (PR26325)
The size savings are significant, and from what I can tell, both ICC and GCC do this.
Differential Revision: http://reviews.llvm.org/D18573
llvm-svn: 264966
Diffstat (limited to 'llvm/test/CodeGen/X86/segmented-stacks.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/segmented-stacks.ll | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/llvm/test/CodeGen/X86/segmented-stacks.ll b/llvm/test/CodeGen/X86/segmented-stacks.ll index 55eaab91da5..a0cd1824629 100644 --- a/llvm/test/CodeGen/X86/segmented-stacks.ll +++ b/llvm/test/CodeGen/X86/segmented-stacks.ll @@ -44,7 +44,7 @@ define void @test_basic() #0 { ; X32-Linux-NEXT: ja .LBB0_2 ; X32-Linux: pushl $0 -; X32-Linux-NEXT: pushl $60 +; X32-Linux-NEXT: pushl $44 ; X32-Linux-NEXT: calll __morestack ; X32-Linux-NEXT: ret @@ -105,7 +105,7 @@ define void @test_basic() #0 { ; X32-MinGW-NEXT: ja LBB0_2 ; X32-MinGW: pushl $0 -; X32-MinGW-NEXT: pushl $48 +; X32-MinGW-NEXT: pushl $40 ; X32-MinGW-NEXT: calll ___morestack ; X32-MinGW-NEXT: ret @@ -135,7 +135,7 @@ define void @test_basic() #0 { ; X32-DFlyBSD-NEXT: ja .LBB0_2 ; X32-DFlyBSD: pushl $0 -; X32-DFlyBSD-NEXT: pushl $48 +; X32-DFlyBSD-NEXT: pushl $40 ; X32-DFlyBSD-NEXT: calll __morestack ; X32-DFlyBSD-NEXT: ret @@ -162,7 +162,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 { ; X32-Linux-NEXT: ja .LBB1_2 ; X32-Linux: pushl $4 -; X32-Linux-NEXT: pushl $60 +; X32-Linux-NEXT: pushl $44 ; X32-Linux-NEXT: calll __morestack ; X32-Linux-NEXT: ret @@ -209,7 +209,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 { ; X32-MinGW-NEXT: ja LBB1_2 ; X32-MinGW: pushl $4 -; X32-MinGW-NEXT: pushl $52 +; X32-MinGW-NEXT: pushl $44 ; X32-MinGW-NEXT: calll ___morestack ; X32-MinGW-NEXT: ret @@ -238,7 +238,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 { ; X32-DFlyBSD-NEXT: ja .LBB1_2 ; X32-DFlyBSD: pushl $4 -; X32-DFlyBSD-NEXT: pushl $52 +; X32-DFlyBSD-NEXT: pushl $44 ; X32-DFlyBSD-NEXT: calll __morestack ; X32-DFlyBSD-NEXT: ret @@ -305,12 +305,12 @@ define void @test_large() #0 { ; X64-Darwin-NEXT: callq ___morestack ; X64-Darwin-NEXT: ret -; X32-MinGW: leal -40008(%esp), %ecx +; X32-MinGW: leal -40000(%esp), %ecx ; X32-MinGW-NEXT: cmpl %fs:20, %ecx ; X32-MinGW-NEXT: ja LBB2_2 ; X32-MinGW: pushl $0 -; X32-MinGW-NEXT: pushl $40008 +; X32-MinGW-NEXT: pushl $40000 ; X32-MinGW-NEXT: calll ___morestack ; X32-MinGW-NEXT: ret @@ -333,12 +333,12 @@ define void @test_large() #0 { ; X64-FreeBSD-NEXT: callq __morestack ; X64-FreeBSD-NEXT: ret -; X32-DFlyBSD: leal -40008(%esp), %ecx +; X32-DFlyBSD: leal -40000(%esp), %ecx ; X32-DFlyBSD-NEXT: cmpl %fs:16, %ecx ; X32-DFlyBSD-NEXT: ja .LBB2_2 ; X32-DFlyBSD: pushl $0 -; X32-DFlyBSD-NEXT: pushl $40008 +; X32-DFlyBSD-NEXT: pushl $40000 ; X32-DFlyBSD-NEXT: calll __morestack ; X32-DFlyBSD-NEXT: ret @@ -364,7 +364,7 @@ define fastcc void @test_fastcc() #0 { ; X32-Linux-NEXT: ja .LBB3_2 ; X32-Linux: pushl $0 -; X32-Linux-NEXT: pushl $60 +; X32-Linux-NEXT: pushl $44 ; X32-Linux-NEXT: calll __morestack ; X32-Linux-NEXT: ret @@ -415,7 +415,7 @@ define fastcc void @test_fastcc() #0 { ; X32-MinGW-NEXT: ja LBB3_2 ; X32-MinGW: pushl $0 -; X32-MinGW-NEXT: pushl $48 +; X32-MinGW-NEXT: pushl $40 ; X32-MinGW-NEXT: calll ___morestack ; X32-MinGW-NEXT: ret @@ -445,7 +445,7 @@ define fastcc void @test_fastcc() #0 { ; X32-DFlyBSD-NEXT: ja .LBB3_2 ; X32-DFlyBSD: pushl $0 -; X32-DFlyBSD-NEXT: pushl $48 +; X32-DFlyBSD-NEXT: pushl $40 ; X32-DFlyBSD-NEXT: calll __morestack ; X32-DFlyBSD-NEXT: ret @@ -524,12 +524,12 @@ define fastcc void @test_fastcc_large() #0 { ; X32-MinGW-LABEL: test_fastcc_large: -; X32-MinGW: leal -40008(%esp), %eax +; X32-MinGW: leal -40000(%esp), %eax ; X32-MinGW-NEXT: cmpl %fs:20, %eax ; X32-MinGW-NEXT: ja LBB4_2 ; X32-MinGW: pushl $0 -; X32-MinGW-NEXT: pushl $40008 +; X32-MinGW-NEXT: pushl $40000 ; X32-MinGW-NEXT: calll ___morestack ; X32-MinGW-NEXT: ret @@ -557,12 +557,12 @@ define fastcc void @test_fastcc_large() #0 { ; X32-DFlyBSD-LABEL: test_fastcc_large: -; X32-DFlyBSD: leal -40008(%esp), %eax +; X32-DFlyBSD: leal -40000(%esp), %eax ; X32-DFlyBSD-NEXT: cmpl %fs:16, %eax ; X32-DFlyBSD-NEXT: ja .LBB4_2 ; X32-DFlyBSD: pushl $0 -; X32-DFlyBSD-NEXT: pushl $40008 +; X32-DFlyBSD-NEXT: pushl $40000 ; X32-DFlyBSD-NEXT: calll __morestack ; X32-DFlyBSD-NEXT: ret |

