Hi Jeff,

Yes. The latter one "[PATCH] improve ifcvt optimization (PR 
rtl-optimization/89430)" supersedes the earlier one " Fixing ifcvt issue as 
exposed by BZ89430".

Thanks,
-Jiangning

-----Original Message-----
From: Jeff Law <l...@redhat.com> 
Sent: Tuesday, April 30, 2019 11:54 PM
To: JiangNing OS <jiangn...@os.amperecomputing.com>; gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] improve ifcvt optimization (PR rtl-optimization/89430)

On 3/14/19 10:46 PM, JiangNing OS wrote:
> This patch is to fix a missing ifcvt opportunity in back-end. For the 
> simple case below,
> 
> if (...)
>     x = a;  /* x is memory */
> /* no else */
> 
> We can generate conditional move and remove the branch as below if the target 
> cost is acceptable. 
> 
> r1 = x
> r2 = a
> cmp ...
> csel r3, r1, r2, cond
> x = r3
> 
> This could be safe if x is a stack variable, and there isn't any address 
> taken in current function, so the store speculation can be avoided. 
> 
> In practice, this optimization can improve a real application performance by 
> %4 on aarch64.
[ ... ]
I notice that a couple weeks you'd sent a similar patch under the heading 
"Fixing ifcvt issue as exposed by BZ89430".  Does this patch supersede the 
earlier patch?

Jeff

Reply via email to