diff options
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r-- | gcc/loop-iv.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index e234fd93b79..9cc58e81e20 100644 --- a/gcc/loop-iv.c +++ b/gcc/loop-iv.c @@ -1404,10 +1404,12 @@ simplify_using_assignment (rtx insn, rtx *expr, regset altered) if (CALL_P (insn)) { int i; + HARD_REG_SET clobbered_regs; /* Kill all call clobbered registers. */ + get_call_invalidated_used_regs (insn, &clobbered_regs, true); for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - if (TEST_HARD_REG_BIT (regs_invalidated_by_call, i)) + if (TEST_HARD_REG_BIT (clobbered_regs, i)) SET_REGNO_REG_SET (altered, i); } |