[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:
parent
bb829ce157
commit
24df430108
1 changed files with 9 additions and 1 deletions
|
@ -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. */
|
||||
|
|
Loading…
Add table
Reference in a new issue