diff options
author | David Malcolm <dmalcolm@redhat.com> | 2014-08-27 19:53:39 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2014-08-27 19:53:39 +0000 |
commit | 3dc99c19a5203597ca0bf8f39aea7028f17e80ba (patch) | |
tree | 6b70cdb662152458e90a78b8cb9af235f424d8a0 /gcc/sched-rgn.c | |
parent | a756c6be3193ea9483aaa35b1be4e95ccc79af83 (diff) | |
download | gcc-3dc99c19a5203597ca0bf8f39aea7028f17e80ba.zip gcc-3dc99c19a5203597ca0bf8f39aea7028f17e80ba.tar.gz gcc-3dc99c19a5203597ca0bf8f39aea7028f17e80ba.tar.bz2 |
Use rtx_insn_list in various places
gcc/
2014-08-27 David Malcolm <dmalcolm@redhat.com>
* rtl.h (free_INSN_LIST_list): Strengthen param from rtx * to
rtx_insn_list **.
(alloc_INSN_LIST): Strengthen return type from rtx to
rtx_insn_list *.
(copy_INSN_LIST): Likewise for return type and param.
(concat_INSN_LIST): Likewise for both params and return type.
(remove_free_INSN_LIST_elem): Strenghten first param from rtx to
rtx_insn *. Strengthen second param from rtx * to rtx_insn_list **.
(remove_free_INSN_LIST_node): Strenghten return type from rtx to
rtx_insn *. Strengthen param from rtx * to rtx_insn_list **.
* sched-int.h (struct deps_reg): Strengthen fields "uses", "sets",
"implicit_sets", "control_uses", "clobbers" from rtx to
rtx_insn_list *.
(struct deps_desc): Likewise for fields "pending_read_insns",
"pending_write_insns", "pending_jump_insns",
"last_pending_memory_flush", "last_function_call",
"last_function_call_may_noreturn", "sched_before_next_call",
"sched_before_next_jump".
(struct _haifa_deps_insn_data): Likewise for field "cond_deps".
(remove_from_deps): Strengthen second param from rtx to rtx_insn *.
* gcse.c (struct ls_expr): Strengthen fields "loads" and "stores"
from rtx to rtx_insn_list *.
(ldst_entry): Replace use of NULL_RTX with NULL when dealing with
rtx_insn_list *.
* haifa-sched.c (insn_queue): Strengthen this variable from rtx *
to rtx_insn_list **.
(dep_cost_1): Strengthen local "dep_cost_rtx_link" from rtx to
rtx_insn_list *.
(queue_insn): Likewise for local "link".
(struct haifa_saved_data): Strengthen field "insn_queue" from
rtx * to rtx_insn_list **.
(save_backtrack_point): Update allocation of save->insn_queue to
reflect the strengthening of elements from rtx to rtx_insn_list *.
(queue_to_ready): Strengthen local "link" from rtx to
rtx_insn_list *; use methods "next" and "insn" when traversing the
list.
(early_queue_to_ready): Likewise for locals "link", "next_link",
"prev_link".
(schedule_block): Update allocation of insn_queue to reflect the
strengthening of elements from rtx to rtx_insn_list *. Strengthen
local "link" from rtx to rtx_insn_list *, and use methods when
working it.
(add_to_speculative_block): Strengthen locals "twins" and
"next_node" from rtx to rtx_insn_list *, and use methods when
working with them. Strengthen local "twin" from rtx to
rtx_insn *, eliminating a checked cast.
(fix_recovery_deps): Strengthen locals "ready_list" and "link"
from rtx to rtx_insn_list *, and use methods when working with
them.
* lists.c (alloc_INSN_LIST): Strengthen return type and local "r"
from rtx to rtx_insn_list *, adding a checked cast.
(free_INSN_LIST_list): Strengthen param "listp" from rtx * to
rtx_insn_list **.
(copy_INSN_LIST): Strengthen return type and locals "new_queue",
"newlink" from rtx to rtx_insn_list *. Strengthen local
"pqueue" from rtx * to rtx_insn_list **. Strengthen local "x"
from rtx to rtx_insn *.
(concat_INSN_LIST): Strengthen return type and local "new_rtx",
from rtx to rtx_insn_list *. Use methods of the latter class.
(remove_free_INSN_LIST_elem): Strengthen param "elem" from rtx to
rtx_insn *, and param "listp" from rtx * to rtx_insn_list **.
(remove_free_INSN_LIST_node): Strengthen return type and local
"elem" from rtx to rtx_insn *. Strenghten param "listp" from
rtx * to rtx_insn_list **. Strengthen local "node" from rtx to
rtx_insn_list *, using "insn" method.
* sched-deps.c (add_dependence_list): Strengthen param "list"
from rtx to rtx_insn_list *, and use methods when working with it.
(add_dependence_list_and_free): Strengthen param "listp" from
rtx * to rtx_insn_list **.
(remove_from_dependence_list): Strenghten param "listp" from rtx *
to rtx_insn_list **, and use methods when working with *listp.
(remove_from_both_dependence_lists): Strengthen param "listp" from
rtx * to rtx_insn_list **
(add_insn_mem_dependence): Strengthen local "insn_list" from rtx *
to rtx_insn_list **. Eliminate local "link", in favor of two new
locals "insn_node" and "mem_node", an rtx_insn_list * and an rtx
respectively.
(deps_analyze_insn): Split out uses 'f local "t" as an INSN_LIST
by introducing local "cond_deps".
(remove_from_deps): Strengthen param "insn" from rtx to
rtx_insn *.
* sched-rgn.c (concat_insn_mem_list): Strengthen param
"copy_insns" and local "new_insns" from rtx to rtx_insn_list *.
Strengthen param "old_insns_p" from rtx * to rtx_insn_list **.
Use methods of rtx_insn_list.
* store-motion.c (struct st_expr): Strengthen fields
"antic_stores" and "avail_stores" from rtx to rtx_insn_list *.
(st_expr_entry): Replace NULL_RTX with NULL when dealing with
rtx_insn_list *.
(find_moveable_store): Split out "tmp" into multiple more-tightly
scoped locals. Use methods of rtx_insn_list *.
(compute_store_table): Strengthen local "tmp" from rtx to
rtx_insn *. Use methods of rtx_insn_list *.
From-SVN: r214590
Diffstat (limited to 'gcc/sched-rgn.c')
-rw-r--r-- | gcc/sched-rgn.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c index af3f4e5..92a8a27 100644 --- a/gcc/sched-rgn.c +++ b/gcc/sched-rgn.c @@ -240,7 +240,8 @@ static void add_branch_dependences (rtx_insn *, rtx_insn *); static void compute_block_dependences (int); static void schedule_region (int); -static void concat_insn_mem_list (rtx, rtx, rtx *, rtx *); +static void concat_insn_mem_list (rtx_insn_list *, rtx, + rtx_insn_list **, rtx *); static void propagate_deps (int, struct deps_desc *); static void free_pending_lists (void); @@ -2584,17 +2585,18 @@ add_branch_dependences (rtx_insn *head, rtx_insn *tail) static struct deps_desc *bb_deps; static void -concat_insn_mem_list (rtx copy_insns, rtx copy_mems, rtx *old_insns_p, +concat_insn_mem_list (rtx_insn_list *copy_insns, rtx copy_mems, + rtx_insn_list **old_insns_p, rtx *old_mems_p) { - rtx new_insns = *old_insns_p; + rtx_insn_list *new_insns = *old_insns_p; rtx new_mems = *old_mems_p; while (copy_insns) { - new_insns = alloc_INSN_LIST (XEXP (copy_insns, 0), new_insns); + new_insns = alloc_INSN_LIST (copy_insns->insn (), new_insns); new_mems = alloc_EXPR_LIST (VOIDmode, XEXP (copy_mems, 0), new_mems); - copy_insns = XEXP (copy_insns, 1); + copy_insns = copy_insns->next (); copy_mems = XEXP (copy_mems, 1); } |