diff options
author | abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-14 11:07:39 +0000 |
---|---|---|
committer | abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-14 11:07:39 +0000 |
commit | abb9c563a3f38041f2907a9c8c0ec14e71a34039 (patch) | |
tree | 417364ab83b0b9a615900c90101e61adef6bf7cb /gcc/sel-sched-ir.h | |
parent | 61e213e2de2a03df34ab718451239282eac431f8 (diff) | |
download | gcc-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.h | 4 |
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) |