]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-optimization/111294 - backwards threader PHI costing
authorRichard Biener <rguenther@suse.de>
Thu, 14 Sep 2023 11:06:51 +0000 (13:06 +0200)
committerRichard Biener <rguenther@suse.de>
Mon, 18 Sep 2023 08:56:18 +0000 (10:56 +0200)
commitd45ddc2c04e471d0dcee016b6edacc00b8341b16
treee9ed8b868d10b51ac2fc02f15418ca17f5ab38aa
parent1f9bf6f372da48c75d42f2669ba92f3fd4370fda
tree-optimization/111294 - backwards threader PHI costing

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.

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): Assert alloca size 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.
gcc/testsuite/g++.dg/warn/Wstringop-overflow-4.C
gcc/testsuite/gcc.dg/tree-ssa/phi_on_compare-4.c
gcc/testsuite/gcc.dg/tree-ssa/pr111294.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr59597.c
gcc/testsuite/gcc.dg/tree-ssa/pr61839_2.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-18.c
gcc/testsuite/gcc.dg/uninit-pred-9_b.c
gcc/testsuite/gcc.dg/vect/vect-117.c
gcc/tree-ssa-threadbackward.cc
libgomp/team.c