Packed structs use packed struct initializers
authorAndrew Lenharth <andrewl@lenharth.org>
Mon, 8 Jan 2007 18:15:35 +0000 (18:15 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Mon, 8 Jan 2007 18:15:35 +0000 (18:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33014 91177308-0d34-0410-b5e6-96231b3b80d8

test/Feature/packed_struct.ll

index 10a607ec31a136da40dc73209340670358d055ad..12ea7663ce0840d626dc49a5536bb173d997815c 100755 (executable)
@@ -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)            ; <int> [#uses=1]
-        %tmp3 = load int* getelementptr (%struct.anon* %foos, int 0, uint 2)            ; <int> [#uses=1]
-        %tmp6 = load int* getelementptr (%struct.anon* %foos, int 0, uint 3)            ; <int> [#uses=1]
-        %tmp4 = add int %tmp3, %tmp             ; <int> [#uses=1]
-        %tmp7 = add int %tmp4, %tmp6            ; <int> [#uses=1]
-        ret int %tmp7
+        %tmp = load i32*  getelementptr (%struct.anon* %foos, i32 0, i32 1)            ; <i32> [#uses=1]
+        %tmp3 = load i32* getelementptr (%struct.anon* %foos, i32 0, i32 2)            ; <i32> [#uses=1]
+        %tmp6 = load i32* getelementptr (%struct.anon* %foos, i32 0, i32 3)            ; <i32> [#uses=1]
+        %tmp4 = add i32 %tmp3, %tmp             ; <i32> [#uses=1]
+        %tmp7 = add i32 %tmp4, %tmp6            ; <i32> [#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 )            ; <int> [#uses=1]
-        %tmp4 = load int* getelementptr ([2 x <{ int, sbyte }>]* %bara, int 0, int 1, uint 0)           ; <int> [#uses=1]
-        %tmp5 = add int %tmp4, %tmp             ; <int> [#uses=1]
-        ret int %tmp5
+        %tmp = load i32* getelementptr([2 x <{ i32, i8 }>]* %bara, i32 0, i32 0, i32 0 )            ; <i32> [#uses=1]
+        %tmp4 = load i32* getelementptr ([2 x <{ i32, i8 }>]* %bara, i32 0, i32 1, i32 0)           ; <i32> [#uses=1]
+        %tmp5 = add i32 %tmp4, %tmp             ; <i32> [#uses=1]
+        ret i32 %tmp5
 }