Branch selection support implemented by Nate Begeman for long branches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15288 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt
index f25c8cc..2f2cd6d 100644
--- a/lib/Target/PowerPC/README.txt
+++ b/lib/Target/PowerPC/README.txt
@@ -3,7 +3,6 @@
 * signed right shift of long by reg
 
 Current bugs:
-* conditional branches assume target is within 32k bytes
 * large fixed-size allocas not correct, although should
   be closer to working.  Added code in PPCRegisterInfo.cpp
   to do >16bit subtractions to the stack pointer.
@@ -12,6 +11,14 @@
 * no alias analysis causes us to generate slow code for Shootout/matrix
 * setCondInst needs to know branchless versions of seteq/setne/etc
 * cast elimination pass (uint -> sbyte -> short, kill the byte -> short)
+* should hint to the branch select pass that it doesn't need to print the
+  second unconditional branch, so we don't end up with things like:
+.LBBl42__2E_expand_function_8_21:	; LeafBlock37
+	cmplwi cr0, r29, 11
+	bne cr0, $+8
+	b .LBBl42__2E_expand_function_8_674	; loopentry.24
+	b .LBBl42__2E_expand_function_8_42	; NewDefault
+	b .LBBl42__2E_expand_function_8_42	; NewDefault
 
 Current hacks:
 * lazy insert of GlobalBaseReg definition at front of first MBB