Revital Eres <revital.e...@linaro.org> wrote on 14/06/2011 09:27:32 AM:

> From: Revital Eres <revital.e...@linaro.org>
> To: Ayal Zaks/Haifa/IBM@IBMIL
> Cc: gcc-patches@gcc.gnu.org, Patch Tracking <patc...@linaro.org>
> Date: 14/06/2011 09:27 AM
> Subject: Re: [PATCH, SMS 1/4] Fix calculation of row_rest_count
>
> Hello,
>
> > Please add the following:
> > o A clarification that rows_length is used only (as an optimization) to
> > back off quickly from trying to schedule a node in a full row; that is,
to
> > avoid running through futile DFA state transitions.
> > o An assert that ps->rows_length[i] equals the number of nodes in ps->
rows
> > [i] (e.g., in verify_partial_schedule(); and then recheck...).
>
> Done. Besides the additions to address your comments I also added two
> more bits to update rows_length field into rotate_partial_schedule ()
> and ps_insert_empty_row () that were missing in the previous
> implementation of the patch.
>

Glad the additional assertion already proved useful ;-)

> The patch was re-tested on top of the patch to fix violation of memory
> dependence (http://gcc.gnu.org/ml/gcc-patches/2011-06/msg00960.html)
> as follows: On ppc64-redhat-linux regtest as well as bootstrap with
> SMS flags, enabling SMS also on loops with stage count 1.  Regtested
> on SPU.
> On arm-linux-gnueabi bootstrap c language with SMS
> flags enabling SMS also on loops with stage count 1 and currently
> regtseted on c,c++.
>
> OK for mainline with these changes once regtests on arm-linux-gnueabi
completes?
>

OK.
Thanks,
Ayal.

> Thanks,
> Revital
>
>
>         * modulo-sched.c (struct ps_insn): Remove row_rest_count field.
>         (struct partial_schedule): Add rows_length field.
>         (verify_partial_schedule): Check rows_length.
>         (ps_insert_empty_row): Handle rows_length.
>         (create_partial_schedule): Likewise.
>         (free_partial_schedule): Likewise.
>         (reset_partial_schedule): Likewise.
>         (create_ps_insn): Remove rest_count argument.
>         (remove_node_from_ps): Update rows_length.
>         (add_node_to_ps): Update rows_length and call create_ps_insn
>         without passing row_rest_count.
>         (rotate_partial_schedule): Update rows_length.
> [attachment "patch_sms_5_6.txt" deleted by Ayal Zaks/Haifa/IBM]

Reply via email to