summaryrefslogtreecommitdiff
path: root/gcc/hard-reg-set.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-16 17:54:34 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-16 17:54:34 +0000
commit546edcaaf9c30b39a7ac0240e86f2fcfd01e9d65 (patch)
tree91f60d01900241bcf2cec0a70c51d3cdca1a9403 /gcc/hard-reg-set.h
parent5d2e3b0feb8affd606954a3ebe98f6cbe4a24b90 (diff)
downloadgcc-546edcaaf9c30b39a7ac0240e86f2fcfd01e9d65.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44053 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/hard-reg-set.h')
-rw-r--r--gcc/hard-reg-set.h9
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. */