New testcases

llvm-svn: 6854
diff --git a/llvm/test/Regression/Transforms/TailDup/PHIUpdateTest.ll b/llvm/test/Regression/Transforms/TailDup/PHIUpdateTest.ll
new file mode 100644
index 0000000..08112b4
--- /dev/null
+++ b/llvm/test/Regression/Transforms/TailDup/PHIUpdateTest.ll
@@ -0,0 +1,20 @@
+; This test checks to make sure phi nodes are updated properly
+;
+; RUN: as < %s | opt -tailduplicate -disable-output
+
+
+
+int %test(bool %c, int %X, int %Y) {
+	br label %L
+
+L:
+	%A = add int %X, %Y
+	br bool %c, label %T, label %F
+
+F:
+	br bool %c, label %L, label %T
+
+T:
+	%V = phi int [%A, %L], [0, %F]
+	ret int %V
+}
diff --git a/llvm/test/Regression/Transforms/TailDup/basictest.ll b/llvm/test/Regression/Transforms/TailDup/basictest.ll
new file mode 100644
index 0000000..66dcf63
--- /dev/null
+++ b/llvm/test/Regression/Transforms/TailDup/basictest.ll
@@ -0,0 +1,22 @@
+; RUN: as < %s | opt -tailduplicate -disable-output
+
+declare void %__main()
+
+int %main() {
+entry:		; No predecessors!
+	call void %__main( )
+	br label %loopentry
+
+loopentry:		; preds = %entry, %no_exit
+	%i.0 = phi int [ %inc, %no_exit ], [ 0, %entry ]		; <int> [#uses=2]
+	%tmp.1 = setle int %i.0, 99		; <bool> [#uses=1]
+	br bool %tmp.1, label %no_exit, label %return
+
+no_exit:		; preds = %loopentry
+	%tmp.51 = call int %main( )		; <int> [#uses=0]
+	%inc = add int %i.0, 1		; <int> [#uses=1]
+	br label %loopentry
+
+return:		; preds = %loopentry
+	ret int %i.0
+}