summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-05-28 01:14:11 +0000
committerDan Gohman <gohman@apple.com>2010-05-28 01:14:11 +0000
commit2140a749793572ce0173c2ff5bbbd1fafc7bd2ee (patch)
tree62b2ad4219f40c07396fbbc21a092d410999752b /llvm/test
parentdd5904687f5ed2e9451ce4520b64ae172a9d00a1 (diff)
downloadbcm5719-llvm-2140a749793572ce0173c2ff5bbbd1fafc7bd2ee.tar.gz
bcm5719-llvm-2140a749793572ce0173c2ff5bbbd1fafc7bd2ee.zip
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. llvm-svn: 104911
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/alloca-align-rounding-32.ll15
-rw-r--r--llvm/test/CodeGen/X86/alloca-align-rounding.ll9
2 files changed, 19 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/alloca-align-rounding-32.ll b/llvm/test/CodeGen/X86/alloca-align-rounding-32.ll
new file mode 100644
index 00000000000..c0f1a18123e
--- /dev/null
+++ b/llvm/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/llvm/test/CodeGen/X86/alloca-align-rounding.ll b/llvm/test/CodeGen/X86/alloca-align-rounding.ll
index f45e9b84b26..3c87dbf2bd7 100644
--- a/llvm/test/CodeGen/X86/alloca-align-rounding.ll
+++ b/llvm/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
}
OpenPOWER on IntegriCloud