mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
0558b04f57
This reverts commit r262370. It turns out there is code out there that does sequences of allocas greater than 4K: http://crbug.com/591404 The goal of this change was to improve the code size of inalloca call sequences, but we got tangled up in the mess of dynamic allocas. Instead, we should come back later with a separate MI pass that uses dominance to optimize the full sequence. This should also be able to remove the often unneeded stacksave/stackrestore pairs around the call. llvm-svn: 262505
20 lines
423 B
LLVM
20 lines
423 B
LLVM
; RUN: llc < %s -mtriple=i686-pc-win32 | FileCheck %s
|
|
|
|
; Allocas with unknown size in the entry block are dynamic.
|
|
define void @foo(i32 %n) {
|
|
%m = alloca i32, i32 %n
|
|
ret void
|
|
}
|
|
; CHECK-LABEL: _foo:
|
|
; CHECK: calll __chkstk
|
|
; CHECK: retl
|
|
|
|
; Use of inalloca implies that that the alloca is not static.
|
|
define void @bar() {
|
|
%m = alloca inalloca i32
|
|
ret void
|
|
}
|
|
; CHECK-LABEL: _bar:
|
|
; CHECK: calll __chkstk
|
|
; CHECK: retl
|