add tests for elimination of loads
authorChris Lattner <sabre@nondot.org>
Thu, 26 Jun 2003 05:05:51 +0000 (05:05 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 26 Jun 2003 05:05:51 +0000 (05:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6911 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/load.ll [new file with mode: 0644]

diff --git a/test/Transforms/InstCombine/load.ll b/test/Transforms/InstCombine/load.ll
new file mode 100644 (file)
index 0000000..47da1ff
--- /dev/null
@@ -0,0 +1,29 @@
+; This test makes sure that these instructions are properly eliminated.
+;
+
+; RUN: if as < %s | opt -instcombine | dis | grep load
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+
+%X = constant int 42
+%Y = constant [2 x { int, float }] [ { int, float } { int 12, float 1.0 }, 
+                                     { int, float } { int 37, float 1.2312 } ]
+int %test1() {
+       %B = load int* %X
+       ret int %B
+}
+
+float %test2() {
+       %A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, ubyte 1
+       %B = load float* %A
+       ret float %B
+}
+
+int %test3() {
+       %A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, ubyte 0
+       %B = load int* %A
+       ret int %B
+}
+
+