diff options
author | Dimitar Dimitrov <dimitar@dinux.eu> | 2018-06-28 03:43:48 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-06-27 21:43:48 -0600 |
commit | 764df76cb2dc6f3c0d6ae3cdf75eaf5cb3832a38 (patch) | |
tree | 444412cd82b33d98215b32dc20de26ac2b7cb24b /gcc/lra-lives.c | |
parent | 3d09a8abd304171b2ccdb4c5cdece6da874c643a (diff) |
lra-eliminations.c (update_reg_eliminate): Mark all spanning hard registers for Pmode.
2018-06-23 Dimitar Dimitrov <dimitar@dinux.eu>
* lra-eliminations.c (update_reg_eliminate): Mark all spanning hard
registers for Pmode.
* lra-lives.c (check_pseudos_live_through_calls): Mark all spanning
hard registers for the clobbered pseudo.
From-SVN: r262205
Diffstat (limited to 'gcc/lra-lives.c')
-rw-r--r-- | gcc/lra-lives.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c index 588bc09cb8e..920fd02b997 100644 --- a/gcc/lra-lives.c +++ b/gcc/lra-lives.c @@ -581,7 +581,8 @@ check_pseudos_live_through_calls (int regno, for (hr = 0; hr < FIRST_PSEUDO_REGISTER; hr++) if (targetm.hard_regno_call_part_clobbered (hr, PSEUDO_REGNO_MODE (regno))) - SET_HARD_REG_BIT (lra_reg_info[regno].conflict_hard_regs, hr); + add_to_hard_reg_set (&lra_reg_info[regno].conflict_hard_regs, + PSEUDO_REGNO_MODE (regno), hr); lra_reg_info[regno].call_p = true; if (! sparseset_bit_p (pseudos_live_through_setjumps, regno)) return; |