diff options
author | Chris Lattner <sabre@nondot.org> | 2002-08-02 18:47:11 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-08-02 18:47:11 +0000 |
commit | d656922f9d3eaba39d0290e014232b698f925a2c (patch) | |
tree | 643dfab79289bc15d4ecda96f767819fbae883d5 | |
parent | b01a8d0165b58573c693441afc5200af434960e8 (diff) |
Change test to really test the cases we can hit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3219 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/InstCombine/getelementptr.ll | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/test/Transforms/InstCombine/getelementptr.ll b/test/Transforms/InstCombine/getelementptr.ll index b27bbc875e..16b947b382 100644 --- a/test/Transforms/InstCombine/getelementptr.ll +++ b/test/Transforms/InstCombine/getelementptr.ll @@ -7,21 +7,23 @@ implementation -int *"foo"(int * %I) -begin - %A = getelementptr int* %I, uint 17 - store int 23, int* %A - - %B = load int* %A - store int %B, int* %A, uint 0 - - %C = getelementptr int* %A - ret int* %C -end - -int *"foo2"(int * %I) -begin - %A = getelementptr int* %I, uint 0 ; Noop +int *"foo1"(int * %I) { ; Test noop elimination + %A = getelementptr int* %I, uint 0 ret int * %A -end +} + +int* %foo2(int* %I) { ; Test noop elimination + %A = getelementptr int* %I + ret int* %A +} +int* %foo3(int * %I) { ; Test that two array indexing geps fold + %A = getelementptr int* %I, uint 17 + %B = getelementptr int* %A, uint 4 + ret int* %B +} +int* %foo4({int} *%I) { ; Test that two getelementptr insts fold + %A = getelementptr {int}* %I, uint 1 + %B = getelementptr {int}* %A, uint 0, ubyte 0 + ret int* %B +} |