[PATCH 08/10] Use rtx_insn_list within haifa-sched.c
David Malcolm
dmalcolm@redhat.com
Fri Sep 5 01:47:00 GMT 2014
gcc/
* haifa-sched.c (check_clobbered_conditions): Strengthen local
"link" from rtx to rtx_insn_list *, and use its methods for
clarity and type-safety.
(toggle_cancelled_flags): Likewise.
(restore_last_backtrack_point): Likewise.
(queue_to_ready): Use insn method of "link" in one place.
(schedule_block): Strengthen local "link" from rtx to
rtx_insn_list *, and use its methods for clarity and type-safety.
---
gcc/haifa-sched.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 83ea5bd..fb92bb2 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -3148,13 +3148,13 @@ check_clobbered_conditions (rtx insn)
}
for (i = 0; i <= max_insn_queue_index; i++)
{
- rtx link;
+ rtx_insn_list *link;
int q = NEXT_Q_AFTER (q_ptr, i);
restart_queue:
- for (link = insn_queue[q]; link; link = XEXP (link, 1))
+ for (link = insn_queue[q]; link; link = link->next ())
{
- rtx_insn *x = as_a <rtx_insn *> (XEXP (link, 0));
+ rtx_insn *x = link->insn ();
if (TODO_SPEC (x) == DEP_CONTROL && cond_clobbered_p (x, t))
{
queue_remove (x);
@@ -4239,10 +4239,10 @@ toggle_cancelled_flags (bool set)
for (i = 0; i <= max_insn_queue_index; i++)
{
int q = NEXT_Q_AFTER (q_ptr, i);
- rtx link;
- for (link = insn_queue[q]; link; link = XEXP (link, 1))
+ rtx_insn_list *link;
+ for (link = insn_queue[q]; link; link = link->next ())
{
- rtx insn = XEXP (link, 0);
+ rtx_insn *insn = link->insn ();
FOR_EACH_DEP (insn, SD_LIST_BACK, sd_it, dep)
if (!DEBUG_INSN_P (DEP_PRO (dep)))
{
@@ -4349,7 +4349,6 @@ unschedule_insns_until (rtx insn)
static void
restore_last_backtrack_point (struct sched_block_state *psched_block)
{
- rtx link;
int i;
struct haifa_saved_data *save = backtrack_queue;
@@ -4384,9 +4383,9 @@ restore_last_backtrack_point (struct sched_block_state *psched_block)
{
int q = NEXT_Q_AFTER (q_ptr, i);
- for (link = insn_queue[q]; link; link = XEXP (link, 1))
+ for (rtx_insn_list *link = insn_queue[q]; link; link = link->next ())
{
- rtx_insn *x = as_a <rtx_insn *> (XEXP (link, 0));
+ rtx_insn *x = link->insn ();
QUEUE_INDEX (x) = QUEUE_NOWHERE;
INSN_TICK (x) = INVALID_TICK;
}
@@ -4416,9 +4415,9 @@ restore_last_backtrack_point (struct sched_block_state *psched_block)
insn_queue[q] = save->insn_queue[q];
- for (link = insn_queue[q]; link; link = XEXP (link, 1))
+ for (rtx_insn_list *link = insn_queue[q]; link; link = link->next ())
{
- rtx_insn *x = as_a <rtx_insn *> (XEXP (link, 0));
+ rtx_insn *x = link->insn ();
QUEUE_INDEX (x) = i;
TODO_SPEC (x) = recompute_todo_spec (x, true);
INSN_TICK (x) = save->clock_var + i;
@@ -4991,7 +4990,7 @@ queue_to_ready (struct ready_list *ready)
{
for (; link; link = link->next ())
{
- insn = as_a <rtx_insn *> (XEXP (link, 0));
+ insn = link->insn ();
q_size -= 1;
if (sched_verbose >= 2)
@@ -6545,12 +6544,12 @@ schedule_block (basic_block *target_bb, state_t init_state)
if (q_size)
for (i = 0; i <= max_insn_queue_index; i++)
{
- rtx link;
- for (link = insn_queue[i]; link; link = XEXP (link, 1))
+ rtx_insn_list *link;
+ for (link = insn_queue[i]; link; link = link->next ())
{
rtx_insn *x;
- x = as_a <rtx_insn *> (XEXP (link, 0));
+ x = link->insn ();
QUEUE_INDEX (x) = QUEUE_NOWHERE;
TODO_SPEC (x) = HARD_DEP;
}
--
1.8.5.3
More information about the Gcc-patches
mailing list