On Tue, Sep 3, 2024 at 11:30 PM Kyrylo Tkachov <ktkac...@nvidia.com> wrote:
>
> Hi Andrew,
>
> > On 3 Sep 2024, at 20:11, Andrew Pinski <quic_apin...@quicinc.com> wrote:
> >
> > External email: Use caution opening links or attachments
> >
> >
> > This moves the check for # of statements to copy in join to
> > be the first check. This check is the cheapest check so it
> > should be first. Plus add a print to the dump file since there
> > was none beforehand.
> >
> > gcc/ChangeLog:
> >
> >        * gimple-ssa-split-paths.cc (is_feasible_trace): Move
> >        check for # of statments in join earlier and add a
> >        debug print.
> >
> > Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
> > ---
> > gcc/gimple-ssa-split-paths.cc | 19 +++++++++++++------
> > 1 file changed, 13 insertions(+), 6 deletions(-)
> >
> > diff --git a/gcc/gimple-ssa-split-paths.cc b/gcc/gimple-ssa-split-paths.cc
> > index 8b4304fe59e..81a5d1dee5b 100644
> > --- a/gcc/gimple-ssa-split-paths.cc
> > +++ b/gcc/gimple-ssa-split-paths.cc
> > @@ -167,6 +167,19 @@ is_feasible_trace (basic_block bb)
> >   int num_stmts_in_pred2
> >     = EDGE_COUNT (pred2->succs) == 1 ? count_stmts_in_block (pred2) : 0;
> >
> > +  /* Upper Hard limit on the number statements to copy.  */
> > +  if (num_stmts_in_join
> > +      >= param_max_jump_thread_duplication_stmts)
> > +    {
> > +      if (dump_file && (dump_flags & TDF_DETAILS))
> > +       fprintf (dump_file,
> > +                "Duplicating block %d would be too duplicate "
> > +                "too many statments: %d >= %d\n",
>
> The “be too” is unnecessary here IMO.

I will fix this tomorrow; just trying to get a different fix done.

Thanks,
Andrew

> Thanks,
> Kyrill
>
> > +                bb->index, num_stmts_in_join,
> > +                param_max_jump_thread_duplication_stmts);
> > +      return false;
> > +    }
> > +
> >   /* This is meant to catch cases that are likely opportunities for
> >      if-conversion.  Essentially we look for the case where
> >      BB's predecessors are both single statement blocks where
> > @@ -406,12 +419,6 @@ is_feasible_trace (basic_block bb)
> >   /* We may want something here which looks at dataflow and tries
> >      to guess if duplication of BB is likely to result in simplification
> >      of instructions in BB in either the original or the duplicate.  */
> > -
> > -  /* Upper Hard limit on the number statements to copy.  */
> > -  if (num_stmts_in_join
> > -      >= param_max_jump_thread_duplication_stmts)
> > -    return false;
> > -
> >   return true;
> > }
> >
> > --
> > 2.43.0
> >
>

Reply via email to