summaryrefslogtreecommitdiff
path: root/gcc/sel-sched-ir.h
diff options
context:
space:
mode:
authorabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-14 11:07:39 +0000
committerabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-14 11:07:39 +0000
commitabb9c563a3f38041f2907a9c8c0ec14e71a34039 (patch)
tree417364ab83b0b9a615900c90101e61adef6bf7cb /gcc/sel-sched-ir.h
parent61e213e2de2a03df34ab718451239282eac431f8 (diff)
downloadgcc-abb9c563a3f38041f2907a9c8c0ec14e71a34039.tar.gz
PR rtl-optimization/42389
* sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE to can_issue_more. (advance_state_on_fence): Likewise. (sel_target_adjust_priority): Print debug output only when sched_verbose >= 4, not 2. (get_expr_cost): Do not issue all unique insns on the next cycle. (fill_insns): Initialize can_issue_more from the value saved with the fence. * sel-sched-ir.c (flist_add): New parameter issue_more. Init FENCE_ISSUE_MORE with it. (merge_fences): Likewise. (init_fences): Update call to flist_add. (add_to_fences, add_clean_fence_to_fences) (add_dirty_fence_to_fences): Likewise. (move_fence_to_fences): Update call to merge_fences. (invoke_reorder_hooks): Do not reset can_issue_more on insns from sched groups. * sel-sched-ir.h (struct _fence): New field issue_more. (FENCE_ISSUE_MORE): New accessor macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155895 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sel-sched-ir.h')
-rw-r--r--gcc/sel-sched-ir.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h
index 50eb903dac1..0d8b0fcb1ee 100644
--- a/gcc/sel-sched-ir.h
+++ b/gcc/sel-sched-ir.h
@@ -296,6 +296,9 @@ struct _fence
/* Insn, which has been scheduled last on this fence. */
rtx last_scheduled_insn;
+ /* The last value of can_issue_more variable on this fence. */
+ int issue_more;
+
/* If non-NULL force the next scheduled insn to be SCHED_NEXT. */
rtx sched_next;
@@ -325,6 +328,7 @@ typedef struct _fence *fence_t;
#define FENCE_DC(F) ((F)->dc)
#define FENCE_TC(F) ((F)->tc)
#define FENCE_LAST_SCHEDULED_INSN(F) ((F)->last_scheduled_insn)
+#define FENCE_ISSUE_MORE(F) ((F)->issue_more)
#define FENCE_EXECUTING_INSNS(F) ((F)->executing_insns)
#define FENCE_READY_TICKS(F) ((F)->ready_ticks)
#define FENCE_READY_TICKS_SIZE(F) ((F)->ready_ticks_size)