diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2006-12-08 18:36:24 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2006-12-08 18:36:24 +0000 |
commit | 6e7be8345b3f83546a3ac6107aef4ae30230d67d (patch) | |
tree | 5727e322fb2293393625b397113736498d6a05cb | |
parent | 6353e05f4ff4d5319ccec4672117b3a6372279c7 (diff) | |
download | external_llvm-6e7be8345b3f83546a3ac6107aef4ae30230d67d.zip external_llvm-6e7be8345b3f83546a3ac6107aef4ae30230d67d.tar.gz external_llvm-6e7be8345b3f83546a3ac6107aef4ae30230d67d.tar.bz2 |
feature test for packed structs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32363 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-x | test/Feature/packed_struct.ll | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/Feature/packed_struct.ll b/test/Feature/packed_struct.ll new file mode 100755 index 0000000..97e4d59 --- /dev/null +++ b/test/Feature/packed_struct.ll @@ -0,0 +1,29 @@ +; 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 }> +%foos = external global %struct.anon +%bara = external global [2 x <{ int, sbyte }>] + +implementation ; Functions: + +int %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 +} + +int %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 +} |