diff options
author | Chris Lattner <sabre@nondot.org> | 2003-05-27 15:51:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-05-27 15:51:17 +0000 |
commit | 016d7b9ed8099c9f195464bbf0b35c6f2b1e92fe (patch) | |
tree | d641e0278b0a87571c1fac3836674ce083acc204 /test | |
parent | ed7b41ea90a17c826f195acbc456c4bb733113d6 (diff) | |
download | external_llvm-016d7b9ed8099c9f195464bbf0b35c6f2b1e92fe.zip external_llvm-016d7b9ed8099c9f195464bbf0b35c6f2b1e92fe.tar.gz external_llvm-016d7b9ed8099c9f195464bbf0b35c6f2b1e92fe.tar.bz2 |
Initial testcases for scalar replacement of aggregates pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6347 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Transforms/ScalarRepl/Makefile | 10 | ||||
-rw-r--r-- | test/Transforms/ScalarRepl/arraytest.ll | 13 | ||||
-rw-r--r-- | test/Transforms/ScalarRepl/badarray.ll | 10 | ||||
-rw-r--r-- | test/Transforms/ScalarRepl/basictest.ll | 13 |
4 files changed, 46 insertions, 0 deletions
diff --git a/test/Transforms/ScalarRepl/Makefile b/test/Transforms/ScalarRepl/Makefile new file mode 100644 index 0000000..91acd4d --- /dev/null +++ b/test/Transforms/ScalarRepl/Makefile @@ -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/ScalarRepl/arraytest.ll b/test/Transforms/ScalarRepl/arraytest.ll new file mode 100644 index 0000000..a647407 --- /dev/null +++ b/test/Transforms/ScalarRepl/arraytest.ll @@ -0,0 +1,13 @@ +; RUN: if as < %s | opt -scalarrepl -mem2reg | dis | grep alloca +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +int %test() { + %X = alloca [ 4 x int ] + %Y = getelementptr [4x int]* %X, long 0, long 0 + store int 0, int* %Y + + %Z = load int* %Y + ret int %Z +} diff --git a/test/Transforms/ScalarRepl/badarray.ll b/test/Transforms/ScalarRepl/badarray.ll new file mode 100644 index 0000000..22e84f8 --- /dev/null +++ b/test/Transforms/ScalarRepl/badarray.ll @@ -0,0 +1,10 @@ +; RUN: as < %s | opt -scalarrepl -mem2reg | dis | grep alloca + +int %test() { + %X = alloca [ 4 x int ] + %Y = getelementptr [4x int]* %X, long 0, long 6 ; Off end of array! + store int 0, int* %Y + + %Z = load int* %Y + ret int %Z +} diff --git a/test/Transforms/ScalarRepl/basictest.ll b/test/Transforms/ScalarRepl/basictest.ll new file mode 100644 index 0000000..0582a34 --- /dev/null +++ b/test/Transforms/ScalarRepl/basictest.ll @@ -0,0 +1,13 @@ +; RUN: if as < %s | opt -scalarrepl -mem2reg | dis | grep alloca +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +int %test() { + %X = alloca { int, float } + %Y = getelementptr {int,float}* %X, long 0, ubyte 0 + store int 0, int* %Y + + %Z = load int* %Y + ret int %Z +} |