Check in the first test: make sure getelementptr gets folded
authorChris Lattner <sabre@nondot.org>
Thu, 18 Apr 2002 15:39:50 +0000 (15:39 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 18 Apr 2002 15:39:50 +0000 (15:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2288 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/Makefile [new file with mode: 0644]
test/Transforms/InstCombine/getelementptr.ll [new file with mode: 0644]

diff --git a/test/Transforms/InstCombine/Makefile b/test/Transforms/InstCombine/Makefile
new file mode 100644 (file)
index 0000000..91acd4d
--- /dev/null
@@ -0,0 +1,10 @@
+
+LEVEL = ../../../..
+include $(LEVEL)/test/Makefile.tests
+
+TESTS := $(wildcard *.ll)
+
+all:: $(addprefix Output/, $(TESTS:%.ll=%.ll.out))
+
+Output/%.ll.out: %.ll Output/.dir $(LOPT)
+       -$(TESTRUNR) $<
diff --git a/test/Transforms/InstCombine/getelementptr.ll b/test/Transforms/InstCombine/getelementptr.ll
new file mode 100644 (file)
index 0000000..c22871b
--- /dev/null
@@ -0,0 +1,21 @@
+; The %A getelementptr instruction should be eliminated here
+
+; RUN: if as < %s | opt -instcombine -dce | dis | grep getelementptr | grep -v '%C'
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+
+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
+