diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-05-18 00:05:48 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-05-18 00:05:48 +0000 |
commit | 99be49dd9b3685399f85fc9e46ad010dc8c84887 (patch) | |
tree | 5613ee5bff98de4d286b8ca33bccd438e79816ce /llvm/lib/Target/Alpha/AlphaInstrInfo.cpp | |
parent | c0dc382fb79da0dac1a2405204e08f4da0e16504 (diff) | |
download | bcm5719-llvm-99be49dd9b3685399f85fc9e46ad010dc8c84887.tar.gz bcm5719-llvm-99be49dd9b3685399f85fc9e46ad010dc8c84887.zip |
RemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.
llvm-svn: 37192
Diffstat (limited to 'llvm/lib/Target/Alpha/AlphaInstrInfo.cpp')
-rw-r--r-- | llvm/lib/Target/Alpha/AlphaInstrInfo.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp b/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp index 04b08b58bf1..2a72d180193 100644 --- a/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp +++ b/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp @@ -99,7 +99,7 @@ static bool isAlphaIntCondCode(unsigned Opcode) { } } -void AlphaInstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB, +unsigned AlphaInstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB, MachineBasicBlock *FBB, const std::vector<MachineOperand> &Cond)const{ assert(TBB && "InsertBranch must not be told to insert a fallthrough"); @@ -117,7 +117,7 @@ void AlphaInstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB, else BuildMI(&MBB, get(Alpha::COND_BRANCH_F)) .addImm(Cond[0].getImm()).addReg(Cond[1].getReg()).addMBB(TBB); - return; + return 1; } // Two-way Conditional Branch. @@ -128,6 +128,7 @@ void AlphaInstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB, BuildMI(&MBB, get(Alpha::COND_BRANCH_F)) .addImm(Cond[0].getImm()).addReg(Cond[1].getReg()).addMBB(TBB); BuildMI(&MBB, get(Alpha::BR)).addMBB(FBB); + return 2; } static unsigned AlphaRevCondCode(unsigned Opcode) { @@ -203,28 +204,29 @@ bool AlphaInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB,MachineBasicBlock *&TB return true; } -void AlphaInstrInfo::RemoveBranch(MachineBasicBlock &MBB) const { +unsigned AlphaInstrInfo::RemoveBranch(MachineBasicBlock &MBB) const { MachineBasicBlock::iterator I = MBB.end(); - if (I == MBB.begin()) return; + if (I == MBB.begin()) return 0; --I; if (I->getOpcode() != Alpha::BR && I->getOpcode() != Alpha::COND_BRANCH_I && I->getOpcode() != Alpha::COND_BRANCH_F) - return; + return 0; // Remove the branch. I->eraseFromParent(); I = MBB.end(); - if (I == MBB.begin()) return; + if (I == MBB.begin()) return 1; --I; if (I->getOpcode() != Alpha::COND_BRANCH_I && I->getOpcode() != Alpha::COND_BRANCH_F) - return; + return 1; // Remove the branch. I->eraseFromParent(); + return 2; } void AlphaInstrInfo::insertNoop(MachineBasicBlock &MBB, |