diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2007-01-08 18:15:35 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2007-01-08 18:15:35 +0000 |
commit | 41f8cb93905edfebdd47565468d32fa555a36e0a (patch) | |
tree | d6ea108cfaccc42ec542d8c46491c8466edaa8fe /test/Feature | |
parent | cfcbcdfc0ca58bdc23201c044998707ed6039b71 (diff) | |
download | llvm-41f8cb93905edfebdd47565468d32fa555a36e0a.tar.gz llvm-41f8cb93905edfebdd47565468d32fa555a36e0a.tar.bz2 llvm-41f8cb93905edfebdd47565468d32fa555a36e0a.tar.xz |
Packed structs use packed struct initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33014 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Feature')
-rwxr-xr-x | test/Feature/packed_struct.ll | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/test/Feature/packed_struct.ll b/test/Feature/packed_struct.ll index 10a607ec31..12ea7663ce 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) ; <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 } |