Make getOperandNumForIncomingValue and getOperandNumForIncomingBlock
authorDan Gohman <gohman@apple.com>
Mon, 23 Mar 2009 15:48:29 +0000 (15:48 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 23 Mar 2009 15:48:29 +0000 (15:48 +0000)
static member functions, and add getIncomingValueNumForOperand
and getIncomingBlockNumForOperand, which are the respective
inverses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67522 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Instructions.h

index 7b8231ea8c289afe5af57afb9b31207e1f91af40..c5016515e3f25ab2f53058ccc830d8a1c3ab11c2 100644 (file)
@@ -1942,9 +1942,13 @@ public:
     assert(i*2 < getNumOperands() && "Invalid value number!");
     setOperand(i*2, V);
   }
-  unsigned getOperandNumForIncomingValue(unsigned i) {
+  static unsigned getOperandNumForIncomingValue(unsigned i) {
     return i*2;
   }
+  static unsigned getIncomingValueNumForOperand(unsigned i) {
+    assert(i % 2 == 0 && "Invalid incoming-value operand index!");
+    return i/2;
+  }
 
   /// getIncomingBlock - Return incoming basic block corresponding
   /// to value use iterator
@@ -1962,9 +1966,13 @@ public:
   void setIncomingBlock(unsigned i, BasicBlock *BB) {
     setOperand(i*2+1, BB);
   }
-  unsigned getOperandNumForIncomingBlock(unsigned i) {
+  static unsigned getOperandNumForIncomingBlock(unsigned i) {
     return i*2+1;
   }
+  static unsigned getIncomingBlockNumForOperand(unsigned i) {
+    assert(i % 2 == 1 && "Invalid incoming-block operand index!");
+    return i/2;
+  }
 
   /// addIncoming - Add an incoming value to the end of the PHI list
   ///