diff options
author | Chris Lattner <sabre@nondot.org> | 2003-06-26 05:05:51 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-06-26 05:05:51 +0000 |
commit | b75e1e79d7e73f1744a19527f7e8e8945fe04cd0 (patch) | |
tree | 7f5a2f808e03c1e8ec4b52c0373df322c70a654b | |
parent | 293a33a9114f1c75163bd68f1fdd0bf0bb0a9905 (diff) | |
download | external_llvm-b75e1e79d7e73f1744a19527f7e8e8945fe04cd0.zip external_llvm-b75e1e79d7e73f1744a19527f7e8e8945fe04cd0.tar.gz external_llvm-b75e1e79d7e73f1744a19527f7e8e8945fe04cd0.tar.bz2 |
add tests for elimination of loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6911 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/InstCombine/load.ll | 29 |
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 0000000..47da1ff --- /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 +} + + |