Checkin the simple features tests for the preheader insertion pass.
llvm-svn: 3952
This commit is contained in:
parent
d57f3f5073
commit
b009ceaa9d
|
|
@ -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) $<
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
; RUN: as < %s | opt -preheaders
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
; This function should get a preheader inserted before BB3, that is jumped
|
||||||
|
; to by BB1 & BB2
|
||||||
|
;
|
||||||
|
void "test"()
|
||||||
|
begin
|
||||||
|
br bool true, label %BB1, label %BB2
|
||||||
|
BB1: br label %BB3
|
||||||
|
BB2: br label %BB3
|
||||||
|
|
||||||
|
|
||||||
|
BB3:
|
||||||
|
br label %BB3
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
; RUN: as < %s | opt -preheaders
|
||||||
|
|
||||||
|
void %foo(bool %C) {
|
||||||
|
br bool %C, label %T, label %F
|
||||||
|
T:
|
||||||
|
br label %Loop
|
||||||
|
F:
|
||||||
|
br label %Loop
|
||||||
|
|
||||||
|
Loop: ; Two backedges, two incoming edges.
|
||||||
|
%Val = phi int [0, %T], [1, %F], [2, %Loop], [3, %L2]
|
||||||
|
|
||||||
|
br bool %C, label %Loop, label %L2
|
||||||
|
|
||||||
|
L2:
|
||||||
|
br label %Loop
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
; RUN: as < %s | opt -preheaders
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
; This function should get a preheader inserted before BB3, that is jumped
|
||||||
|
; to by BB1 & BB2
|
||||||
|
;
|
||||||
|
void "test"()
|
||||||
|
begin
|
||||||
|
br bool true, label %BB1, label %BB2
|
||||||
|
BB1: br label %BB3
|
||||||
|
BB2: br label %BB3
|
||||||
|
|
||||||
|
|
||||||
|
BB3:
|
||||||
|
br label %BB3
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
; RUN: as < %s | opt -preheaders
|
||||||
|
|
||||||
|
void %foo(bool %C) {
|
||||||
|
br bool %C, label %T, label %F
|
||||||
|
T:
|
||||||
|
br label %Loop
|
||||||
|
F:
|
||||||
|
br label %Loop
|
||||||
|
|
||||||
|
Loop: ; Two backedges, two incoming edges.
|
||||||
|
%Val = phi int [0, %T], [1, %F], [2, %Loop], [3, %L2]
|
||||||
|
|
||||||
|
br bool %C, label %Loop, label %L2
|
||||||
|
|
||||||
|
L2:
|
||||||
|
br label %Loop
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue