[PATCH] extend cselim to check non-trapping for more references (PR tree-optimizaton/89430)

Richard Biener rguenther@suse.de
Thu Jun 4 06:44:43 GMT 2020


On Thu, 4 Jun 2020, Hao Liu OS wrote:

> Hi Jakub,
> 
> I've updated the incorrect  ChangLog.
> 
> gcc/:
> 
>         PR tree-optimization/89430
>         * tree-ssa-phiopt.c
>         (struct name_to_bb): Rename to ref_to_bb; add a new field exp;
>         remove ssa_name_ver, store, offset fields.
>         (struct ssa_names_hasher): Rename to refs_hasher; update functions.
>         (class nontrapping_dom_walker): Rename m_seen_ssa_names to m_seen_refs.
>         (nontrapping_dom_walker::add_or_mark_expr): Extend to support ARRAY_REFs
>         and COMPONENT_REFs.
> 
>  Thanks a lot.

Looks good to me.

Thanks,
Richard.

> -Hao
> 
> ________________________________________
> From: Jakub Jelinek <jakub@redhat.com>
> Sent: Thursday, June 4, 2020 12:55
> To: Hao Liu OS
> Cc: Richard Biener; gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH] extend cselim to check non-trapping for more references (PR tree-optimizaton/89430)
> 
> On Thu, Jun 04, 2020 at 04:47:43AM +0000, Hao Liu OS wrote:
> > The patch is refactored a little according to the last comment. Do you have more comments? If no, I will commit it later.
> >
> > Tested on X86_64 and AArch64.
> >
> > gcc/:
> >
> >         PR tree-optimization/89430
> >         * tree-ssa-phiopt.c (cond_store_replacement): Extend non-trap checking
> >         to support ARRAY_REFs and COMPONENT_REFs.  Support a special case: if
> >         there is a dominating load of local variable without address escape,
> >         a store is not trapped (as local stack is always writable).
> >         The logic is also simplified to ignore other loads, as they don't
> >         help to check if a store is trapped (may be read-only).
> 
> The ChangeLog entry is certainly incorrect, it doesn't mention all the
> classes and methods you've actually changed, but mentions a routine you
> haven't changed at all.  And it describes the intent of the changes rather
> than the details on what actually changed.  This struct got renamed and this
> and this member has been added, etc.
> 
>         Jakub
> 
> 

-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)


More information about the Gcc-patches mailing list