1 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s 2 ; RUN: verify-uselistorder %s 3 4 ; CHECK: @foo 5 ; CHECK: store { i32, i32 } { i32 7, i32 9 }, { i32, i32 }* %x 6 ; CHECK: ret 7 define void @foo({i32, i32}* %x) nounwind { 8 store {i32, i32}{i32 7, i32 9}, {i32, i32}* %x 9 ret void 10 } 11 12 ; CHECK: @foo_empty 13 ; CHECK: store {} zeroinitializer, {}* %x 14 ; CHECK: ret 15 define void @foo_empty({}* %x) nounwind { 16 store {}{}, {}* %x 17 ret void 18 } 19 20 ; CHECK: @bar 21 ; CHECK: store [2 x i32] [i32 7, i32 9], [2 x i32]* %x 22 ; CHECK: ret 23 define void @bar([2 x i32]* %x) nounwind { 24 store [2 x i32][i32 7, i32 9], [2 x i32]* %x 25 ret void 26 } 27 28 ; CHECK: @bar_empty 29 ; CHECK: store [0 x i32] undef, [0 x i32]* %x 30 ; CHECK: ret 31 define void @bar_empty([0 x i32]* %x) nounwind { 32 store [0 x i32][], [0 x i32]* %x 33 ret void 34 } 35 36 ; CHECK: @qux 37 ; CHECK: store <{ i32, i32 }> <{ i32 7, i32 9 }>, <{ i32, i32 }>* %x 38 ; CHECK: ret 39 define void @qux(<{i32, i32}>* %x) nounwind { 40 store <{i32, i32}><{i32 7, i32 9}>, <{i32, i32}>* %x 41 ret void 42 } 43 44 ; CHECK: @qux_empty 45 ; CHECK: store <{}> zeroinitializer, <{}>* %x 46 ; CHECK: ret 47 define void @qux_empty(<{}>* %x) nounwind { 48 store <{}><{}>, <{}>* %x 49 ret void 50 } 51 52