diff options
author | Chris Lattner <sabre@nondot.org> | 2004-10-16 19:44:23 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-10-16 19:44:23 +0000 |
commit | 51a2c5aebf4bad4804635ee9a6fb8ec14a22eea6 (patch) | |
tree | a1d55aeb7e147abb3fcaf6f1c68770f063725e58 | |
parent | a04d0a19e39e9efde84a9726339c795e337c96d5 (diff) |
New testcase, rework testcases to fail if there are any gep's other than those
involving %B instead of allowing any geps except %A's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17065 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/InstCombine/getelementptr.ll | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/test/Transforms/InstCombine/getelementptr.ll b/test/Transforms/InstCombine/getelementptr.ll index 1e991d0e36..d05f0cdc6d 100644 --- a/test/Transforms/InstCombine/getelementptr.ll +++ b/test/Transforms/InstCombine/getelementptr.ll @@ -1,6 +1,6 @@ ; The %A getelementptr instruction should be eliminated here -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep getelementptr | not grep '%A ' +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep -v '%B' | not grep getelementptr %Global = constant [10 x sbyte] c"helloworld" @@ -27,10 +27,11 @@ int* %foo4({int} *%I) { ; Test that two getelementptr insts fold ret int* %B } -sbyte * %foo5() { +void %foo5(sbyte %B) { ; This should be turned into a constexpr instead of being an instruction %A = getelementptr [10 x sbyte]* %Global, long 0, long 4 - ret sbyte* %A + store sbyte %B, sbyte* %A + ret void } int* %foo6() { @@ -51,3 +52,9 @@ sbyte* %foo8([10 x int]* %X) { %B = cast int* %A to sbyte* ret sbyte * %B } + +int %test9() { + %A = getelementptr {int, double}* null, int 0, uint 1 + %B = cast double* %A to int + ret int %B +} |