Mark Mitchell <[EMAIL PROTECTED]> wrote on 12/11/2007 18:25:03:

> Richard Guenther wrote:
> 
> > For options that are not enabled by default at any -O level the 
> documentation
> > should be a help for the user to decide whether to enable or not 
enable it.
> > So, yes, if there are non-standard terms used or if there are not 
obvious
> > side-effects (like performing function versioning for ipa-cp) 
> those should be
> > documented.
> > 
> > For example googling for "interprocedural constant propagation" gives 
you
> > an idea what it does by citing papers.  Googling for "matrix 
flattening
> > transposing" instead gives you only patches ;)
> 
> To echo Richard: this is a user manual, so we don't need to say exactly
> what the option does, but we have to say when you should use it. :-)  In
> other words, we certainly don't want to say anything about SSA names or
> whatever, but we do want to explain what it's for.  For interprocedural
> constant propagation, maybe something like:
> 
> ==
> This optimization analyzes the program to determine when values passed
> to, or return from, functions are constants and then optimizes
> accordingly.  This optimization can substantially increase performance
> if the application has lots of functions that return constants, but,
> because this optimization can create multiple copies of code fragments,
> it may significantly increase code size.
> ==
> 

Thanks.
Described these two optimizations in more detail.
O.K now?

Thanks,
Razya

2007-11-20  Razya Ladelsky <[EMAIL PROTECTED]>

    * doc/invoke.texi (fipa-cp, fipa-matrix-reorg): Add documentation.






> -- 
> Mark Mitchell
> CodeSourcery
> [EMAIL PROTECTED]
> (650) 331-3385 x713
Index: invoke.texi
===================================================================
--- invoke.texi (revision 130311)
+++ invoke.texi (working copy)
@@ -328,7 +328,8 @@
 -ffunction-sections -fgcse -fgcse-after-reload -fgcse-las -fgcse-lm @gol
 -fgcse-sm -fif-conversion -fif-conversion2 -finline-functions @gol
 -finline-functions-called-once [EMAIL PROTECTED] @gol
--finline-small-functions -fipa-pta -fipa-pure-const -fipa-reference @gol
+-finline-small-functions -fipa-cp -fipa-marix-reorg -fipa-pta @gol 
+-fipa-pure-const -fipa-reference @gol
 -fipa-type-escape -fivopts -fkeep-inline-functions -fkeep-static-consts @gol
 -fmerge-all-constants -fmerge-constants -fmodulo-sched @gol
 -fmodulo-sched-allow-regmoves -fmove-loop-invariants -fmudflap @gol
@@ -5715,6 +5716,29 @@
 @opindex fipa-pta
 Perform interprocedural pointer analysis.
 
[EMAIL PROTECTED] -fipa-cp
[EMAIL PROTECTED] fipa-cp
+Perform interprocedural constant propagation.
+This optimization analyzes the program to determine when values passed
+to functions are constants and then optimizes accordingly.  
+This optimization can substantially increase performance
+if the application has constants passed to functions, but
+because this optimization can create multiple copies of functions,
+it may significantly increase code size.
+
[EMAIL PROTECTED] -fipa-matrix-reorg
[EMAIL PROTECTED] fipa-matrix-reorg
+Perform matrix flattening and transposing.
+Matrix flattening tries to replace a m-dimensional matrix 
+with its equivalent n-dimensional matrix, where n < m.
+This reduces the level of indirection needed for accessing the elements
+of the matrix. The second optimization is matrix transposing that
+attemps to change the order of the matrix's dimensions in order to 
+improve cache locality.
+Both optimizations need fwhole-program flag. 
+Transpoing is enabled only if profiling information is avaliable.
+
+
 @item -ftree-sink
 @opindex ftree-sink
 Perform forward store motion  on trees.  This flag is
=

Reply via email to