Changes in directory llvm/lib/Target/IA64:
IA64InstrInfo.cpp updated: 1.4 -> 1.5 IA64InstrInfo.h updated: 1.2 -> 1.3 --- Log message: implement uncond branch insertion for the branch folding pass --- Diffs of the changes: (+11 -5) IA64InstrInfo.cpp | 7 +++++++ IA64InstrInfo.h | 9 ++++----- 2 files changed, 11 insertions(+), 5 deletions(-) Index: llvm/lib/Target/IA64/IA64InstrInfo.cpp diff -u llvm/lib/Target/IA64/IA64InstrInfo.cpp:1.4 llvm/lib/Target/IA64/IA64InstrInfo.cpp:1.5 --- llvm/lib/Target/IA64/IA64InstrInfo.cpp:1.4 Tue Jan 24 20:23:38 2006 +++ llvm/lib/Target/IA64/IA64InstrInfo.cpp Tue Oct 24 11:44:55 2006 @@ -46,3 +46,10 @@ // 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); +} \ No newline at end of file Index: llvm/lib/Target/IA64/IA64InstrInfo.h diff -u llvm/lib/Target/IA64/IA64InstrInfo.h:1.2 llvm/lib/Target/IA64/IA64InstrInfo.h:1.3 --- llvm/lib/Target/IA64/IA64InstrInfo.h:1.2 Thu Apr 21 18:13:11 2005 +++ llvm/lib/Target/IA64/IA64InstrInfo.h Tue Oct 24 11:44:55 2006 @@ -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 @@ 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; }; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits