From 4ce5ce25e8d5157225a3d9a36b8d4260fff7b284 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Tue, 27 Jul 2004 18:43:04 +0000 Subject: [PATCH] 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 --- lib/Target/PowerPC/README.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index f25c8cce6b5..2f2cd6de820 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -3,7 +3,6 @@ Currently unimplemented: * 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 @@ Codegen improvements needed: * 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 -- 2.34.1