implement uncond branch insertion for the branch folding pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31159 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-10-24 16:44:55 +00:00
parent 0476b28525
commit 11533e2236
2 changed files with 11 additions and 5 deletions

View File

@ -46,3 +46,10 @@ bool IA64InstrInfo::isMoveInstr(const MachineInstr& MI,
// move instruction
}
void IA64InstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB,
MachineBasicBlock *FBB,
const std::vector<MachineOperand> &Cond)const {
// Can only insert uncond branches so far.
assert(Cond.empty() && !FBB && TBB && "Can only handle uncond branches!");
BuildMI(&MBB, IA64::BRL_NOTCALL, 1).addMBB(TBB);
}

View File

@ -19,11 +19,7 @@
namespace llvm {
/// IA64II - This namespace holds all of the target specific flags that
/// instruction info tracks.
/// FIXME: now gone!
class IA64InstrInfo : public TargetInstrInfo {
class IA64InstrInfo : public TargetInstrInfo {
const IA64RegisterInfo RI;
public:
IA64InstrInfo();
@ -41,6 +37,9 @@ public:
virtual bool isMoveInstr(const MachineInstr& MI,
unsigned& sourceReg,
unsigned& destReg) const;
virtual void InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
MachineBasicBlock *FBB,
const std::vector<MachineOperand> &Cond) const;
};