diff options
author | Chris Lattner <sabre@nondot.org> | 2004-01-12 04:28:32 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-01-12 04:28:32 +0000 |
commit | debcbd0a4679a58f6783ffa226adb1a92e79fdf3 (patch) | |
tree | c61e8db21b35d33a4decd1314fe77f8c61c167cc /test/Transforms/SCCP/loadtest.ll | |
parent | 5f16a13896f6620638397ab2434f8736412ddcdc (diff) | |
download | llvm-debcbd0a4679a58f6783ffa226adb1a92e79fdf3.tar.gz llvm-debcbd0a4679a58f6783ffa226adb1a92e79fdf3.tar.bz2 llvm-debcbd0a4679a58f6783ffa226adb1a92e79fdf3.tar.xz |
Test to make sure we can SCCP load instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10766 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SCCP/loadtest.ll')
-rw-r--r-- | test/Transforms/SCCP/loadtest.ll | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/loadtest.ll b/test/Transforms/SCCP/loadtest.ll new file mode 100644 index 0000000000..cc9838c851 --- /dev/null +++ b/test/Transforms/SCCP/loadtest.ll @@ -0,0 +1,26 @@ +; This test makes sure that these instructions are properly constant propagated. +; + +; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep load + +%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 +} + + |