[LLVMdev] Illegal pointer type

Evan Cheng evan.cheng at apple.com
Fri Sep 19 10:12:09 PDT 2008


I am assuming a 16-bit value will be stored in a pair of 8-bit  
registers? If so, add pseudo register which represent pairs of 8-bit  
registers. Add them to a pseudo register class. This allows you to  
mark i16 "legal".

The difficult part is then to figure out how to lower these 16-bit  
operations into 8-bit ones. You probably need to custom lower a bunch  
of them with target specific code.

Evan

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




More information about the llvm-dev mailing list