diff options
| author | Yaxun Liu <Yaxun.Liu@amd.com> | 2017-10-14 03:23:18 +0000 |
|---|---|---|
| committer | Yaxun Liu <Yaxun.Liu@amd.com> | 2017-10-14 03:23:18 +0000 |
| commit | adde4e4c01f38f3204be9fe5ff68a0c0a3fe18e1 (patch) | |
| tree | 6b9dc18a30e2d30a449f93667183e3f34b2e5aeb /llvm/test | |
| parent | 369e85a9002a368a9a37fec09761724868246296 (diff) | |
| download | bcm5719-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')
| -rw-r--r-- | llvm/test/Assembler/alloca-addrspace-elems.ll | 25 |
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 = !{} |

