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