diff options
author | Mostafa Hagog <mustafa@il.ibm.com> | 2004-08-08 21:35:53 +0000 |
---|---|---|
committer | Mostafa Hagog <hagog@gcc.gnu.org> | 2004-08-08 21:35:53 +0000 |
commit | d72372e46ac06b4db61143f91367a777089cc6f6 (patch) | |
tree | d4a4dc1d2fd739eff16c75b3bbf87780df96f926 /gcc/rtl.h | |
parent | 94538bd12ae8ffa02164399a616ef806e77f797b (diff) | |
download | gcc-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.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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 |