Michael McCracken
2005-Aug-10 23:37 UTC
[LLVMdev] ValueTy not set appropriately in Value.h?
Hi, for some temporary debugging I wanted to know what sort of Value I
was seeing, and I ran across this comment in Value.h - it's probably a
minor point, but unless I'm missing something I think either the last
line of the comment is wrong or the code is.
It appears in rev 1.58, as part of fixing bug 122.
00134 /// getValueType - Return an ID for the concrete type of this
object. This is
00135 /// used to implement the classof checks. This should not be
used for any
00136 /// other purpose, as the values may change as LLVM evolves.
Also, note that
00137 /// starting with the InstructionVal value, the value stored
is actually the
00138 /// Instruction opcode, so there are more than just these
values possible here
00139 /// (and Instruction must be last).
00140 ///
00141 enum ValueTy {
00142 ArgumentVal, // This is an instance of Argument
00143 BasicBlockVal, // This is an instance of BasicBlock
00144 FunctionVal, // This is an instance of Function
00145 GlobalVariableVal, // This is an instance of GlobalVariable
00146 UndefValueVal, // This is an instance of UndefValue
00147 ConstantExprVal, // This is an instance of ConstantExpr
00148 ConstantAggregateZeroVal, // This is an instance of
ConstantAggregateNull
00149 SimpleConstantVal, // This is some other type of Constant
00150 InstructionVal, // This is an instance of Instruction
00151 ValueListVal // This is for bcreader, a special ValTy
00152 };
00153 unsigned getValueType() const {
00154 return SubclassID;
00155 }
-mike
--
Michael McCracken
UCSD CSE PhD Candidate
research: http://www.cse.ucsd.edu/~mmccrack/
misc: http://michael-mccracken.net/blog/
On Wed, 10 Aug 2005, Michael McCracken wrote:> Hi, for some temporary debugging I wanted to know what sort of Value I > was seeing, and I ran across this comment in Value.h - it's probably a > minor point, but unless I'm missing something I think either the last > line of the comment is wrong or the code is.Fixed. Thanks! -Chris> It appears in rev 1.58, as part of fixing bug 122. > > 00134 /// getValueType - Return an ID for the concrete type of this > object. This is > 00135 /// used to implement the classof checks. This should not be > used for any > 00136 /// other purpose, as the values may change as LLVM evolves. > Also, note that > 00137 /// starting with the InstructionVal value, the value stored > is actually the > 00138 /// Instruction opcode, so there are more than just these > values possible here > 00139 /// (and Instruction must be last). > 00140 /// > 00141 enum ValueTy { > 00142 ArgumentVal, // This is an instance of Argument > 00143 BasicBlockVal, // This is an instance of BasicBlock > 00144 FunctionVal, // This is an instance of Function > 00145 GlobalVariableVal, // This is an instance of GlobalVariable > 00146 UndefValueVal, // This is an instance of UndefValue > 00147 ConstantExprVal, // This is an instance of ConstantExpr > 00148 ConstantAggregateZeroVal, // This is an instance of > ConstantAggregateNull > 00149 SimpleConstantVal, // This is some other type of Constant > 00150 InstructionVal, // This is an instance of Instruction > 00151 ValueListVal // This is for bcreader, a special ValTy > 00152 }; > 00153 unsigned getValueType() const { > 00154 return SubclassID; > 00155 } > > -mike >-Chris -- http://nondot.org/sabre/ http://llvm.org/
Seemingly Similar Threads
- [LLVMdev] llvm cannot iterate a [3 x i8]
- [LLVMdev] How can I get the destination operand of an instruction?
- [LLVMdev] How can I get the destination operand of an instruction?
- [LLVMdev] MergeFunctions: reduce complexity to O(log(N))
- [LLVMdev] Using ValueSymbolTable...