* 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