Revert "CodeGen: Allow small copyable blocks to "break" the CFG."

This reverts commit ada6595a526d71df04988eb0a4b4fe84df398ded.

This needs a simple probability check because there are some cases where it is
not profitable.

llvm-svn: 291695
diff --git a/llvm/test/CodeGen/PowerPC/tail-dup-layout.ll b/llvm/test/CodeGen/PowerPC/tail-dup-layout.ll
index d6e339e..6790aa8 100644
--- a/llvm/test/CodeGen/PowerPC/tail-dup-layout.ll
+++ b/llvm/test/CodeGen/PowerPC/tail-dup-layout.ll
@@ -19,7 +19,7 @@
 ; The CHECK statements check for the whole string of tests and exit block,
 ; and then check that the correct test has been duplicated into the end of
 ; the optional blocks and that the optional blocks are in the correct order.
-;CHECK-LABEL: straight_test:
+;CHECK-LABEL: f:
 ; test1 may have been merged with entry
 ;CHECK: mr [[TAGREG:[0-9]+]], 3
 ;CHECK: andi. {{[0-9]+}}, [[TAGREG]], 1
@@ -47,7 +47,7 @@
 ;CHECK-NEXT: [[OPT4LABEL]]
 ;CHECK: b [[EXITLABEL]]
 
-define void @straight_test(i32 %tag) {
+define void @f(i32 %tag) {
 entry:
   br label %test1
 test1:
@@ -94,57 +94,7 @@
   ret void
 }
 
-; The block then2 is not unavoidable, but since it can be tail-duplicated, it
-; should be placed as a fallthrough from test2 and copied.
-; CHECK-LABEL: avoidable_test:
-; CHECK: # %entry
-; CHECK: andi.
-; CHECK: # %test2
-; Make sure then2 falls through from test2
-; CHECK-NOT: # %{{[-_a-zA-Z0-9]+}}
-; CHECK: # %then2
-; CHECK: rlwinm. {{[0-9]+}}, {{[0-9]+}}, 0, 29, 29
-; CHECK-NOT: # %{{[-_a-zA-Z0-9]+}}
-; CHECK: # %end2
-; CHECK: # %else1
-; CHECK: bl a
-; CHECK: bl a
-; Make sure then2 was copied into else1
-; CHECK: rlwinm. {{[0-9]+}}, {{[0-9]+}}, 0, 29, 29
-; CHECK: # %else2
-; CHECK: bl c
-define void @avoidable_test(i32 %tag) {
-entry:
-  br label %test1
-test1:
-  %tagbit1 = and i32 %tag, 1
-  %tagbit1eq0 = icmp eq i32 %tagbit1, 0
-  br i1 %tagbit1eq0, label %test2, label %else1, !prof !1 ; %test2 more likely
-else1:
-  call void @a()
-  call void @a()
-  br label %then2
-test2:
-  %tagbit2 = and i32 %tag, 2
-  %tagbit2eq0 = icmp eq i32 %tagbit2, 0
-  br i1 %tagbit2eq0, label %then2, label %else2, !prof !1 ; %then2 more likely
-then2:
-  %tagbit3 = and i32 %tag, 4
-  %tagbit3eq0 = icmp eq i32 %tagbit3, 0
-  br i1 %tagbit3eq0, label %end2, label %end1, !prof !1 ; %end2 more likely
-else2:
-  call void @c()
-  br label %end2
-end2:
-  ret void
-end1:
-  call void @d()
-  ret void
-}
-
 declare void @a()
 declare void @b()
 declare void @c()
 declare void @d()
-
-!1 = !{!"branch_weights", i32 2, i32 1}