[llvm-commits] CVS: llvm/lib/Target/IA64/IA64InstrInfo.cpp IA64InstrInfo.h

Chris Lattner sabre at nondot.org
Tue Oct 24 09:45:10 PDT 2006



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;
 
 };
 






More information about the llvm-commits mailing list