]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-optimization/122079 - PRE antic compute doesn't converge
authorRichard Biener <rguenther@suse.de>
Wed, 1 Oct 2025 12:55:17 +0000 (14:55 +0200)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 2 Oct 2025 07:12:10 +0000 (09:12 +0200)
commit0f8c6f479e65af985d4d374cc9b3405327124d66
tree8e0cf0db1b48641cdad553bc10e7002ff86324be
parent0e91910c0708a60b3ac521a4ea74e44301109f4a
tree-optimization/122079 - PRE antic compute doesn't converge

The following re-instantiates the pruning of the ANTIC_IN value set
by the previous iterations one by reverting part of
r16-3945-gc30f58c3f7ec25.  The earlier fixes made sure the initial
value set is appropriately big to not cause this to lose optimizations.
But it seems to be still required for correctness given iteration
order means we combine ANTIC_IN sets from different generations which
can be prone to oscillations in CFG cycles.

PR tree-optimization/122079
* tree-ssa-pre.cc (compute_antic_aux): Re-instantiate
ANTIC_IN value pruning by the old solution.

* gcc.dg/torture/pr122079-2.c: New testcase.
* gcc.dg/torture/pr122079-3.c: Likewise.
gcc/testsuite/gcc.dg/torture/pr122079-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr122079-3.c [new file with mode: 0644]
gcc/tree-ssa-pre.cc