From: Andrew Lenharth Date: Mon, 8 Jan 2007 18:15:35 +0000 (+0000) Subject: Packed structs use packed struct initializers X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=41f8cb93905edfebdd47565468d32fa555a36e0a;p=oota-llvm.git Packed structs use packed struct initializers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33014 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Feature/packed_struct.ll b/test/Feature/packed_struct.ll index 10a607ec31a..12ea7663ce0 100755 --- a/test/Feature/packed_struct.ll +++ b/test/Feature/packed_struct.ll @@ -1,33 +1,33 @@ -; RUN: llvm-upgrade < %s | llvm-as | llvm-dis > %t1.ll +; 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 -%struct.anon = type <{ sbyte, int, int, int }> +%struct.anon = type <{ i8, i32, i32, i32 }> %foos = external global %struct.anon -%bara = external global [2 x <{ int, sbyte }>] +%bara = external global [2 x <{ i32, i8 }>] ;initializers should work for packed and non-packed the same way -%E1 = global <{sbyte, int, int}> {sbyte 1, int 2, int 3} -%E2 = global {sbyte, int, int} {sbyte 4, int 5, int 6} +%E1 = global <{i8, i32, i32}> <{i8 1, i32 2, i32 3}> +%E2 = global {i8, i32, i32} {i8 4, i32 5, i32 6} implementation ; Functions: -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 }