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]