[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineBasicBlock.h MachineInstr.h

Chris Lattner lattner at cs.uiuc.edu
Fri Jul 30 18:59:26 PDT 2004



Changes in directory llvm/include/llvm/CodeGen:

MachineBasicBlock.h updated: 1.35 -> 1.36
MachineInstr.h updated: 1.152 -> 1.153

---
Log message:

Add some machine CFG related stuff


---
Diffs of the changes:  (+25 -9)

Index: llvm/include/llvm/CodeGen/MachineBasicBlock.h
diff -u llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.35 llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.36
--- llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.35	Tue Jun  8 13:52:47 2004
+++ llvm/include/llvm/CodeGen/MachineBasicBlock.h	Fri Jul 30 20:59:11 2004
@@ -115,30 +115,42 @@
   pred_iterator        pred_end()         { return Predecessors.end ();   }
   const_pred_iterator  pred_end()   const { return Predecessors.end ();   }
   unsigned             pred_size()  const { return Predecessors.size ();  }
+  bool                 pred_empty() const { return Predecessors.empty();  }
   succ_iterator        succ_begin()       { return Successors.begin ();   }
   const_succ_iterator  succ_begin() const { return Successors.begin ();   }
   succ_iterator        succ_end()         { return Successors.end ();     }
   const_succ_iterator  succ_end()   const { return Successors.end ();     }
   unsigned             succ_size()  const { return Successors.size ();    }
+  bool                 succ_empty() const { return Successors.empty();    }
 
   // Machine-CFG mutators
 
   /// addSuccessor - Add succ as a successor of this MachineBasicBlock.
   /// The Predecessors list of succ is automatically updated.
   ///
-  void addSuccessor (MachineBasicBlock *succ) {
-    Successors.push_back (succ);
-    succ->addPredecessor (this);
+  void addSuccessor(MachineBasicBlock *succ) {
+    Successors.push_back(succ);
+    succ->addPredecessor(this);
   }
 
-  /// removeSuccessor - Remove succ from the successors list of this
+  /// removeSuccessor - Remove successor from the successors list of this
   /// MachineBasicBlock. The Predecessors list of succ is automatically updated.
   ///
-  void removeSuccessor (MachineBasicBlock *succ) {
-    succ->removePredecessor (this);
-    std::vector<MachineBasicBlock *>::iterator goner =
-      std::find (Successors.begin(), Successors.end (), succ);
-    Successors.erase (goner);
+  void removeSuccessor(MachineBasicBlock *succ) {
+    succ->removePredecessor(this);
+    succ_iterator I = std::find(Successors.begin(), Successors.end(), succ);
+    assert(I != Successors.end() && "Not a current successor!");
+    Successors.erase(I);
+  }
+
+  /// removeSuccessor - Remove specified successor from the successors list of
+  /// this MachineBasicBlock. The Predecessors list of succ is automatically
+  /// updated.
+  ///
+  void removeSuccessor(succ_iterator I) {
+    assert(I != Successors.end() && "Not a current successor!");
+    (*I)->removePredecessor(this);
+    Successors.erase(I);
   }
 
   /// getFirstTerminator - returns an iterator to the first terminator


Index: llvm/include/llvm/CodeGen/MachineInstr.h
diff -u llvm/include/llvm/CodeGen/MachineInstr.h:1.152 llvm/include/llvm/CodeGen/MachineInstr.h:1.153
--- llvm/include/llvm/CodeGen/MachineInstr.h:1.152	Mon Jul 19 08:28:39 2004
+++ llvm/include/llvm/CodeGen/MachineInstr.h	Fri Jul 30 20:59:11 2004
@@ -255,6 +255,10 @@
     assert(isMachineBasicBlock() && "Wrong MachineOperand accessor");
     return contents.MBB;
   }
+  void setMachineBasicBlock(MachineBasicBlock *MBB) {
+    assert(isMachineBasicBlock() && "Wrong MachineOperand accessor");
+    contents.MBB = MBB;
+  }
   int getFrameIndex() const {
     assert(isFrameIndex() && "Wrong MachineOperand accessor");
     return contents.immedVal;





More information about the llvm-commits mailing list