Thanks for your help with me about the way to access type and size of Value.
But, I want also know the interface for me to access the type or size of
virtual registers in the SSA form.
1. I find no way to associate the virtual registers with the Value class.
2. I also tried to get the size of register nReg by:
TargetRegisterClass::getSize(), where the TargetRegisterClass object is
obtained by MachineRegisterInfo::getRegClass( nReg ).
But, I found it always returned with the value 4 bytes, say, GR32 (My
target is the x86-32 bits). If all virtual registers were size of 32 bits,
how could we consider the alias register file during register allocation?
Namely, if a temporary value could be stored in 8 bits, why do we give it 32
bits? So, I doubt my second way to get the size of virtual register was
wrong. Need your further help.
2011/1/28 John Criswell <criswell at illinois.edu>
> On 1/27/11 3:23 AM, Qingan Li wrote:
>
>> Hi,
>>
>> I wonder if there is an interface for me to access the type or size of
>> virtual registers in the SSA form?
>> I have scanned the MachineOperand in CodeGen part, and failed to find
this
>> kind of info for virtual registers.
>>
>
> The getType() method of Value * will return the LLVM type. The TargetData
> class will provide information on size for a type on a particular hardware
> platform.
>
> -- John T.
>
>
>> --
>> Best regards,
>>
>> Li Qingan
>>
>>
>
--
Best regards,
Li Qingan
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20110128/3634ce43/attachment.html>