diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2001-07-16 10:54:34 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-07-16 10:54:34 -0700 |
commit | 4e2db58460e396ff0a66e3c87f94665c2a7c1ffc (patch) | |
tree | 91f60d01900241bcf2cec0a70c51d3cdca1a9403 /gcc/hard-reg-set.h | |
parent | fb124b992c3235992f5fc7f781266d5708d3a215 (diff) | |
download | gcc-4e2db58460e396ff0a66e3c87f94665c2a7c1ffc.tar.gz |
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/hard-reg-set.h')
-rw-r--r-- | gcc/hard-reg-set.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h index 10435beec34..c3a2305711f 100644 --- a/gcc/hard-reg-set.h +++ b/gcc/hard-reg-set.h @@ -431,6 +431,15 @@ extern HARD_REG_SET call_fixed_reg_set; extern char global_regs[FIRST_PSEUDO_REGISTER]; +/* Contains 1 for registers that are set or clobbered by calls. */ +/* ??? Ideally, this would be just call_used_regs plus global_regs, but + for someone's bright idea to have call_used_regs strictly include + fixed_regs. Which leaves us guessing as to the set of fixed_regs + that are actually preserved. We know for sure that those associated + with the local stack frame are safe, but scant others. */ + +extern HARD_REG_SET regs_invalidated_by_call; + #ifdef REG_ALLOC_ORDER /* Table of register numbers in the order in which to try to use them. */ |