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] | |
Hello,
This patch includes the first patch Vladimir had posted to improve
modulo-schedualing; without allowing reg-moves by limiting the scheduling
window. (http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01468.html).
I intend to add the enablement of reg-moves once I'll finish it's testing.
This patch also avoids performing SMS when the candidate loop contains
auto-increment instruction.
A new reduced Fortran testcase for forall_10.f90 test (sms1.f90) was
added; this testcase failed with -fmodulo-sched flag when the current
patch is not applied.
This patch was bootstrapped and tested on ppc64 with -fmodulo-sched
flag. (all languages except Ada)
OK for mainline?
Thanks,
Revital
(See attached file: sms-antideps.txt)(See attached file: sms-1.f90.txt)(See
attached file: patch_sms_15_7.txt)
2007-07-17 Vladimir Yanovsky <yanov@il.ibm.com>
* ddg.c (create_ddg_dependence): Don't ignore ANTI_DEPs.
* modulo-sched.c (print_node_sched_params): Add parameter and
verbosity.
(calculate_maxii): Remove function.
(undo_generate_reg_moves): Likewise.
(undo_permute_partial_schedule): Likewise.
(kernel_number_of_cycles): Likewise.
(MAXII_FACTOR): New definition to calculate the upper bound of II.
(sms_schedule): Use it. Remove profitability checks and avoid
loops
which includes auto-increment instructions.
(get_sched_window): Prevent necessitating regmoves by limiting
the scheduling window.
(sms_schedule_by_order): Use must_follow & must_precede bitmaps
to determine order of nodes within the cycle.
* testsuite/gcc.dg/sms-antideps.c: New test.
* testsuite/gfortran.dg/sms1.f90: New test.Attachment:
sms-antideps.txt
Description: Text document
Attachment:
sms-1.f90.txt
Description: Text document
Attachment:
patch_sms_15_7.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |