diff options
author | Richard Biener <rguenther@suse.de> | 2024-02-19 11:10:50 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-02-19 14:42:15 +0100 |
commit | c7151283dc747769d4ac4f216d8f519bda2569b5 (patch) | |
tree | bc1be2c5694aab289d2af271362301a8b6a79c60 /libcpp | |
parent | 78b72ee5a80f45bd761a55006e2b3fc2cbe749bc (diff) | |
download | gcc-c7151283dc747769d4ac4f216d8f519bda2569b5.zip gcc-c7151283dc747769d4ac4f216d8f519bda2569b5.tar.gz gcc-c7151283dc747769d4ac4f216d8f519bda2569b5.tar.bz2 |
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.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions