diff options
| author | Yaron Keren <yaron.keren@gmail.com> | 2013-10-24 09:36:08 +0000 |
|---|---|---|
| committer | Yaron Keren <yaron.keren@gmail.com> | 2013-10-24 09:36:08 +0000 |
| commit | 744fcdf5873fe8dbf4fd8872d34c912b2299fc51 (patch) | |
| tree | 8e6aa2b34dff3c2cd752e0f7149f9bfa9f5b665d /llvm/test | |
| parent | a8d35c98fd1ccef09e604eadb27a4a2c6e205978 (diff) | |
| download | bcm5719-llvm-744fcdf5873fe8dbf4fd8872d34c912b2299fc51.tar.gz bcm5719-llvm-744fcdf5873fe8dbf4fd8872d34c912b2299fc51.zip | |
Added test for -elf configuration, to see that _alloca call is properly
generated. See:
http://llvm.org/viewvc/llvm-project?view=revision&revision=193289
llvm-svn: 193321
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/mingw-alloca.ll | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/llvm/test/CodeGen/X86/mingw-alloca.ll b/llvm/test/CodeGen/X86/mingw-alloca.ll index ded4b73d093..72b69400ffa 100644 --- a/llvm/test/CodeGen/X86/mingw-alloca.ll +++ b/llvm/test/CodeGen/X86/mingw-alloca.ll @@ -1,12 +1,14 @@ -; RUN: llc < %s | FileCheck %s +; RUN: llc < %s -mtriple=i386-pc-mingw32 | FileCheck %s -check-prefix=COFF +; RUN: llc < %s -mtriple=i386-pc-mingw32-elf | FileCheck %s -check-prefix=ELF target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64" -target triple = "i386-pc-mingw32" define void @foo1(i32 %N) nounwind { entry: -; CHECK: _foo1: -; CHECK: calll __alloca +; COFF: _foo1: +; COFF: calll __alloca +; ELF: foo1: +; ELF: calll _alloca %tmp14 = alloca i32, i32 %N ; <i32*> [#uses=1] call void @bar1( i32* %tmp14 ) ret void @@ -16,11 +18,16 @@ declare void @bar1(i32*) define void @foo2(i32 inreg %N) nounwind { entry: -; CHECK: _foo2: -; CHECK: andl $-16, %esp -; CHECK: pushl %eax -; CHECK: calll __alloca -; CHECK: movl 8028(%esp), %eax +; COFF: _foo2: +; COFF: andl $-16, %esp +; COFF: pushl %eax +; COFF: calll __alloca +; COFF: movl 8028(%esp), %eax +; ELF: foo2: +; ELF: andl $-16, %esp +; ELF: pushl %eax +; ELF: calll _alloca +; ELF: movl 8028(%esp), %eax %A2 = alloca [2000 x i32], align 16 ; <[2000 x i32]*> [#uses=1] %A2.sub = getelementptr [2000 x i32]* %A2, i32 0, i32 0 ; <i32*> [#uses=1] call void @bar2( i32* %A2.sub, i32 %N ) |

