diff options
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r-- | gcc/sched-deps.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index eee26baf75b..422b39485d3 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -618,7 +618,9 @@ sched_analyze_1 (deps, x, insn) SET_REGNO_REG_SET (reg_pending_clobbers, r); /* Function calls clobber all call_used regs. */ - if (global_regs[r] || (code == SET && call_used_regs[r])) + if (global_regs[r] + || (code == SET + && TEST_HARD_REG_BIT (regs_invalidated_by_call, r))) for (u = deps->last_function_call; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); } |