rtl-optimization/54052 - RTL SSA PHI insertion compile-time hog
commitc7151283dc747769d4ac4f216d8f519bda2569b5
authorRichard Biener <rguenther@suse.de>
Mon, 19 Feb 2024 10:10:50 +0000 (19 11:10 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 19 Feb 2024 13:42:15 +0000 (19 14:42 +0100)
treebc1be2c5694aab289d2af271362301a8b6a79c60
parent78b72ee5a80f45bd761a55006e2b3fc2cbe749bc
rtl-optimization/54052 - RTL SSA PHI insertion compile-time hog

The following tries to address the PHI insertion compile-time hog in
RTL fwprop observed with the PR54052 testcase where the loop computing
the "unfiltered" set of variables possibly needing PHI nodes for each
block exhibits quadratic compile-time and memory-use.

It does so by pruning the local DEFs with LR_OUT of the block, removing
regs that can never be LR_IN (defined by this block) in the dominance
frontier.

PR rtl-optimization/54052
* rtl-ssa/blocks.cc (function_info::place_phis): Filter
local defs by LR_OUT.
gcc/rtl-ssa/blocks.cc