Re: debug insns in SMS

2012-06-14 Thread Ayal Zaks
Thanks for the duplicate ping. This is fine. So this indeed solves the discrepancy between running SMS w/ and w/o debugging? Please include a comment next to the code stating why it's important not to create such deps. You may also want to store the result of "DEP_PRO (dep)" in src_ and use it twic

Re: [SMS] Support new loop pattern

2012-03-30 Thread Ayal Zaks
Roman, Andrey, Sorry for the delayed response. It would indeed be good to have SMS apply to more loop patterns, still within the realm of *countable* loops. SMS was originally designed to handle doloops, with a specific pattern controlling the loop, easily identified and separable from the loop's

Re: [PATCH SMS 2/2, RFC] Register pressure estimation for the partial schedule (re-submission)

2012-02-04 Thread Ayal Zaks
SMS changes are ok. >* common.opt (fmodulo-sched-reg-pressure, -fmodulo-sched-verbose): > New flags. We should document what the different verbosity levels are, or at-least their range. Thanks, Ayal. On Tue, Jan 10, 2012 at 7:48 PM, Vladimir Makarov wrote: > On 01/03/2012 04:25 AM, R

Re: [PATCH, SMS] Fix PR51794

2012-02-04 Thread Ayal Zaks
On Tue, Jan 10, 2012 at 12:31 PM, Revital1 Eres wrote: > > Hello, > > The patch below fixes ICE reported in PR51794. > It avoids creating DDG edges  for register uses of class DF_REF_ARTIFICIAL > as > the latter does not have real instructions for them and thus calling > BLOCK_FOR_INSN fails. > >

Re: [PATCH] Fix -fdump-rtl-sms (PR rtl-optimization/52095)

2012-02-04 Thread Ayal Zaks
On Fri, Feb 3, 2012 at 8:07 PM, Jakub Jelinek wrote: > Hi! > > On some targets e.g. sms-7.c test fails, because fprintf is called > with %s format and NULL argument, GLIBC prints for that e.g. > SMS loop num: 1, file: (null), line: 0 > but it isn't portable.  print-rtl.c guards the locator printin

Re: [PATCH SMS 2/2, RFC] Register pressure estimation for the partial schedule (re-submission)

