aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r--gcc/loop-iv.c4
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);
}