aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-08-02 18:47:11 +0000
committerChris Lattner <sabre@nondot.org>2002-08-02 18:47:11 +0000
commitd656922f9d3eaba39d0290e014232b698f925a2c (patch)
tree643dfab79289bc15d4ecda96f767819fbae883d5
parentb01a8d0165b58573c693441afc5200af434960e8 (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.ll34
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
+}