On 9/14/23 07:23, Richard Biener via Gcc-patches wrote:
This revives an earlier patch since the problematic code applying
extra costs to PHIs in copied blocks we couldn't make any sense of
prevents a required threading in this case.  Instead of coming up
with an artificial other costing the following simply removes the
bits.

As with all threading changes this requires a plethora of testsuite
adjustments, but only the last three are unfortunate as is the
libgomp team.c adjustment which is required to avoid a bogus -Werror
diagnostic during bootstrap.

Bootstrapped and tested on x86_64-unknown-linux-gnu.

Any objections?

Thanks,
Richard.

        PR tree-optimization/111294
gcc/
        * tree-ssa-threadbackward.cc (back_threader_profitability::m_name):
        Remove
        (back_threader::find_paths_to_names): Adjust.
        (back_threader::maybe_thread_block): Likewise.
        (back_threader_profitability::possibly_profitable_path_p): Remove
        code applying extra costs to copies PHIs.

libgomp/
        * team.c (gomp_team_start): Guard gomp_alloca to avoid false
        positive alloc-size diagnostic.

gcc/testsuite/
        * gcc.dg/tree-ssa/pr111294.c: New test.
        * gcc.dg/tree-ssa/phi_on_compare-4.c: Adjust.
        * gcc.dg/tree-ssa/pr59597.c: Likewise.
        * gcc.dg/tree-ssa/pr61839_2.c: Likewise.
        * gcc.dg/tree-ssa/ssa-sink-18.c: Likewise.
        * g++.dg/warn/Wstringop-overflow-4.C: XFAIL subtest on ilp32.
        * gcc.dg/uninit-pred-9_b.c: XFAIL subtest everywhere.
        * gcc.dg/vect/vect-117.c: Make scan for not Invalid sum
        conditional on lp64.
No objections. IIRC this was all to deal with a code explosion problem seen on sparc. As long as tree-ssa/pr69196-1.c hasn't gone crazy we're OK.

jeff

Reply via email to