diff options
author | abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-13 14:27:13 +0000 |
---|---|---|
committer | abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-13 14:27:13 +0000 |
commit | d9ab20389238e942494df234f54a473bb02cec96 (patch) | |
tree | 33d70889d193e4a1474e119c509e0e1fcd50b507 /gcc/sched-int.h | |
parent | 375866ee59eebb08077a51c31b8e04251ac7248e (diff) | |
download | gcc-d9ab20389238e942494df234f54a473bb02cec96.tar.gz |
2009-11-13 Andrey Belevantsev <abel@ispras.ru>
* sched-deps.c (init_deps): New parameter lazy_reg_last. Don't
allocate reg_last when in case lazy_reg_last is true.
(init_deps_reg_last): New.
(free_deps): When max_reg is 0, this context is already freed.
* sched-int.h (init_deps_reg_last): Export.
(init_deps): Update prototype.
* sched-ebb.c (schedule_ebb): Update the call to init_deps.
* sched-rgn.c (sched_rgn_compute_dependencies): Likewise.
* ddg.c (build_intra_loop_deps): Likewise.
* sel-sched-ir.c (copy_deps_context, create_deps_context,
reset_deps_context, deps_init_id): Likewise.
(init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT.
(free_data_for_scheduled_insn): New, break down from ...
(free_first_time_insn_data): ... here.
(has_dependence_p): Allocate reg_last now, when it is needed.
(extend_insn_data): When maximal LUID is big enough, allocate
per-insn data in smaller chunks.
* sel-sched-ir.h (free_data_for_scheduled_insn): Export.
* sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT
in scheduled insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154147 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-int.h')
-rw-r--r-- | gcc/sched-int.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/sched-int.h b/gcc/sched-int.h index 4d60ece28c9..35a517e91ff 100644 --- a/gcc/sched-int.h +++ b/gcc/sched-int.h @@ -1199,7 +1199,8 @@ extern bool sched_insns_conditions_mutex_p (const_rtx, const_rtx); extern bool sched_insn_is_legitimate_for_speculation_p (const_rtx, ds_t); extern void add_dependence (rtx, rtx, enum reg_note); extern void sched_analyze (struct deps *, rtx, rtx); -extern void init_deps (struct deps *); +extern void init_deps (struct deps *, bool); +extern void init_deps_reg_last (struct deps *); extern void free_deps (struct deps *); extern void init_deps_global (void); extern void finish_deps_global (void); |