* SMS parameters
@ 2004-11-26 14:17 Nathan Sidwell
0 siblings, 0 replies; 2+ messages in thread
From: Nathan Sidwell @ 2004-11-26 14:17 UTC (permalink / raw)
To: gcc
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.
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. 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.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: SMS parameters
[not found] <OF3E4E9FA9.D93D01B8-ONC2256F5A.003AC37E-C2256F5A.003AC996@LocalDomain>
@ 2004-11-29 9:59 ` Mostafa Hagog
0 siblings, 0 replies; 2+ messages in thread
From: Mostafa Hagog @ 2004-11-29 9:59 UTC (permalink / raw)
To: Nathan Sidwell; +Cc: gcc
[-- 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.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-11-29 7:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-26 14:17 SMS parameters Nathan Sidwell
[not found] <OF3E4E9FA9.D93D01B8-ONC2256F5A.003AC37E-C2256F5A.003AC996@LocalDomain>
2004-11-29 9:59 ` Mostafa Hagog
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).