X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FFeature%2Fpacked_struct.ll;h=07666491b130d85d1d461026df8d942066914474;hb=52fbca55ad4c11516b87544a2048667b63d0694c;hp=97e4d5910fe0d8b92d8f6b146e86755223ae9c9b;hpb=6e7be8345b3f83546a3ac6107aef4ae30230d67d;p=oota-llvm.git diff --git a/test/Feature/packed_struct.ll b/test/Feature/packed_struct.ll old mode 100755 new mode 100644 index 97e4d5910fe..07666491b13 --- a/test/Feature/packed_struct.ll +++ b/test/Feature/packed_struct.ll @@ -1,29 +1,33 @@ ; RUN: llvm-as < %s | llvm-dis > %t1.ll ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll -; RUN: diff %t1.ll %t2.ll && -; RUN: not grep cast %t2.ll && -; RUN: grep "<{" %t2.ll +; RUN: diff %t1.ll %t2.ll +; RUN: not grep cast %t2.ll +; RUN: grep "}>" %t2.ll +; END. -%struct.anon = type <{ sbyte, int, int, int }> -%foos = external global %struct.anon -%bara = external global [2 x <{ int, sbyte }>] +%struct.anon = type <{ i8, i32, i32, i32 }> +@foos = external global %struct.anon +@bara = external global [2 x <{ i32, i8 }>] -implementation ; Functions: +;initializers should work for packed and non-packed the same way +@E1 = global <{i8, i32, i32}> <{i8 1, i32 2, i32 3}> +@E2 = global {i8, i32, i32} {i8 4, i32 5, i32 6} -int %main() + +define i32 @main() { - %tmp = load int* getelementptr (%struct.anon* %foos, int 0, uint 1) ; [#uses=1] - %tmp3 = load int* getelementptr (%struct.anon* %foos, int 0, uint 2) ; [#uses=1] - %tmp6 = load int* getelementptr (%struct.anon* %foos, int 0, uint 3) ; [#uses=1] - %tmp4 = add int %tmp3, %tmp ; [#uses=1] - %tmp7 = add int %tmp4, %tmp6 ; [#uses=1] - ret int %tmp7 + %tmp = load i32* getelementptr (%struct.anon* @foos, i32 0, i32 1) ; [#uses=1] + %tmp3 = load i32* getelementptr (%struct.anon* @foos, i32 0, i32 2) ; [#uses=1] + %tmp6 = load i32* getelementptr (%struct.anon* @foos, i32 0, i32 3) ; [#uses=1] + %tmp4 = add i32 %tmp3, %tmp ; [#uses=1] + %tmp7 = add i32 %tmp4, %tmp6 ; [#uses=1] + ret i32 %tmp7 } -int %bar() { +define i32 @bar() { entry: - %tmp = load int* getelementptr([2 x <{ int, sbyte }>]* %bara, int 0, int 0, uint 0 ) ; [#uses=1] - %tmp4 = load int* getelementptr ([2 x <{ int, sbyte }>]* %bara, int 0, int 1, uint 0) ; [#uses=1] - %tmp5 = add int %tmp4, %tmp ; [#uses=1] - ret int %tmp5 + %tmp = load i32* getelementptr([2 x <{ i32, i8 }>]* @bara, i32 0, i32 0, i32 0 ) ; [#uses=1] + %tmp4 = load i32* getelementptr ([2 x <{ i32, i8 }>]* @bara, i32 0, i32 1, i32 0) ; [#uses=1] + %tmp5 = add i32 %tmp4, %tmp ; [#uses=1] + ret i32 %tmp5 }