From: Chris Lattner Date: Sat, 21 Oct 2006 06:50:05 +0000 (+0000) Subject: New, wonderful isSuccessor method X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=cd5bad37112ba22f4c546e5443714570b4104bb6;p=oota-llvm.git New, wonderful isSuccessor method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31103 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/MachineBasicBlock.h b/include/llvm/CodeGen/MachineBasicBlock.h index 219f7c4108b..90a779b147f 100644 --- a/include/llvm/CodeGen/MachineBasicBlock.h +++ b/include/llvm/CodeGen/MachineBasicBlock.h @@ -112,18 +112,18 @@ public: typedef std::vector::iterator succ_iterator; typedef std::vector::const_iterator const_succ_iterator; - pred_iterator pred_begin() { return Predecessors.begin (); } - const_pred_iterator pred_begin() const { return Predecessors.begin (); } - 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(); } + pred_iterator pred_begin() { return Predecessors.begin(); } + const_pred_iterator pred_begin() const { return Predecessors.begin(); } + 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 @@ -142,6 +142,15 @@ public: /// updated. /// void removeSuccessor(succ_iterator I); + + /// isSuccessor - Return true if the specified MBB is a successor of this + /// block. + bool isSuccessor(MachineBasicBlock *MBB) const { + for (const_succ_iterator I = succ_begin(), E = succ_end(); I != E; ++I) + if (*I == MBB) + return true; + return false; + } /// getFirstTerminator - returns an iterator to the first terminator /// instruction of this basic block. If a terminator does not exist,