aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorMostafa Hagog <mustafa@il.ibm.com>2004-08-08 21:35:53 +0000
committerMostafa Hagog <hagog@gcc.gnu.org>2004-08-08 21:35:53 +0000
commitd72372e46ac06b4db61143f91367a777089cc6f6 (patch)
treed4a4dc1d2fd739eff16c75b3bbf87780df96f926 /gcc/rtl.h
parent94538bd12ae8ffa02164399a616ef806e77f797b (diff)
downloadgcc-d72372e46ac06b4db61143f91367a777089cc6f6.zip
gcc-d72372e46ac06b4db61143f91367a777089cc6f6.tar.gz
gcc-d72372e46ac06b4db61143f91367a777089cc6f6.tar.bz2
common.opt (freschedule-modulo-scheduled-loops): New flag.
2004-08-08 Mostafa Hagog <mustafa@il.ibm.com> Ayal Zaks <zaks@il.ibm.com> * common.opt (freschedule-modulo-scheduled-loops): New flag. * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK. * modulo-sched.c (sms_schedule): Emit a note to disable scheduling when -freschedule-modulo-scheduled-loops flag is not specified. (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps, add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts): More accurate placing of insn in row of partial schedule. (ps_insn_find_column): New function. * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note. * sched-rgn.c (sched_is_disabled_for_current_region_p): New. (schedule_region): Use sched_is_disabled_for_current_region_p. * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops. Co-Authored-By: Ayal Zaks <zaks@il.ibm.com> From-SVN: r85696
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 81f0fa1..8174b6e 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -983,6 +983,12 @@ enum insn_note
/* Generated at the start of a duplicated exit test. */
NOTE_INSN_LOOP_VTOP,
+ /* Mark that a block shouldn't be scheduled. This is currently
+ used in modulo scheduling. Modulo scheduling adds this note
+ to the blocks of the modulo-scheduled loops to disable scheduling
+ them in the later traditional scheduling passes. */
+ NOTE_DISABLE_SCHED_OF_BLOCK,
+
/* This kind of note is generated at the end of the function body,
just before the return insn or return label. In an optimizing
compilation it is deleted by the first jump optimization, after