aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2001-07-16 10:54:34 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-07-16 10:54:34 -0700
commit4e2db58460e396ff0a66e3c87f94665c2a7c1ffc (patch)
tree91f60d01900241bcf2cec0a70c51d3cdca1a9403 /gcc/sched-deps.c
parentfb124b992c3235992f5fc7f781266d5708d3a215 (diff)
downloadgcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.zip
gcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.tar.gz
gcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.tar.bz2
hard-reg-set.h (regs_invalidated_by_call): Declare.
* hard-reg-set.h (regs_invalidated_by_call): Declare. * regclass.c (regs_invalidated_by_call): Move from cse.c. (init_reg_sets_1): Move initialization from cse_main. * cse.c (regs_invalidated_by_call): Move to regclass.c. (cse_main): Move its initialization also. * df.c (df_insn_refs_record): Use regs_invalidated_by_call. * flow.c (propagate_one_insn): Likewise. * gcse.c (compute_hash_table): Likewise. (compute_kill_rd, compute_store_table): Likewise. * sched-deps.c (sched_analyze_1): Likewise. From-SVN: r44053
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index eee26ba..422b394 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);
}