Index: include/llvm/CodeGen/MachineBasicBlock.h =================================================================== RCS file: /var/cvs/llvm/llvm/include/llvm/CodeGen/MachineBasicBlock.h,v retrieving revision 1.39 diff -u -r1.39 MachineBasicBlock.h --- include/llvm/CodeGen/MachineBasicBlock.h 1 Sep 2004 22:55:34 -0000 1.39 +++ include/llvm/CodeGen/MachineBasicBlock.h 26 Oct 2004 09:04:27 -0000 @@ -18,6 +18,7 @@ #include "llvm/ADT/GraphTraits.h" #include "llvm/ADT/ilist" #include +#include namespace llvm { class MachineFunction; @@ -128,30 +129,18 @@ /// 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); - } + inline void addSuccessor(MachineBasicBlock *succ); /// 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); - succ_iterator I = std::find(Successors.begin(), Successors.end(), succ); - assert(I != Successors.end() && "Not a current successor!"); - Successors.erase(I); - } + inline void removeSuccessor(MachineBasicBlock *succ); /// 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); - } + inline void removeSuccessor(succ_iterator I); /// getFirstTerminator - returns an iterator to the first terminator /// instruction of this basic block. If a terminator does not exist, @@ -204,20 +193,14 @@ /// Don't do this unless you know what you're doing, because it doesn't /// update pred's successors list. Use pred->addSuccessor instead. /// - void addPredecessor (MachineBasicBlock *pred) { - Predecessors.push_back (pred); - } + inline void addPredecessor (MachineBasicBlock *pred); /// removePredecessor - Remove pred as a predecessor of this /// MachineBasicBlock. Don't do this unless you know what you're /// doing, because it doesn't update pred's successors list. Use /// pred->removeSuccessor instead. /// - void removePredecessor (MachineBasicBlock *pred) { - std::vector::iterator goner = - std::find (Predecessors.begin(), Predecessors.end (), pred); - Predecessors.erase (goner); - } + inline void removePredecessor (MachineBasicBlock *pred); }; // This is useful when building DenseMaps keyed on MachineBasicBlocks Index: lib/CodeGen/MachineBasicBlock.cpp =================================================================== RCS file: /var/cvs/llvm/llvm/lib/CodeGen/MachineBasicBlock.cpp,v retrieving revision 1.20 diff -u -r1.20 MachineBasicBlock.cpp --- lib/CodeGen/MachineBasicBlock.cpp 5 Sep 2004 18:39:20 -0000 1.20 +++ lib/CodeGen/MachineBasicBlock.cpp 26 Oct 2004 09:04:28 -0000 @@ -19,6 +19,7 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Support/LeakDetector.h" #include +#include using namespace llvm; MachineBasicBlock::~MachineBasicBlock() { @@ -106,3 +107,31 @@ I->print(OS, &getParent()->getTarget()); } } + +inline void MachineBasicBlock::addSuccessor(MachineBasicBlock *succ) { + Successors.push_back(succ); + succ->addPredecessor(this); +} + +inline void MachineBasicBlock::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); +} + +inline void MachineBasicBlock::removeSuccessor(succ_iterator I) { + assert(I != Successors.end() && "Not a current successor!"); + (*I)->removePredecessor(this); + Successors.erase(I); +} + +inline void MachineBasicBlock::addPredecessor (MachineBasicBlock *pred) { + Predecessors.push_back (pred); +} + +inline void MachineBasicBlock::removePredecessor (MachineBasicBlock *pred) { + std::vector::iterator goner = + std::find (Predecessors.begin(), Predecessors.end (), pred); + Predecessors.erase (goner); +} Index: lib/CodeGen/RegAllocLocal.cpp =================================================================== RCS file: /var/cvs/llvm/llvm/lib/CodeGen/RegAllocLocal.cpp,v retrieving revision 1.69 diff -u -r1.69 RegAllocLocal.cpp --- lib/CodeGen/RegAllocLocal.cpp 1 Sep 2004 22:55:35 -0000 1.69 +++ lib/CodeGen/RegAllocLocal.cpp 26 Oct 2004 09:04:29 -0000 @@ -25,6 +25,7 @@ #include "llvm/Support/Debug.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/Statistic.h" +#include using namespace llvm; namespace { Index: lib/CodeGen/VirtRegMap.cpp =================================================================== RCS file: /var/cvs/llvm/llvm/lib/CodeGen/VirtRegMap.cpp,v retrieving revision 1.32 diff -u -r1.32 VirtRegMap.cpp --- lib/CodeGen/VirtRegMap.cpp 15 Oct 2004 03:19:31 -0000 1.32 +++ lib/CodeGen/VirtRegMap.cpp 26 Oct 2004 09:04:29 -0000 @@ -28,6 +28,7 @@ #include "llvm/Support/Debug.h" #include "llvm/ADT/Statistic.h" #include "llvm/ADT/STLExtras.h" +#include using namespace llvm; namespace {