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 

Reply via email to