diff options
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r-- | gcc/df-problems.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c index f48da9b..1d1dc9c 100644 --- a/gcc/df-problems.c +++ b/gcc/df-problems.c @@ -3912,19 +3912,21 @@ df_simulate_one_insn_forwards (basic_block bb, rtx insn, bitmap live) for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) { switch (REG_NOTE_KIND (link)) + { case REG_DEAD: case REG_UNUSED: - { - rtx reg = XEXP (link, 0); - int regno = REGNO (reg); - if (regno < FIRST_PSEUDO_REGISTER) - { - int n = hard_regno_nregs[regno][GET_MODE (reg)]; - while (--n >= 0) - bitmap_clear_bit (live, regno + n); - } - else - bitmap_clear_bit (live, regno); + { + rtx reg = XEXP (link, 0); + int regno = REGNO (reg); + if (regno < FIRST_PSEUDO_REGISTER) + { + int n = hard_regno_nregs[regno][GET_MODE (reg)]; + while (--n >= 0) + bitmap_clear_bit (live, regno + n); + } + else + bitmap_clear_bit (live, regno); + } break; default: break; |