mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
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
This commit is contained in:
parent
ed7b41ea90
commit
016d7b9ed8
10
test/Transforms/ScalarRepl/Makefile
Normal file
10
test/Transforms/ScalarRepl/Makefile
Normal file
@ -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) $<
|
13
test/Transforms/ScalarRepl/arraytest.ll
Normal file
13
test/Transforms/ScalarRepl/arraytest.ll
Normal file
@ -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
|
||||||
|
}
|
10
test/Transforms/ScalarRepl/badarray.ll
Normal file
10
test/Transforms/ScalarRepl/badarray.ll
Normal file
@ -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
|
||||||
|
}
|
13
test/Transforms/ScalarRepl/basictest.ll
Normal file
13
test/Transforms/ScalarRepl/basictest.ll
Normal file
@ -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
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user