]> gcc.gnu.org Git - gcc.git/commit
ira: Fix old-reload targets [PR103974]
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 11 Jan 2022 19:24:59 +0000 (19:24 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 11 Jan 2022 19:24:59 +0000 (19:24 +0000)
commitdb8d94a0570dc1f3de10c9eb9fe6e91df804272b
treee0feb9c63c02498aa510c36e85ce7bb40238901a
parent8b35f02ed599a70cce752e3cb544a7c9f808fce8
ira: Fix old-reload targets [PR103974]

The new IRA heuristics would need more work on old-reload targets,
since flattening needs to be able to undo the cost propagation.
It's doable, but hardly seems worth it.

This patch therefore makes all the new calls to
ira_subloop_allocnos_can_differ_p return false if !ira_use_lra_p.
The color_pass code that predated the new function (and that was
the source of ira_subloop_allocnos_can_differ_p) continues to
behave as before.

It's a hack, but at least it has the advantage that the new parameter
would become obviously unused if reload and (!)ira_use_lra_p were
removed.  The hack should therefore disappear alongside reload.

gcc/
PR rtl-optimization/103974
* ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
extra argument, default true, that says whether old-reload
targets should be excluded.
* ira-color.c (color_pass): Pass false.
gcc/ira-color.c
gcc/ira-int.h
This page took 0.064252 seconds and 6 git commands to generate.