[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