summaryrefslogtreecommitdiff
path: root/gcc/sched-int.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-01-09 09:45:12 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-01-09 09:45:12 -0800
commit4ba478b87c50718ac4dd3af0e2cf42392dbb5641 (patch)
tree1fe02ec542bf787c44dd766982d749861c7780fc /gcc/sched-int.h
parent9c1fcbfbb6d9d51593faddb4a8e43e04303b3a09 (diff)
downloadgcc-4ba478b87c50718ac4dd3af0e2cf42392dbb5641.tar.gz
sched-int.h (struct deps): Add max_reg, reg_last_in_use...
* 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. From-SVN: r38835
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