public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Mostafa Hagog <MUSTAFA@il.ibm.com>
To: Nathan Sidwell <nathan@codesourcery.com>
Cc: gcc <gcc@gcc.gnu.org>
Subject: Re: SMS parameters
Date: Mon, 29 Nov 2004 09:59:00 -0000	[thread overview]
Message-ID: <OF4A5B03A6.3F68B990-ONC2256F5B.00283044-C2256F5B.002A44DA@il.ibm.com> (raw)
In-Reply-To: <OF3E4E9FA9.D93D01B8-ONC2256F5A.003AC37E-C2256F5A.003AC996@LocalDomain>

[-- Attachment #1: Type: text/plain, Size: 1266 bytes --]





Nathan Sidwell  wrote on 26/11/2004 13:02:23:

> The following sms parameters exist.
>
> max-sms-loop-number
> sms-max-ii-factor
> sms-dfa-history
> sms-loop-average-count-threshold
>
> None of these are documented in invoke.texi.

I have attached a patch for this.

>
> The first one is odd, as its help string says,
>    "Maximum number of loops to perform swing modulo scheduling on \
>      (mainly for debugging)"
> and its implementation is via a static counter that counts bbs in a
*program*
>
>    static int passes = 0;
>    ...
>    FOR_EACH_BB (bb)
>       ...
>       /* For debugging.  */
>       if ((passes++ > MAX_SMS_LOOP_NUMBER) && (MAX_SMS_LOOP_NUMBER !=
-1))
>
> it doesn't look like a particularly sensible thing to expose.

You are correct, this is used for debugging usually by gcc developers,
I use it intensively in debugging and tuning SMS.  How can we hide this
parameter from the GCC users and keep it for the developers?
In the meanwhile I didn't add documentation for this parameter to
invoke.texi

> If it must be exposed, it should probably be called
'sms-max-loop-number'.
> Notice the fence-post error there, we'll actually schedule 1 more
> than MAX_SMS_LOOP_NUMBER.

Agree.

Mostafa.

(See attached file: sms_params_doc.patch)

[-- Attachment #2: sms_params_doc.patch --]
[-- Type: application/octet-stream, Size: 1831 bytes --]

Index: params.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/params.def,v
retrieving revision 1.48
diff -c -p -r1.48 params.def
*** params.def	27 Oct 2004 21:02:07 -0000	1.48
--- params.def	29 Nov 2004 07:37:17 -0000
*************** DEFPARAM(PARAM_MAX_ITERATIONS_TO_TRACK,
*** 266,272 ****
  	1000)
  
  DEFPARAM(PARAM_MAX_SMS_LOOP_NUMBER,
! 	 "max-sms-loop-number",
  	 "Maximum number of loops to perform swing modulo scheduling on \
  	  (mainly for debugging)",
  	 -1)
--- 266,272 ----
  	1000)
  
  DEFPARAM(PARAM_MAX_SMS_LOOP_NUMBER,
! 	 "sms-max-loop-number",
  	 "Maximum number of loops to perform swing modulo scheduling on \
  	  (mainly for debugging)",
  	 -1)
Index: doc/invoke.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.558
diff -c -p -r1.558 invoke.texi
*** doc/invoke.texi	23 Nov 2004 17:39:55 -0000	1.558
--- doc/invoke.texi	29 Nov 2004 07:37:25 -0000
*************** induction variable uses.
*** 5483,5488 ****
--- 5483,5503 ----
  The maximum number of iterations of a loop the brute force algorithm
  for analysis of # of iterations of the loop tries to evaluate.
  
+ @item sms-max-ii-factor
+ 
+ A factor for tuning the upper bound of the Initiation Interval that 
+ swing modulo scheduler uses for scheduling a loop.
+ 
+ @item sms-dfa-history
+ 
+ The number of cycles the swing modulo scheduler considers when checking 
+ conflicts using DFA.
+ 
+ @item sms-loop-average-count-threshold
+ 
+ A threshold on the average count for loops to be considered by the swing 
+ modulo scheduler.
+ 
  @item hot-bb-count-fraction
  Select fraction of the maximal count of repetitions of basic block in program
  given basic block needs to have to be considered hot.

       reply	other threads:[~2004-11-29  7:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <OF3E4E9FA9.D93D01B8-ONC2256F5A.003AC37E-C2256F5A.003AC996@LocalDomain>
2004-11-29  9:59 ` Mostafa Hagog [this message]
2004-11-26 14:17 Nathan Sidwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=OF4A5B03A6.3F68B990-ONC2256F5B.00283044-C2256F5B.002A44DA@il.ibm.com \
    --to=mustafa@il.ibm.com \
    --cc=gcc@gcc.gnu.org \
    --cc=nathan@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).