summaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/load.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-06-26 05:05:51 +0000
committerChris Lattner <sabre@nondot.org>2003-06-26 05:05:51 +0000
commitb75e1e79d7e73f1744a19527f7e8e8945fe04cd0 (patch)
tree7f5a2f808e03c1e8ec4b52c0373df322c70a654b /test/Transforms/InstCombine/load.ll
parent293a33a9114f1c75163bd68f1fdd0bf0bb0a9905 (diff)
downloadllvm-b75e1e79d7e73f1744a19527f7e8e8945fe04cd0.tar.gz
llvm-b75e1e79d7e73f1744a19527f7e8e8945fe04cd0.tar.bz2
llvm-b75e1e79d7e73f1744a19527f7e8e8945fe04cd0.tar.xz
add tests for elimination of loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6911 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine/load.ll')
-rw-r--r--test/Transforms/InstCombine/load.ll29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/load.ll b/test/Transforms/InstCombine/load.ll
new file mode 100644
index 0000000000..47da1ff006
--- /dev/null
+++ b/test/Transforms/InstCombine/load.ll
@@ -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
+}
+
+