Hello Jeff:

On 20/04/23 3:29 am, Jeff Law wrote:
> 
> 
> On 4/19/23 12:03, Ajit Agarwal wrote:
>> Hello All:
>>
>> This is patch-4 to improve ree pass for rs6000 target.
>> Use ABI interfaces support.
>>
>> Bootstrapped and regtested on powerpc64-linux-gnu.
>>
>> Thanks & Regards
>> Ajit
>>
>>     ree: Improve ree pass for rs6000 target.
>>
>>     For rs6000 target we see redundant zero and sign
>>     extension and done to improve ree pass to eliminate
>>     such redundant zero and sign extension. Support of
>>     ABI interfaces.
>>
>>     2023-04-19  Ajit Kumar Agarwal  <aagar...@linux.ibm.com>
>>
>> gcc/ChangeLog:
>>
>>     * ree.cc (combline_reaching_defs): Add zero_extend and sign_extend.
>>     Add FUNCTION_ARG_REGNO_P abi interfaces calls and
>>     FUNCTION_VALUE_REGNO_P support.
>>     (add_removable_extension): Add FUNCTION_ARG_REGNO_P abi
>>     interface calls.
>>
>> gcc/testsuite/ChangeLog:
>>
>>     * g++.target/powerpc/zext-elim-3.C
> So my general comment on this code is we need to expose properties of the ABI 
> so they can be queried.  ie, just because you found that a REGNO happens to 
> be a function argument doesn't mean you know anything about its extension 
> status.   We need a way to describe the extension property of the ABI.  
> Ideally there'll be something pre-existing that we can query, but I'm not 
> sure that's the case.
> 
> The overarching point is what you're doing is highly dependent on the precise 
> semantics of the ABI.  But nowhere do you ask the question "does the ABI 
> mandate a particular sign/zero extension state for this argument?"  So it's 
> just wrong as-written as far as I can tell.
>

I have submitted new version of the patch which incorporates the above. Please 
review and let me know your feedback.

Thanks & Regards
Ajit
 
> Jeff
> 

Reply via email to