class GlobalValue;
class Function;
class GlobalVariable;
+class InlineAsm;
class SymbolTable;
//===----------------------------------------------------------------------===//
PATypeHolder Ty;
Use *UseList;
- friend class SymbolTable; // Allow SymbolTable to directly poke Name.
+ friend class ValueSymbolTable; // Allow ValueSymbolTable to directly mod Name.
+ friend class SymbolTable; // Allow SymbolTable to directly poke Name.
std::string Name;
void operator=(const Value &); // Do not implement
ConstantStructVal, // This is an instance of ConstantStruct
ConstantPackedVal, // This is an instance of ConstantPacked
ConstantPointerNullVal, // This is an instance of ConstantPointerNull
+ InlineAsmVal, // This is an instance of InlineAsm
InstructionVal, // This is an instance of Instruction
// Markers:
ConstantFirstVal = FunctionVal,
- ConstantLastVal = ConstantPointerNullVal,
+ ConstantLastVal = ConstantPointerNullVal
};
unsigned getValueType() const {
return SubclassID;
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const Value *V) {
+ static inline bool classof(const Value *) {
return true; // Values are always values.
}
private:
/// FIXME: this is a gross hack, needed by another gross hack. Eliminate!
- void setValueType(unsigned VT) { SubclassID = VT; }
+ void setValueType(unsigned short VT) { SubclassID = VT; }
friend class Instruction;
};
template <> inline bool isa_impl<Argument, Value>(const Value &Val) {
return Val.getValueType() == Value::ArgumentVal;
}
+template <> inline bool isa_impl<InlineAsm, Value>(const Value &Val) {
+ return Val.getValueType() == Value::InlineAsmVal;
+}
template <> inline bool isa_impl<Instruction, Value>(const Value &Val) {
return Val.getValueType() >= Value::InstructionVal;
}