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 2/2][modulo-sched] Fix scheduling order within a row


Hello,

Thanks for the comments.  Attached is the fixed version.

> (??? Would be clearer to initially set first/last_cycle_in_window, and
then
> set 'start' and 'end' accordingly depending on 'step'.)
> Consider as an alternative passing the window (start, end, step) to a
> unified calulate_must_precede_follow() function, as these
> first/last_cycle_in_window variables may be internal to the
> calculate_must*() functions.

Done.  Function get_sched_window () pretty much follows the pseudocode
from the sms article (Swing Modulo Scheduling for GCC), which defines
the scheduling window using start, end cycles and step, so I left it
as is and only apply the change to calulate_must_precede_follow ()
as suggested above.

>
> I prefer to keep the single original
>
>   for (c = start; c != end; c += step)
>
> loop calling try_scheduling_node_in_cycle, with all the logic of setting
> tmp_precede/tmp_follow in one place albeit inside the loop (as suggested
> earlier), than peeling first and last iterations.

Done.

Re-tested on powerpc64-linux and SPU together with patch 1/2.
OK for mainline?

Revital

2007-11-28  Ayal Zaks  <zaks@il.ibm.com>
            Revital Eres  <eres@il.ibm.com>

        * modulo-sched.c (calculate_must_precede_follow,
        try_scheduling_node_in_cycle): New functions.
        (sms_schedule_by_order): Call the new functions.
        (ps_insn_find_column): Use must_follow and must_precede only if
        they are not NULL.
        (ps_insn_advance_column): Likewise.


testsuite:

        * gcc.dg/sms-4.c: New testcase.


(See attached file: patch_2_2_27.txt)(See attached file: sms-4.c.txt)

Attachment: patch_2_2_27.txt
Description: Text document

Attachment: sms-4.c.txt
Description: Text document


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