[LLVMdev] Troubling promotion of return value to Integer ...

Evan Cheng evan.cheng at apple.com
Fri Jun 6 00:04:07 PDT 2008


On Jun 5, 2008, at 11:44 PM, Chris Lattner wrote:

> On Jun 5, 2008, at 11:33 PM, Evan Cheng wrote:
>> On Jun 4, 2008, at 11:12 AM, Chris Lattner wrote:
>>> n Jun 4, 2008, at 10:52 AM, Evan Cheng wrote:
>>>>
>>>> On May 29, 2008, at 10:30 AM, Alireza.Moshtaghi at microchip.com  
>>>> wrote:
>>>>>
>>>>>
>>>>> 4) There will be 4 new function attributes:
>>>>> sign_ext_from_i8, sign_ext_from_i16
>>>>> zero_ext_from_i8, zero_ext_from_i16
>>>>> These attributes will be placed on the function CALL node by
>>>>> front-end
>>>>> to inform the backend about such promotions and enable  
>>>>> optimization
>>>>> of
>>>>> return value. This should be sufficient for direct and indirect
>>>>> call.
>>>>> (syntax of these attributes to be defined)
>>>>
>>>> Should we go one step further and provide an attribute whose value
>>>> is
>>>> the "original type" before the extension?
>>>
>>> What would that mean? Can you give an example?
>>
>> Well, you suggested sext / zext from i8 / i16. Why not from i1  
>> (useful
>> for denoting boolean type) or any arbitrary type?
>
> Are you suggesting adding 'sign_ext_from_i1' and 'zero_ext_from_i1'
> attributes?  I'd be fine with that.  It would also solve some existing
> code quality issues we have.

These will be useful. But is it possible to be more generic? sext_from  
type where type can be any type? The value of the attribute would  
somehow tells us the type before extension?

Evan

>
>
> -Chris
> _______________________________________________
> 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