summaryrefslogtreecommitdiff
path: root/gcc/sched-int.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-09 17:45:12 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-09 17:45:12 +0000
commit749c6f584b30dbc81917b4f445f30000fadc5ce6 (patch)
tree1fe02ec542bf787c44dd766982d749861c7780fc /gcc/sched-int.h
parent63d882f5c31bae97ab2ee924f980899641e7a2ec (diff)
downloadgcc-749c6f584b30dbc81917b4f445f30000fadc5ce6.tar.gz
* sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg. * sched-deps.c (sched_analyze_1): Update uses of struct deps. (sched_analyze_2, sched_analyze_insn): Likewise. (sched_analyze, init_deps): Likewise. (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET. * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument. (compute_block_backward_dependences): Update propagate_deps call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38835 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-int.h')
-rw-r--r--gcc/sched-int.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index f59f3a84fb3..fdd49eadca7 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -78,13 +78,24 @@ struct deps
to ensure that they won't cross a call after scheduling is done. */
rtx sched_before_next_call;
+ /* The maximum register number for the following arrays. Before reload
+ this is max_reg_num; after reload it is FIRST_PSEUDO_REGISTER. */
+ int max_reg;
+
/* Element N is the next insn that sets (hard or pseudo) register
N within the current basic block; or zero, if there is no
such insn. Needed for new registers which may be introduced
by splitting insns. */
- rtx *reg_last_uses;
- rtx *reg_last_sets;
- rtx *reg_last_clobbers;
+ struct deps_reg
+ {
+ rtx uses;
+ rtx sets;
+ rtx clobbers;
+ } *reg_last;
+
+ /* Element N is set for each register that has any non-zero element
+ in reg_last[N].{uses,sets,clobbers}. */
+ regset_head reg_last_in_use;
};
/* This structure holds some state of the current scheduling pass, and