aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Instructions.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/llvm/Instructions.h b/include/llvm/Instructions.h
index 7b8231ea8c..c5016515e3 100644
--- a/include/llvm/Instructions.h
+++ b/include/llvm/Instructions.h
@@ -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
///