diff options
author | Dan Gohman <gohman@apple.com> | 2010-05-28 01:14:11 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-05-28 01:14:11 +0000 |
commit | f75a7d3fbf7fbb3071f45e248d3fb93312ec4fbd (patch) | |
tree | 8de936a75e71c78268a937ba4aecddde53052446 /test | |
parent | 5ddb087f7fea1c4898d233a6cad6589d6f0a0b11 (diff) | |
download | external_llvm-f75a7d3fbf7fbb3071f45e248d3fb93312ec4fbd.zip external_llvm-f75a7d3fbf7fbb3071f45e248d3fb93312ec4fbd.tar.gz external_llvm-f75a7d3fbf7fbb3071f45e248d3fb93312ec4fbd.tar.bz2 |
Eliminate the restriction that the array size in an alloca must be i32.
This will help reduce the amount of casting required on 64-bit targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104911 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/alloca-align-rounding-32.ll | 15 | ||||
-rw-r--r-- | test/CodeGen/X86/alloca-align-rounding.ll | 9 |
2 files changed, 19 insertions, 5 deletions
diff --git a/test/CodeGen/X86/alloca-align-rounding-32.ll b/test/CodeGen/X86/alloca-align-rounding-32.ll new file mode 100644 index 0000000..c0f1a18 --- /dev/null +++ b/test/CodeGen/X86/alloca-align-rounding-32.ll @@ -0,0 +1,15 @@ +; RUN: llc < %s -march=x86 -mtriple=i686-apple-darwin | grep and | count 1 + +declare void @bar(<2 x i64>* %n) + +define void @foo(i32 %h) { + %p = alloca <2 x i64>, i32 %h + call void @bar(<2 x i64>* %p) + ret void +} + +define void @foo2(i32 %h) { + %p = alloca <2 x i64>, i32 %h, align 32 + call void @bar(<2 x i64>* %p) + ret void +} diff --git a/test/CodeGen/X86/alloca-align-rounding.ll b/test/CodeGen/X86/alloca-align-rounding.ll index f45e9b8..3c87dbf 100644 --- a/test/CodeGen/X86/alloca-align-rounding.ll +++ b/test/CodeGen/X86/alloca-align-rounding.ll @@ -1,16 +1,15 @@ -; RUN: llc < %s -march=x86 -mtriple=i686-apple-darwin | grep and | count 1 ; RUN: llc < %s -march=x86-64 -mtriple=i686-pc-linux | grep and | count 1 declare void @bar(<2 x i64>* %n) -define void @foo(i32 %h) { - %p = alloca <2 x i64>, i32 %h +define void @foo(i64 %h) { + %p = alloca <2 x i64>, i64 %h call void @bar(<2 x i64>* %p) ret void } -define void @foo2(i32 %h) { - %p = alloca <2 x i64>, i32 %h, align 32 +define void @foo2(i64 %h) { + %p = alloca <2 x i64>, i64 %h, align 32 call void @bar(<2 x i64>* %p) ret void } |