diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2016-03-01 19:20:23 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2016-03-01 19:20:23 +0000 |
| commit | 791b88b6da79b9d296fd31f20529efb20d23af63 (patch) | |
| tree | a8be75f286397cb104f80659c7c9e9f6822a804d /llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll | |
| parent | 2abc587c1ef126850cd230e44deca6e93fab0b9b (diff) | |
| download | bcm5719-llvm-791b88b6da79b9d296fd31f20529efb20d23af63.tar.gz bcm5719-llvm-791b88b6da79b9d296fd31f20529efb20d23af63.zip | |
[X86] Elide references to _chkstk for dynamic allocas
The _chkstk function is called by the compiler to probe the stack in an
order consistent with Windows' expectations. However, it is possible to
elide the call to _chkstk and manually adjust the stack pointer if we
can prove that the allocation is fixed size and smaller than the probe
size.
This shrinks chrome.dll, chrome_child.dll and chrome.exe by a
cummulative ~133 KB.
Differential Revision: http://reviews.llvm.org/D17679
llvm-svn: 262370
Diffstat (limited to 'llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll b/llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll index aecae89aee5..42f47bbe008 100644 --- a/llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll +++ b/llvm/test/CodeGen/X86/shrink-wrap-chkstk.ll @@ -9,7 +9,7 @@ target triple = "i686-pc-windows-msvc18.0.0" %struct.S = type { [12 x i8] } -define x86_thiscallcc void @call_inalloca(i1 %x) { +define x86_thiscallcc void @call_inalloca(i1 %x) "stack-probe-size"="12" { entry: %argmem = alloca inalloca <{ %struct.S }>, align 4 %argidx1 = getelementptr inbounds <{ %struct.S }>, <{ %struct.S }>* %argmem, i32 0, i32 0, i32 0, i32 0 |

