[LLVMdev] Newbie: Basic stuff
Chris Lattner
sabre at nondot.org
Tue Dec 4 21:17:39 PST 2007
On Dec 4, 2007, at 9:02 PM, Sanjiv Gupta wrote:
> What does MIOperandInfo exactly mean while defining an Operand class?
>
> e.g. here
>
> class X86MemOperand<string printMethod> : Operand<iPTR> {
> let PrintMethod = printMethod;
> let MIOperandInfo = (ops ptr_rc, i8imm, ptr_rc, i32imm);
> }
This declares X86MemOperand as an "Operand", in the selection DAG
sense. In the selection DAG, the type of this operand is iPTR (either
i32 or i64 on x86).
MIOperandInfo specifies the number and types of MachineInstr operands
(MachineOperand) that the dag operand corresponds to. See this doc
(Representing X86 addressing modes in MachineInstrs):
http://llvm.org/docs/CodeGenerator.html#x86
... for a description of what each of these is.
-Chris
More information about the llvm-dev
mailing list