The MAX_NUM_CHAINS is applied once with <= and once with < which results in the chains not limited but analyis dropped completely. That's one issue in the PR.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/73550 * gimple-predicate-analysis.cc (predicate::init_from_control_deps): Do not apply MAX_NUM_CHAINS again. --- gcc/gimple-predicate-analysis.cc | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gcc/gimple-predicate-analysis.cc b/gcc/gimple-predicate-analysis.cc index f9ae8910a26..6f30d729df2 100644 --- a/gcc/gimple-predicate-analysis.cc +++ b/gcc/gimple-predicate-analysis.cc @@ -1674,13 +1674,6 @@ predicate::init_from_control_deps (const vec<edge> *dep_chains, if (num_chains == 0) return; - if (num_chains >= MAX_NUM_CHAINS) - { - if (dump_file) - fprintf (dump_file, "MAX_NUM_CHAINS exceeded: %u\n", num_chains); - return; - } - /* Convert the control dependency chain into a set of predicates. */ m_preds.reserve (num_chains); -- 2.35.3