This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fw: IPA Constant Propagation Optimization


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]