> gcc/ChangeLog:
>
> 2025-11-16 Martin Jambor <[email protected]>
>
> * ipa-cp.cc (good_cloning_opportunity_p): Dump a message when
> bailing out early too.
> (find_more_scalar_values_for_callers_subset): Rename to
> find_scalar_values_for_callers_subset, collect constants regardless of
> what is already in the vector. Remove dumping.
> (find_more_contexts_for_caller_subset): Rename to
> find_contexts_for_caller_subset, collect contexts regardless of what
> is already in the vector. Remove dumping.
> (find_aggregate_values_for_callers_subset): Rename to
> find_aggregate_values_for_callers_subset_gc, implement using new
> functions.
> (find_aggregate_values_for_callers_subset_1): New function.
> (find_aggregate_values_for_callers_subset): Likewise.
> (copy_known_vectors_add_val): Removed.
> (dump_reestimation_message): New function.
> (decide_about_value): Remove formal parameter avals, compute it
> independently, and use it to estimate local cloning effects.
> (struct cloning_opportunity_ranking): New type.
> (compare_cloning_opportunities): New function.
> (cloning_opportunity_ranking_evaluation): Likewise.
> (decide_whether_version_node): Pre-sort candidates for cloning before
> really evaluating them. Calculate context independent values only
> when considering versioning for all contexts.
>
> gcc/testsuite/ChangeLog:
>
> 2025-11-16 Martin Jambor <[email protected]>
>
> * gcc.dg/ipa/ipcp-agg-2.c: Adjust dump test.
> * gcc.dg/ipa/ipcp-agg-3.c: Likewise.
> * gcc.dg/ipa/ipcp-agg-4.c: Likewise.
> * gcc.dg/vect/pr101145_1.c: Compile with -fno-ipa-cp.
> * gcc.dg/vect/pr101145_2.c: Likewise.
> * gcc.dg/vect/pr101145_3.c: Likewise.
OK,
can you please add a testcase (incrementally) that tests the new
functionality.
Something like
void
foo (int a, int b)
{
if (a == 0 && b == 0)
return;
<long code>
}
and later use foo (0, 0)
Thanks,
Honza