diff options
author | Chris Lattner <sabre@nondot.org> | 2001-06-22 02:21:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-06-22 02:21:42 +0000 |
commit | fe0a67c74e6ca7fd3af9261229dcba8584cba7fd (patch) | |
tree | 68d006a58f53624002f2057ca389fc7435baf43e | |
parent | 28d480b31623371e9d738d17a62dd0bd6cdce1cd (diff) |
Add accessor methods to binary/unary operators
Add extra helper methods to PHI class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/InstrTypes.h | 9 | ||||
-rw-r--r-- | include/llvm/iOther.h | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/InstrTypes.h b/include/llvm/InstrTypes.h index 1bd7a246d0..23d6019866 100644 --- a/include/llvm/InstrTypes.h +++ b/include/llvm/InstrTypes.h @@ -35,6 +35,9 @@ public: virtual bool setOperand(unsigned i, Value *Val) = 0; virtual const Value *getOperand(unsigned i) const = 0; + inline Value *getOperand(unsigned i) { + return (Value*)((const Instruction *)this)->getOperand(i); + } // Additionally, they must provide a method to get at the successors of this // terminator instruction. If 'idx' is out of range, a null pointer shall be @@ -78,6 +81,9 @@ public: virtual string getOpcode() const = 0; virtual unsigned getNumOperands() const { return 1; } + inline Value *getOperand(unsigned i) { + return (i == 0) ? Source : 0; + } virtual const Value *getOperand(unsigned i) const { return (i == 0) ? Source : 0; } @@ -126,6 +132,9 @@ public: virtual const Value *getOperand(unsigned i) const { return (i == 0) ? Source1 : ((i == 1) ? Source2 : 0); } + inline Value *getOperand(unsigned i) { + return (i == 0) ? Source1 : ((i == 1) ? Source2 : 0); + } virtual bool setOperand(unsigned i, Value *Val) { // assert(Val && "operand must not be null!"); diff --git a/include/llvm/iOther.h b/include/llvm/iOther.h index 118241fdc2..1d6b9a9968 100644 --- a/include/llvm/iOther.h +++ b/include/llvm/iOther.h @@ -46,6 +46,15 @@ public: virtual bool setOperand(unsigned i, Value *Val); virtual string getOpcode() const { return "phi"; } + // getNumIncomingValues - Return the number of incoming edges the PHI node has + inline unsigned getNumIncomingValues() const { return IncomingValues.size(); } + + // getIncomingValue - Return incoming value #x + inline Value *getIncomingValue(unsigned i) const { return IncomingValues[i].first; } + + // getIncomingBlock - Return incoming basic block #x + inline BasicBlock *getIncomingBlock(unsigned i) const { return IncomingValues[i].second; } + // addIncoming - Add an incoming value to the end of the PHI list void addIncoming(Value *D, BasicBlock *BB); |