* Remove register allocations of coalesced registers if the alias

register is spilled.

(cherry picked from commit b96057adeb)
This commit is contained in:
Yuriy Sydorov 2021-09-06 18:37:45 +03:00 committed by florian
parent 0b5951cf22
commit 0ca0cd9d0d

View File

@ -2158,8 +2158,9 @@ unit rgobj;
begin
if (getregtype(reg)=regtype) then
begin
{A register allocation of a spilled register can be removed.}
supreg:=getsupreg(reg);
{A register allocation of the spilled register (and all coalesced registers)
must be removed.}
supreg:=get_alias(getsupreg(reg));
if supregset_in(regs_to_spill_set,supreg) then
begin
q:=Tai(p.next);