This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
I have checked in several improvements of SMS into the autovect branch,
that includes:
1. Make SMS work in cfg-layout mode and use loop information.
2. Use the loop versioning to handle loops with unknown count at compile
time.
3. Use backtracking- If at some point we cannot find a cycle to
schedule a node we used to increase the II and start over again the
whole scheduling process. Now we start unscheduling dependant nodes
until we can schedule the desired node; after that we schedule again
all the unscheduled nodes.
4. Ignore register anti dependencies, use register copies instead.
5. Undo the SMSed kernel if it is not profitable.
6. Make clear_bb_flags not clear the BB_DISABLE_SCHEDULE so the second
scheduling pass doesn't mess up schedule the SMSed loops.
7. Add loop-header-copying at RTL level, to make SMS applicable to more
loops. This is provisional until
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19038 is fixed.
2005-01-11 Mostafa Hagog <mustafa@il.ibm.com>
* cfg.c (clear_bb_flags): Don't clear BB_DISABLE_SCHEDULE.
* cfgloop.h (doloop_valid_p): Make external.
(rtl_loop_copy_header): New.
* common.opt (frtl-loop-hc): New.
* ddg.c (create_ddg_dependence): Ignore register ANTI_DEP.
* loop-doloop.c (doloop_valid_p): Make external.
* loop-unroll.c (SIMPLE_LOOP_P, rtl_loop_single_full_bb_p,
rtl_loop_ch_appropriate_p, cfg_duplicate_sese_region,
rtl_loop_copy_header) : New.
* modulo-sched.c: Many changes to use loop info and work in
cfg-layout mode and updates to the scheduling algorithm.
* params.def (PARAM_LOOP_CH_MAX_SIZE): New.
* params.h (LOOP_CH_MAX_SIZE): New.
* passes.c (rest_of_handle_sms): Call cfg_layout_initialize and
cfg_layout_finalize.
(rest_of_handle_loop2): Call rtl_loop_copy_header.
(See attached file: sms_autovect2.patch)Attachment:
sms_autovect2.patch
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |