}
-void BytecodeParser::setValueTo(ValueTable &ValueTab, unsigned Slot,
- Value *Val) {
- assert(&ValueTab == &ModuleValues && "Can only setValueTo on Module values!");
- assert((!HasImplicitZeroInitializer || Slot != 0) &&
- "Cannot change zero init");
- unsigned type = getTypeSlot(Val->getType());
- assert(type < ValueTab.size() && Slot <= ValueTab[type]->size());
- ValueTab[type]->setOperand(Slot-HasImplicitZeroInitializer, Val);
-}
-
-
Value *BytecodeParser::getValue(const Type *Ty, unsigned oNum, bool Create) {
return getValue(getTypeSlot(Ty), oNum, Create);
}
Constant *getConstantValue(const Type *Ty, unsigned num);
int insertValue(Value *V, ValueTable &Table); // -1 = Failure
- void setValueTo(ValueTable &D, unsigned Slot, Value *V);
unsigned getTypeSlot(const Type *Ty);