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]

Re: [PATCH] Implementing Swing Modulo Scheduling in GCC


Mostafa Hagog wrote:

Vlad, Sebastian,
Thanks for your comments. We addressed all of them and updated the patch
along
with other minor corrections, including changing passes.c so that
sms_schedule
doesn't require "-fschedule-insns". Bootstrap and regression tests passed
on powepc-apple-darwin7.2.0 and i686-pc-linux-gnu.

2004-05-03  Ayal Zaks  <zaks@il.ibm.com>
     Mostafa Hagog  <mustafa@il.ibm.com>

     * Makefile.in (modulo-sched.o, ddg.o): New.
     * ddg.h, ddg.c, modulo-sched.c: New files.
     * cfglayout.c (duplicate_insn_chain): Remove "static" and push
     internals to "dupicate_insn".
     (duplicate_insn): New function.
     * cfglayout.h (duplicate_insn_chain, duplicate_insn): New
     declarations.
     * common.opt (fmodulo-sched): New flag.
     * df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
     Remove static and forward declaration.
     (df_find_def, df_reg_used, df_bb_regno_last_def_find): New
     functions.
     * df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
     df_bb_regno_last_def_find, df_find_def, df_reg_used): New
     declarations.
     * flags.h (flag_modulo_sched): New flag.
     * opts.c (common_handle_option): Handle modulo-sched flag.
     * params.def (max-sms-loop-number, sms-max-ii-factor,
     sms-dfa-history, sms-loop-average-count-threshold): New
     parameters.
     * params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
     SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
     parameters.
     * passes.c ("sms", "sms-vcg"): New dumps.
     (rest_of_handle_sched): Call sms_schedule.
     * rtl.h (sms_schedule): New declaration.
     * timevar.def (TV_SMS): New.
     * toplev.c (flag_modulo_sched): Initialize.
     (f_options): Handle -fmodulo-sched option.
     * docs/invoke.texi: Document -fmodulo-sched option.
     * docs/passes.texi: Document new SMS pass.

(See attached file: gcc3.5.patch)(See attached file: modulo-sched.c)(See
attached file: ddg.c)(See attached file: ddg.h)



This version is ok to me. So you can commit it into the mainline. Congratulations!

It is just the begining of a long way. There is still a lot of opportunities to improve the optimization. I hope you will continue your work on this.

Vlad



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]