2012-01-02 Thread Ayal Zaks
On Mon, Jan 2, 2012 at 3:30 PM, Richard Sandiford wrote: > Ayal Zaks writes: >> +  for (i = 0; i < ira_pressure_classes_num; i++) >> +    { >> +      enum reg_class pressure_class; >> + >> +      pressure_class = ira_pressure_classes[i]; >> + >>

Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2012-01-01 Thread Ayal Zaks
>The attached patch prevents the creation of reg-moves for definitions >with MODE_CC and thus solves this ICE. > >Currently testing and bootstrap on ppc64-redhat-linux, enabling SMS on >loops with SC 1. > >OK for 4.7 once testing completes? Yes, thanks for catching this. Shouldn't we prevent creat

Re: [PATCH SMS 2/2, RFC] Register pressure estimation for the partial schedule (re-submission)

2011-12-31 Thread Ayal Zaks
On Mon, Dec 19, 2011 at 4:28 PM, Richard Sandiford wrote: > Hi Revital, > > Revital Eres writes: >> The attached patch is a resubmission following comments made by Ayal >> and Richard. >> >> Tested and bootstrap with the other patches in the series on >> ppc64-redhat-linux, enabling SMS on loops

Re: [PATCH, SMS] Add missing free operation in mark_loop_unsched

2011-12-12 Thread Ayal Zaks
sure, OK, thanks for catching this leak. Ayal. On Mon, Dec 12, 2011 at 8:25 AM, Revital Eres wrote: > Hello, > >> OK for 3.7? > > Sorry, I meant GCC 4.7.0... > > Thanks, > Revital

Re: [PING][PR testsuite/47013] Fix SMS testsuite faliures

2011-12-09 Thread Ayal Zaks
These fixes to individual sms testcases are OK. Thanks, Ayal. On Mon, Dec 5, 2011 at 3:07 PM, Revital Eres wrote: > Hello, > > Ping:  http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02444.html > > Thanks, > Revital

Re: [PATCH SMS 1/2, RFC] Support traversing PS in reverse order

2011-11-23 Thread Ayal Zaks
On Mon, Nov 21, 2011 at 7:07 AM, Revital Eres wrote: > Hello, > > This patch support the estimation of register pressure in SMS. > Although GCC is in stage 3 I would appreciate comments on it. > Thanks to Richard and Ayal for discussing the implementation and their > insights. > > This part of th

Re: [PATCH, SMS] Fix marking of SMSed loops as BB_DISABLE_SCHEDULE

2011-10-27 Thread Ayal Zaks
On Thu, Oct 27, 2011 at 4:47 PM, Revital Eres wrote: > Hello, > > The attach patch fixes the current marking of SMS loops to prevent > further scheduling as follows: it marks *all* the loop's bbs with > BB_DISABLE_SCHEDULE which prevents them from been scheduled later. > (with the current implemen

Re: [PATCH 5/9] [SMS] Support new loop pattern

2011-10-11 Thread Ayal Zaks
On Fri, Sep 30, 2011 at 5:22 PM, Roman Zhuykov wrote: > 2011/7/21  : >> This patch should be applied only after pending patches by Revital. > > > Ping. New version is attached, it suits current trunk without > additional patches. Thanks for the ping. > Also this related patch needs approval: > h

Re: [4/4] Make SMS schedule register moves

2011-10-10 Thread Ayal Zaks
On Mon, Oct 10, 2011 at 1:57 PM, Richard Sandiford wrote: > Ayal Zaks writes: >>> I agree it's natural to schedule moves for intra-iteration dependencies >>> in the normal get_sched_window way.  But suppose we have a dependency: >>> >>>   A --(T,N,1)

Re: [4/4] Make SMS schedule register moves

2011-10-09 Thread Ayal Zaks
On Wed, Sep 28, 2011 at 4:49 PM, Richard Sandiford wrote: > Ayal Zaks writes: >>> >> +  /* The cyclic lifetime of move->new_reg starts and ends at move->def >>> >> +     (the instruction that defines move->old_reg). >>> > >>> > So

Re: [3/4] SMS: Record moves in the partial schedule

2011-10-03 Thread Ayal Zaks
On Wed, Sep 28, 2011 at 4:53 PM, Richard Sandiford wrote: > Ayal Zaks writes: >>>> Only request is to document that the register moves are >>>> placed/assigned-id's in a specific order. >>> >>>I suppose this is the downside of splitting the patc

Re: [PATCH, SMS 1/2] Avoid generating redundant reg-moves

2011-09-30 Thread Ayal Zaks
On Fri, Sep 30, 2011 at 10:03 AM, Revital Eres wrote: > Hello, > >> This >> +  /* Skip instructions that do not set a register.  */ >> +  if (set && !REG_P (SET_DEST (set))) >> +    continue; >> is ok. Can you also prevent !set insns from having reg_moves? (To be updated >> once auto_i

Re: [PATCH, SMS 2/2] Support instructions with REG_INC_NOTE (second try)

2011-09-27 Thread Ayal Zaks
On Tue, Sep 27, 2011 at 9:47 AM, Revital Eres wrote: > Hello, > >> ok, so if we have an auto-inc'ing insn which defines (auto-inc's) an >> addr register and another (say, result) register, we want to allow the >> result register to have life ranges in excess of ii (by eliminating >> anti-dep edges

Re: [PATCH, SMS 1/2] Avoid generating redundant reg-moves

2011-09-27 Thread Ayal Zaks
On Tue, Sep 27, 2011 at 10:47 AM, Revital Eres wrote: > Hello, > >> This >> +  /* Skip instructions that do not set a register.  */ >> +  if (set && !REG_P (SET_DEST (set))) >> +    continue; >> is ok. Can you also prevent !set insns from having reg_moves? (To be updated >> once auto_i

Re: [PATCH, SMS 2/2] Support instructions with REG_INC_NOTE (second try)

2011-09-26 Thread Ayal Zaks
On Mon, Sep 26, 2011 at 7:31 AM, Revital Eres wrote: > Hello, > > This patch extends the implementation to support instructions with > REG_INC notes. > It addresses the comments from the previous submission: > http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01299.html. > ok, so if we have an auto-in

Re: [PATCH, SMS 1/2] Avoid generating redundant reg-moves

2011-09-26 Thread Ayal Zaks
>OK for mainline? Doh, hard to believe we never checked that an insn defines a register before spitting out reg_moves for it ... nice catch. This +  /* Skip instructions that do not set a register.  */ +  if (set && !REG_P (SET_DEST (set))) +    continue; is ok. Can you also prevent !

Re: [4/4] Make SMS schedule register moves

2011-09-22 Thread Ayal Zaks
2011/9/23 Richard Sandiford > > Thanks as always for the review. Sure, always a pleasure. > > Ayal Zaks writes: > >> Richard Sandiford wrote on 30/08/2011 > >> 03:29:26 PM: > >> > >> > From: Richard Sandiford > >> > T

Re: [4/4] Make SMS schedule register moves

2011-09-22 Thread Ayal Zaks
> Richard Sandiford wrote on 30/08/2011 > 03:29:26 PM: > > > From: Richard Sandiford > > To: gcc-patches@gcc.gnu.org > > Cc: Ayal Zaks/Haifa/IBM@IBMIL > > Date: 30/08/2011 03:29 PM > > Subject: [4/4] Make SMS schedule register moves > > > > This

Re: [3/4] SMS: Record moves in the partial schedule

2011-09-22 Thread Ayal Zaks
e = SCHED_FIRST_REG_MOVE (u) + (i_reg_moves - 1); Ayal. 2011/9/22 Richard Sandiford > > Ayal Zaks writes: > > Richard Sandiford wrote on 30/08/2011 > > 03:10:50 PM: > > > >> From: Richard Sandiford > >> To: gcc-patches@gcc.gnu.org > >&

Re: [3/4] SMS: Record moves in the partial schedule

2011-09-21 Thread Ayal Zaks
Richard Sandiford wrote on 30/08/2011 03:10:50 PM: > From: Richard Sandiford > To: gcc-patches@gcc.gnu.org > Cc: Ayal Zaks/Haifa/IBM@IBMIL > Date: 30/08/2011 03:10 PM > Subject: [3/4] SMS: Record moves in the partial schedule > > This patch adds infrastructure that will

Re: [2/4] SMS: Use ids to represent ps_insns

2011-09-13 Thread Ayal Zaks
2011/9/13 Richard Sandiford > > Ayal Zaks writes: > > So instead of navigating directly from > > ps_insn->ddg_node->node_sched_params, we now use indices and lookup > > pointees in ddg_node and node_sched_params arrays. A bit of a > > nuisance, but it&

Re: [2/4] SMS: Use ids to represent ps_insns

2011-09-12 Thread Ayal Zaks
Richard Sandiford wrote on 30/08/2011 03:03:59 PM: > From: Richard Sandiford > To: gcc-patches@gcc.gnu.org > Cc: Ayal Zaks/Haifa/IBM@IBMIL > Date: 30/08/2011 03:05 PM > Subject: [2/4] SMS: Use ids to represent ps_insns > > Instructions in a partial schedule are curre

Re: [PATCH, SMS] Minor misc. fixes

2011-09-11 Thread Ayal Zaks
Copying the lists.. ‎-- Forwarded message --‎ From: Ayal Zaks ‎‎ Date: 2011/9/11 Subject: Re: [PATCH, SMS] Minor misc. fixes To: Revital Eres ‫revital.e...@linaro.org‬ 2011/9/8 Revital Eres > > Hello, > > The attached patch contains minor fixes. > > Cur

Re: [1/4] SMS: remove register undo list

2011-09-11 Thread Ayal Zaks
Resending; didn't seem to go through. -- Forwarded message -- From: Ayal Zaks Date: 2011/9/11 Subject: gcc-patches@gcc.gnu.org To: Richard Sandiford ‫richard.sandif...@linaro.org‬  Richard Sandiford wrote on 30/08/2011 02:58:22 PM: > From: Richard Sandiford &

Re: [PATCH, SMS] Support instructions with REG_INC_NOTE (re-submisson)

2011-08-15 Thread Ayal Zaks
Ok, so this extends the infrastructure to support insns which set an arbitrary number of registers, but currently specifically handles only REG_INC situations (which set two registers). I'm not against {0,1,infinity}, but wonder if this case really deserves the complexity: post/pre-inc/decrementing

Re: Patches ping

2011-07-29 Thread Ayal Zaks
> [PATCH, SMS] Fix calculation of issue_rate > http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01344.html This is ok (with the updated Changelog). Alternatively, we can have a local variable for holding the issue_rate. Ayal. 2011/7/20 Revital Eres : > Hello, > > [PATCH, SMS 3/4] Optimize stage coun

Re: Patches ping

2011-07-29 Thread Ayal Zaks
>[PATCH, SMS 4/4] Misc. fixes http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01342.html Sure, this is fine. (Sorry for all the previous '?'s..). Thanks, Ayal. 2011/7/20 Revital Eres > > Hello, > > [PATCH, SMS 3/4] Optimize stage count > http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01341.html > > [P

Re: Patches ping

2011-07-29 Thread Ayal Zaks
> [PATCH, SMS 3/4] Optimize stage count > http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01341.html This patch for minimizing the stage count (which also refactors and cleans up the code) is approved. Have some minor comments below, followed by some thoughts for possible follow-up improvements. Than

Re: [PATCH, SMS 1/4] Fix calculation of row_rest_count

2011-06-15 Thread Ayal Zaks
Revital Eres wrote on 14/06/2011 09:27:32 AM: > From: Revital Eres > To: Ayal Zaks/Haifa/IBM@IBMIL > Cc: gcc-patches@gcc.gnu.org, Patch Tracking > Date: 14/06/2011 09:27 AM > Subject: Re: [PATCH, SMS 1/4] Fix calculation of row_rest_count > > Hello, > > > Ple

Re: [PATCH, SMS] Fix violation of memory dependence

2011-06-15 Thread Ayal Zaks
Revital Eres wrote on 15/06/2011 11:45:15 AM: > From: Revital Eres > To: Ayal Zaks/Haifa/IBM@IBMIL > Cc: gcc-patches@gcc.gnu.org, Patch Tracking > Date: 15/06/2011 11:45 AM > Subject: Re: [PATCH, SMS] Fix violation of memory dependence > > Hello, > > >>>

Re: [PATCH, SMS] Fix violation of memory dependence

2011-06-14 Thread Ayal Zaks
Revital Eres wrote on 13/06/2011 10:29:06 AM: > From: Revital Eres > To: Ayal Zaks/Haifa/IBM@IBMIL > Cc: gcc-patches@gcc.gnu.org, Patch Tracking > Date: 13/06/2011 10:29 AM > Subject: [PATCH, SMS] Fix violation of memory dependence > > Hello, > > The attached patc

Re: [PATCH, SMS 2/4] Move the creation of anti-dep edge

2011-05-29 Thread Ayal Zaks
Revital Eres wrote on 19/05/2011 07:44:23 AM: > From: Revital Eres > To: Ayal Zaks/Haifa/IBM@IBMIL > Cc: gcc-patches@gcc.gnu.org, Patch Tracking > Date: 19/05/2011 07:44 AM > Subject: [PATCH, SMS 2/4] Move the creation of anti-dep edge > > Hello, > > The attached

Re: [PATCH, SMS 1/4] Fix calculation of row_rest_count

2011-05-29 Thread Ayal Zaks
ial_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. > [attachment "patch_row_rest_count_17_5.txt" deleted by Ayal Zaks/Haifa/IBM]

Re: [PATCH, SMS 2/3] Skip DEBUG_INSNs while recognizing doloop

2011-05-10 Thread Ayal Zaks
> OK for mainline? Yes, this is pretty obvious. (You don't have to change to prev_nondebug_insn btw). Ayal. From: Revital Eres To: Ayal Zaks/Haifa/IBM@IBMIL Cc: gcc-patches@gcc.gnu.org, Patch Tracking Date: 08/05/2011 07:37 AM Subject:[PATCH, SMS 2/3] Skip DEB

Re: [PATCH, SMS 1/3] Support closing_branch_deps (second try)

2011-05-10 Thread Ayal Zaks
resting to share comparative measurements when available. Ayal. Revital Eres wrote on 08/05/2011 07:37:07 AM: > From: Revital Eres > To: Ayal Zaks/Haifa/IBM@IBMIL > Cc: gcc-patches@gcc.gnu.org, Patch Tracking > Date: 08/05/2011 07:37 AM > Subject: [PATCH, SMS 1/3] Support