Fw: IPA Constant Propagation Optimization
Steven Bosscher
stevenb@suse.de
Fri May 14 13:40:00 GMT 2004
On Thursday 13 May 2004 17:28, Razya Ladelsky wrote:
> Hello,
>
> Following our message ( http://gcc.gnu.org/ml/gcc/2003-11/msg01243.html )
> regarding IPA constant propagation, we enclose the first draft
> of the optimization.
> The algorithm would interact very closely with the intermodule
> infrastructure
> (the call graph and the parse trees)
(Nit: The intermodule infrastructure is the compilation of all
translation units at once, ie. the TRANSLATION_UNIT_DECL stuff.
I don't think you want to do that right away.)
> GCC IPA CONSTANT PROPAGATION OVERVIEW
>
> Introduction
>
> -IPA aim
>
> The IPA constant propagation will find which function's argument has the
> same constant value in each invocation.
Does this also include function specialization/cloning if the function is
not always, but very often, invoked with the same constant argument?
> - IPA framework:
>
> Repository of all parse trees of the application kept in memory.
> IPA analysis is done on this all parse trees.
> Then the rest of the compilation is performed, one parse tree at a
> time.
Does the function tree have to be in some specific form, ie. do you
expect every function tree to be still in SSA form? At what point
in the compilation process would this pass operate? Right now we do
not have any optimizers running before call graph optimizations, but
I suppose you'll want to run a few optimizers (DOM, DCE,CCP) on each
function tree before IPA.
Gr.
Steven
More information about the Gcc
mailing list