]> gcc.gnu.org Git - gcc.git/commit
Fix builtin vs non-builtin partition merge in loop distribution
authorRichard Biener <rguenther@suse.de>
Mon, 18 Jul 2022 11:09:57 +0000 (13:09 +0200)
committerRichard Biener <rguenther@suse.de>
Mon, 18 Jul 2022 12:42:51 +0000 (14:42 +0200)
commit87f46a16ec05beb51439f55a4d3c36d64b95b00f
treea52b3bca598e579e167ef85c61260860aebb43a9
parentc8697735abaca3b3dfe8ae4188a086d1fd7048eb
Fix builtin vs non-builtin partition merge in loop distribution

When r7-6373-g40b6bff965d004 fixed a costing issue it failed to
make the logic symmetric which means that we now fuse
normal vs. builtin when the cost model says so but we don't fuse
builtin vs. normal.  The following fixes that, also allowing
the cost model to decide to fuse two builtin partitions as otherwise
an intermediate non-builtin can result in a partial merge as well.

* tree-loop-distribution.cc (loop_distribution::distribute_loop):
When computing cost-based merging do not disregard builtin
classified partitions in some cases.

* gcc.dg/tree-ssa/ldist-24.c: XFAIL.
* gcc.dg/tree-ssa/ldist-36.c: Adjust expected outcome.
gcc/testsuite/gcc.dg/tree-ssa/ldist-24.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-36.c
gcc/tree-loop-distribution.cc
This page took 0.074883 seconds and 6 git commands to generate.