From 0a4e422d076446e68319ab6d8a088df1c02f313d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 26 Sep 2002 19:50:11 +0000 Subject: [PATCH] Checkin the simple features tests for the preheader insertion pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3952 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/LoopPreheaders/Makefile | 10 ++++++++++ test/Transforms/LoopPreheaders/basictest.ll | 17 +++++++++++++++++ test/Transforms/LoopPreheaders/hardertest.ll | 17 +++++++++++++++++ test/Transforms/LoopSimplify/basictest.ll | 17 +++++++++++++++++ test/Transforms/LoopSimplify/hardertest.ll | 17 +++++++++++++++++ 5 files changed, 78 insertions(+) create mode 100644 test/Transforms/LoopPreheaders/Makefile create mode 100644 test/Transforms/LoopPreheaders/basictest.ll create mode 100644 test/Transforms/LoopPreheaders/hardertest.ll create mode 100644 test/Transforms/LoopSimplify/basictest.ll create mode 100644 test/Transforms/LoopSimplify/hardertest.ll diff --git a/test/Transforms/LoopPreheaders/Makefile b/test/Transforms/LoopPreheaders/Makefile new file mode 100644 index 00000000000..91acd4d481b --- /dev/null +++ b/test/Transforms/LoopPreheaders/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/LoopPreheaders/basictest.ll b/test/Transforms/LoopPreheaders/basictest.ll new file mode 100644 index 00000000000..15402190d09 --- /dev/null +++ b/test/Transforms/LoopPreheaders/basictest.ll @@ -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 diff --git a/test/Transforms/LoopPreheaders/hardertest.ll b/test/Transforms/LoopPreheaders/hardertest.ll new file mode 100644 index 00000000000..7c11fbaa05b --- /dev/null +++ b/test/Transforms/LoopPreheaders/hardertest.ll @@ -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 +} diff --git a/test/Transforms/LoopSimplify/basictest.ll b/test/Transforms/LoopSimplify/basictest.ll new file mode 100644 index 00000000000..15402190d09 --- /dev/null +++ b/test/Transforms/LoopSimplify/basictest.ll @@ -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 diff --git a/test/Transforms/LoopSimplify/hardertest.ll b/test/Transforms/LoopSimplify/hardertest.ll new file mode 100644 index 00000000000..7c11fbaa05b --- /dev/null +++ b/test/Transforms/LoopSimplify/hardertest.ll @@ -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 +}