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 7define 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 15define 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 23define 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 31define 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 39define 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 47define void @qux_empty(<{}>* %x) nounwind { 48 store <{}><{}>, <{}>* %x 49 ret void 50} 51 52