Document the use of getValueType() more accurately, specifically explain

that the instruction opcode is added to the InstructionVal value and the
consequences of that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34937 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2007-03-05 23:06:32 +00:00
parent cf5fb2b614
commit 53201869cd

View File

@ -181,10 +181,12 @@ public:
/// getValueType - Return an ID for the concrete type of this object. This is
/// used to implement the classof checks. This should not be used for any
/// other purpose, as the values may change as LLVM evolves. Also, note that
/// starting with the InstructionVal value, the value stored is actually the
/// Instruction opcode, so there are more than just these values possible here
/// (and Instruction must be last).
///
/// for instructions, the Instruction's opcode is added to InstructionVal. So
/// this means three things:
/// # there is no value with code InstructionVal (no opcode==0).
/// # there are more possible values for the value type than in ValueTy enum.
/// # the InstructionVal enumerator must be the highest valued enumerator in
/// the ValueTy enum.
unsigned getValueType() const {
return SubclassID;
}