summaryrefslogtreecommitdiffstats
path: root/llvm/test/Assembler
diff options
context:
space:
mode:
authorYaxun Liu <Yaxun.Liu@amd.com>2017-10-14 03:23:18 +0000
committerYaxun Liu <Yaxun.Liu@amd.com>2017-10-14 03:23:18 +0000
commitadde4e4c01f38f3204be9fe5ff68a0c0a3fe18e1 (patch)
tree6b9dc18a30e2d30a449f93667183e3f34b2e5aeb /llvm/test/Assembler
parent369e85a9002a368a9a37fec09761724868246296 (diff)
downloadbcm5719-llvm-adde4e4c01f38f3204be9fe5ff68a0c0a3fe18e1.tar.gz
bcm5719-llvm-adde4e4c01f38f3204be9fe5ff68a0c0a3fe18e1.zip
Fix assembler for alloca of multiple elements in non-zero addr space
Currently llvm assembler emits parsing error for valid IR assembly alloca i32, i32 9, addrspace(5) when alloca addr space is 5. This patch fixes that. Differential Revision: https://reviews.llvm.org/D38713 llvm-svn: 315791
Diffstat (limited to 'llvm/test/Assembler')
-rw-r--r--llvm/test/Assembler/alloca-addrspace-elems.ll25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/Assembler/alloca-addrspace-elems.ll b/llvm/test/Assembler/alloca-addrspace-elems.ll
new file mode 100644
index 00000000000..8c02760fe95
--- /dev/null
+++ b/llvm/test/Assembler/alloca-addrspace-elems.ll
@@ -0,0 +1,25 @@
+; RUN: llvm-as < %s | llvm-dis | FileCheck %s
+
+target datalayout = "A5"
+; CHECK: target datalayout = "A5"
+
+
+; CHECK: %alloca_array_no_align = alloca i32, i32 9, addrspace(5)
+; CHECK-NEXT: %alloca_array_align4 = alloca i32, i32 9, align 4, addrspace(5)
+; CHECK-NEXT: %alloca_array_no_align_metadata = alloca i32, i32 9, addrspace(5), !foo !0
+; CHECK-NEXT: %alloca_array_align4_metadata = alloca i32, i32 9, align 4, addrspace(5), !foo !0
+; CHECK-NEXT: %alloca_inalloca_array_no_align = alloca inalloca i32, i32 9, addrspace(5)
+; CHECK-NEXT: %alloca_inalloca_array_align4_metadata = alloca inalloca i32, i32 9, align 4, addrspace(5), !foo !0
+
+define void @use_alloca() {
+ %alloca_array_no_align = alloca i32, i32 9, addrspace(5)
+ %alloca_array_align4 = alloca i32, i32 9, align 4, addrspace(5)
+ %alloca_array_no_align_metadata = alloca i32, i32 9, addrspace(5), !foo !0
+ %alloca_array_align4_metadata = alloca i32, i32 9, align 4, addrspace(5), !foo !0
+ %alloca_inalloca_array_no_align = alloca inalloca i32, i32 9, addrspace(5)
+ %alloca_inalloca_array_align4_metadata = alloca inalloca i32, i32 9, align 4, addrspace(5), !foo !0
+
+ ret void
+}
+
+!0 = !{}
OpenPOWER on IntegriCloud