Change test to really test the cases we can hit
authorChris Lattner <sabre@nondot.org>
Fri, 2 Aug 2002 18:47:11 +0000 (18:47 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 2 Aug 2002 18:47:11 +0000 (18:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3219 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/getelementptr.ll

index b27bbc875edf85e03af4f550258d7353449352b8..16b947b382b383f8ec8583c3b00e0e3965f14d89 100644 (file)
@@ -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
+}