aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC/PPCBranchSelector.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2006-03-17 01:40:33 +0000
committerNate Begeman <natebegeman@mac.com>2006-03-17 01:40:33 +0000
commit81e8097377529dc3b666f33bb525c49cfbac3f51 (patch)
treed4c33c3ef954f50671fef38cf13ac1a26c4b95ab /lib/Target/PowerPC/PPCBranchSelector.cpp
parente261c474cac3fe1ca5bb8528c150095ffb81bbca (diff)
downloadexternal_llvm-81e8097377529dc3b666f33bb525c49cfbac3f51.zip
external_llvm-81e8097377529dc3b666f33bb525c49cfbac3f51.tar.gz
external_llvm-81e8097377529dc3b666f33bb525c49cfbac3f51.tar.bz2
Remove BRTWOWAY*
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch selector smarter about the code it generates, fixing a case in the readme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26814 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCBranchSelector.cpp')
-rw-r--r--lib/Target/PowerPC/PPCBranchSelector.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/Target/PowerPC/PPCBranchSelector.cpp b/lib/Target/PowerPC/PPCBranchSelector.cpp
index e7fce56..543c390 100644
--- a/lib/Target/PowerPC/PPCBranchSelector.cpp
+++ b/lib/Target/PowerPC/PPCBranchSelector.cpp
@@ -48,10 +48,10 @@ FunctionPass *llvm::createPPCBranchSelectionPass() {
static unsigned getNumBytesForInstruction(MachineInstr *MI) {
switch (MI->getOpcode()) {
case PPC::COND_BRANCH:
- // while this will be 4 most of the time, if we emit 12 it is just a
+ // while this will be 4 most of the time, if we emit 8 it is just a
// minor pessimization that saves us from having to worry about
// keeping the offsets up to date later when we emit long branch glue.
- return 12;
+ return 8;
case PPC::IMPLICIT_DEF_GPR: // no asm emitted
case PPC::IMPLICIT_DEF_F4: // no asm emitted
case PPC::IMPLICIT_DEF_F8: // no asm emitted
@@ -102,7 +102,6 @@ bool PPCBSel::runOnMachineFunction(MachineFunction &Fn) {
// long branch:
// bInverseCC $PC+8
// b .L_TARGET_MBB
- // b .L_FALLTHROUGH_MBB
for (MachineFunction::iterator MFI = Fn.begin(), E = Fn.end(); MFI != E;
++MFI) {
MachineBasicBlock *MBB = MFI;
@@ -123,8 +122,6 @@ bool PPCBSel::runOnMachineFunction(MachineFunction &Fn) {
// 3. fallthrough MBB
MachineBasicBlock *trueMBB =
MBBI->getOperand(2).getMachineBasicBlock();
- MachineBasicBlock *falseMBB =
- MBBI->getOperand(3).getMachineBasicBlock();
int Displacement = OffsetMap[trueMBB] - ByteCount;
unsigned Opcode = MBBI->getOperand(1).getImmedValue();
@@ -136,7 +133,6 @@ bool PPCBSel::runOnMachineFunction(MachineFunction &Fn) {
} else {
BuildMI(*MBB, MBBJ, Inverted, 2).addReg(CRReg).addSImm(8);
BuildMI(*MBB, MBBJ, PPC::B, 1).addMBB(trueMBB);
- BuildMI(*MBB, MBBJ, PPC::B, 1).addMBB(falseMBB);
}
// Erase the psuedo COND_BRANCH instruction, and then back up the