brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · dc05583 Raw
34 lines · plain
1; RUN: llvm-as < %s | llvm-dis > %t1.ll2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll3; RUN: diff %t1.ll %t2.ll4; RUN: not grep cast %t2.ll5; RUN: grep "}>" %t2.ll6; END.7 8%struct.anon = type <{ i8, i32, i32, i32 }>9@foos = external global %struct.anon 10@bara = external global [2 x <{ i32, i8 }>]11 12;initializers should work for packed and non-packed the same way13@E1 = global <{i8, i32, i32}> <{i8 1, i32 2, i32 3}>14@E2 = global {i8, i32, i32} {i8 4, i32 5, i32 6}15 16 17define i32 @main() 18{19        %tmp = load i32, ptr  getelementptr (%struct.anon, ptr @foos, i32 0, i32 1)            ; <i32> [#uses=1]20        %tmp3 = load i32, ptr getelementptr (%struct.anon, ptr @foos, i32 0, i32 2)            ; <i32> [#uses=1]21        %tmp6 = load i32, ptr getelementptr (%struct.anon, ptr @foos, i32 0, i32 3)            ; <i32> [#uses=1]22        %tmp4 = add i32 %tmp3, %tmp             ; <i32> [#uses=1]23        %tmp7 = add i32 %tmp4, %tmp6            ; <i32> [#uses=1]24        ret i32 %tmp725}26 27define i32 @bar() {28entry:29        %tmp = load i32, ptr getelementptr([2 x <{ i32, i8 }>], ptr @bara, i32 0, i32 0, i32 0 )            ; <i32> [#uses=1]30        %tmp4 = load i32, ptr getelementptr ([2 x <{ i32, i8 }>], ptr @bara, i32 0, i32 1, i32 0)           ; <i32> [#uses=1]31        %tmp5 = add i32 %tmp4, %tmp             ; <i32> [#uses=1]32        ret i32 %tmp533}34