[LLVMdev] Illegal pointer type

Evan Cheng evan.cheng at apple.com
Mon Sep 22 00:00:27 PDT 2008


On Sep 20, 2008, at 7:12 AM, Sanjiv.Gupta at microchip.com wrote:

>> I am assuming a 16-bit value will be stored in a pair of 8-bit
>> registers?
>
> One related question is how to make sure that the correct register  
> pair is allocated to the16-bit quantity when using two 8-bit  
> operations.
> In other words, how we can make sure that the 16-bit pointer is  
> stored into [AH, AL] and not in [AH, BL] ?

By using pseudo i16 registers which map to legal pairs [AH, AL]. That  
is, you can specify a pseudo register AX and it has sub-registers AH,  
AL.

Evan

>
>
> i.e.
> GR8  = [ AH, BH, AL, BL];
> GR16 = [AX, BX] ;    // AX, BX are subreg pairs of ah,al and bh, bl
>
> the DAG looks like   Wrapper:i16 (GR16)  = MoveToHi:i8 (GR8)  ,  
> MoveToLo:i8 (GR8)
>
> Now how to make sure that if MoveToHi gets AH , then
>     1.   MoveToLo should get AL,
>     2.   the Wrapper should get AX
>
> - Sanjiv
>
>
> On Sep 19, 2008, at 5:01 AM, Sachin.Punyani at microchip.com wrote:
>
>>
>>
>>> -----Original Message-----
>>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-
>>> bounces at cs.uiuc.edu]
>> On
>>> Behalf Of Bill Wendling
>>> Sent: Friday, September 19, 2008 4:38 AM
>>>
>>> On Thu, Sep 18, 2008 at 7:12 AM,  <Sachin.Punyani at microchip.com>
>> wrote:
>>>> What changes would be required in LLVM to support illegal pointer
>> type?
>>>>
>>> Hi Sachin,
>>>
>>> The question's a bit broad. And I don't think the answer you want is
>>> as simple as "don't run the legalizer" (which probably won't work).
>>> Do
>>> you have a more specific question?
>>
>> I am trying to ask a broad question. My target has 16 bit pointers  
>> but
>> register size is 8 bit only. What changes in LLVM would be required  
>> to
>> support 16 bit pointers on 8 bit registers?
>>
>> Regards
>> Sachin
>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> <winmail.dat>_______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list