diff options
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r-- | gcc/var-tracking.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 570cfef..c3adf51 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -4919,16 +4919,12 @@ dataflow_set_remove_mem_locs (variable_def **slot, dataflow_set *set) registers, as well as associations between MEMs and VALUEs. */ static void -dataflow_set_clear_at_call (dataflow_set *set, rtx_insn *call_insn) +dataflow_set_clear_at_call (dataflow_set *set) { unsigned int r; hard_reg_set_iterator hrsi; - HARD_REG_SET invalidated_regs; - get_call_reg_set_usage (call_insn, &invalidated_regs, - regs_invalidated_by_call); - - EXECUTE_IF_SET_IN_HARD_REG_SET (invalidated_regs, 0, r, hrsi) + EXECUTE_IF_SET_IN_HARD_REG_SET (regs_invalidated_by_call, 0, r, hrsi) var_regno_delete (set, r); if (MAY_HAVE_DEBUG_INSNS) @@ -6712,7 +6708,7 @@ compute_bb_dataflow (basic_block bb) switch (mo->type) { case MO_CALL: - dataflow_set_clear_at_call (out, insn); + dataflow_set_clear_at_call (out); break; case MO_USE: @@ -9174,7 +9170,7 @@ emit_notes_in_bb (basic_block bb, dataflow_set *set) switch (mo->type) { case MO_CALL: - dataflow_set_clear_at_call (set, insn); + dataflow_set_clear_at_call (set); emit_notes_for_changes (insn, EMIT_NOTE_AFTER_CALL_INSN, set->vars); { rtx arguments = mo->u.loc, *p = &arguments; |