From: Chris Lattner Date: Sat, 3 Nov 2001 21:08:00 +0000 (+0000) Subject: Add a helper function to PHI node X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=3bf04d5b99db505b07d55b42a348c6c642546d8c;p=oota-llvm.git Add a helper function to PHI node git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1113 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/iOther.h b/include/llvm/iOther.h index a566566377a..cba41964d7a 100644 --- a/include/llvm/iOther.h +++ b/include/llvm/iOther.h @@ -48,6 +48,9 @@ public: inline BasicBlock *getIncomingBlock(unsigned i) { return cast(Operands[i*2+1]); } + inline void setIncomingBlock(unsigned i, BasicBlock *BB) { + Operands[i*2+1] = BB; + } // addIncoming - Add an incoming value to the end of the PHI list void addIncoming(Value *D, BasicBlock *BB); @@ -56,6 +59,14 @@ public: // predecessor basic block is deleted. The value removed is returned. Value *removeIncomingValue(const BasicBlock *BB); + // getBasicBlockIndex - Return the first index of the specified basic + // block in the value list for this PHI. Returns -1 if no instance. + // + int getBasicBlockIndex(const BasicBlock *BB) const { + for (unsigned i = 0; i < Operands.size()/2; ++i) + if (getIncomingBlock(i) == BB) return i; + return -1; + } // Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const PHINode *) { return true; }