]> git.ipfire.org Git - people/ms/gcc.git/commit
tree-optimization/107323 - loop distribution partition ordering issue
authorRichard Biener <rguenther@suse.de>
Fri, 21 Oct 2022 07:45:44 +0000 (09:45 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 21 Oct 2022 09:18:48 +0000 (11:18 +0200)
commit19a9b5e587e87f524425864dba989eeef8bfffbb
treea350e28b093944ebc4ac9c615f3c2fa75554cc07
parent11c4310086719230bffef3aa28a80a0be67d0d02
tree-optimization/107323 - loop distribution partition ordering issue

The following reverts part of the PR94125 fix which causes us to
use a bogus partition ordering after applying versioning for
alias to the testcase in PR107323.  Instead PR94125 is fixed by
appropriately considering to be merged SCCs when skipping edges
we want to ignore because of the alias versioning.

PR tree-optimization/107323
* tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
New function.
(loop_distribution::break_alias_scc_partitions): Revert
postorder save/restore from the PR94125 fix.  Instead
make sure to not ignore edges from SCCs we are going to
merge.

* gcc.dg/tree-ssa/pr107323.c: New testcase.

(cherry picked from commit 09f9814dc02c161ed78604c6df70b19b596f7524)
gcc/testsuite/gcc.dg/tree-ssa/pr107323.c [new file with mode: 0644]
gcc/tree-loop-distribution.cc