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