mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Add new getIncomingValueForBlock method
Relax a bit about constness git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5709 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0d75d8d73e
commit
566f0ee4ed
@ -33,13 +33,12 @@ public:
|
||||
unsigned getNumIncomingValues() const { return Operands.size()/2; }
|
||||
|
||||
/// getIncomingValue - Return incoming value #x
|
||||
const Value *getIncomingValue(unsigned i) const {
|
||||
return Operands[i*2];
|
||||
}
|
||||
Value *getIncomingValue(unsigned i) {
|
||||
Value *getIncomingValue(unsigned i) const {
|
||||
assert(i*2 < Operands.size() && "Invalid value number!");
|
||||
return Operands[i*2];
|
||||
}
|
||||
void setIncomingValue(unsigned i, Value *V) {
|
||||
assert(i*2 < Operands.size() && "Invalid value number!");
|
||||
Operands[i*2] = V;
|
||||
}
|
||||
inline unsigned getOperandNumForIncomingValue(unsigned i) {
|
||||
@ -47,16 +46,15 @@ public:
|
||||
}
|
||||
|
||||
/// getIncomingBlock - Return incoming basic block #x
|
||||
const BasicBlock *getIncomingBlock(unsigned i) const {
|
||||
return (const BasicBlock*)Operands[i*2+1].get();
|
||||
}
|
||||
inline BasicBlock *getIncomingBlock(unsigned i) {
|
||||
BasicBlock *getIncomingBlock(unsigned i) const {
|
||||
assert(i*2+1 < Operands.size() && "Invalid value number!");
|
||||
return (BasicBlock*)Operands[i*2+1].get();
|
||||
}
|
||||
inline void setIncomingBlock(unsigned i, BasicBlock *BB) {
|
||||
void setIncomingBlock(unsigned i, BasicBlock *BB) {
|
||||
assert(i*2+1 < Operands.size() && "Invalid value number!");
|
||||
Operands[i*2+1] = (Value*)BB;
|
||||
}
|
||||
inline unsigned getOperandNumForIncomingBlock(unsigned i) {
|
||||
unsigned getOperandNumForIncomingBlock(unsigned i) {
|
||||
return i*2+1;
|
||||
}
|
||||
|
||||
@ -93,6 +91,10 @@ public:
|
||||
return -1;
|
||||
}
|
||||
|
||||
Value *getIncomingValueForBlock(const BasicBlock *BB) const {
|
||||
return getIncomingValue(getBasicBlockIndex(BB));
|
||||
}
|
||||
|
||||
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
||||
static inline bool classof(const PHINode *) { return true; }
|
||||
static inline bool classof(const Instruction *I) {
|
||||
|
Loading…
Reference in New Issue
Block a user