Hi all,
I've got a question about MemOpnd in LIR confusing me a lot.
What is the meaning of MemOpnd [ref 1]?
and what is the meaning of the instructions [ref 2] including it?
Really appreciate!
[ref 1]:
Opnd * IRManager::newMemOpnd(Type * type, MemOpndKind k, Opnd * base, Opnd *
index, Opnd * scale, Opnd * displacement, RegName segReg)
{
Opnd * opnd = newOpnd(type);
opnd->assignMemLocation(k,base,index,scale,displacement);
if (segReg != RegName_Null)
opnd->setSegReg(segReg);
return opnd;
}
[ref 2]:
I4: (AD:t14:cls:.Unresolved) =CopyPseudoInst/MOV (AU:t13[t8]:cls:.Unresolved)
Here the t13 is a MemOpnd and t8 is t13' subOpnd.
t8:ref:cls:.Unresolved addr=t8:ref:cls:.Unresolved
Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI}
Calculated constraint:
Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI}
Location constraint: Null
t13[t8]:cls:.Unresolved addr=t13[t8]:cls:.Unresolved
Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI}
Calculated constraint:
Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI}
Location constraint: Sz32:Mem
t14:cls:.Unresolved addr=t14:cls:.Unresolved
Initial constraint: Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI}
Calculated constraint:
Sz32:Imm|Mem|GPReg{EAX|ECX|EDX|EBX|ESP|EBP|ESI|EDI}
Location constraint: Null
2009-02-12
lijian