[PR117248][LRA]: Fix calculation of conflict hard regs of pseudo

The 1st patch for PR117248 resulted in PR117299 (libgo failures on arm).  So this is a patch
solving the problem in another way.

gcc/ChangeLog:

	PR rtl-optimization/117248
	* lra-lives.cc (process_bb_lives): Update conflict hard regs even
	when clobber hard reg is not marked as dead.
This commit is contained in:
Vladimir N. Makarov 2024-12-18 14:00:38 -05:00
parent bb829ce157
commit 24df430108

View file

@ -1006,7 +1006,15 @@ process_bb_lives (basic_block bb, int &curr_point, bool dead_insn_p)
clobbered_regset))
break;
if (reg2 == NULL)
make_hard_regno_dead (reg->regno);
{
make_hard_regno_dead (reg->regno);
}
else
{
EXECUTE_IF_SET_IN_SPARSESET (pseudos_live, j)
SET_HARD_REG_BIT (lra_reg_info[j].conflict_hard_regs,
reg->regno);
}
}
/* Increment the current program point if we must. */