https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103974
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:db8d94a0570dc1f3de10c9eb9fe6e91df804272b commit r12-6490-gdb8d94a0570dc1f3de10c9eb9fe6e91df804272b Author: Richard Sandiford <richard.sandif...@arm.com> Date: Tue Jan 11 19:24:59 2022 +0000 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.