Mikhail,

Good proposal.

Thinking of HIR as consisting from a core CFG part (including instructions 
of course) and an auxiliary info we could impose certain requirements on the 
CFG part between actions and implement a framework to (re-)calculate the 
auxiliary info from the CFG part on demand. IMO this is the case with the 
IA32 CG - auto-tracked liveness and loop info is auxiliary info and the 
state of the CFG LIR part is well-defined between transformations.

So:

1) I do.

2,4) As for the CFG part - whatever brings it to a well-defined valid state 
(is UCE enough?)

As for the auxiliary info - if we want it similar to the CG, we might think 
about different aux. infos like loop, dominator trees, etc.

3) UCE - after an optimization but within the corresponding action (to keep 
HIR valid between actions). Auxilary info - on demand if outdated.

--

Slava Shakin

"Mikhail Fursov" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> JIT gurus,
> I want to add this task to the list of the opened JIT tasks. But before
> doing it let's discuss the details.
> The task is to simplify the optimizer's pipeline and move some 
> supplementary
> actions like ssa,dessa,uce,dce into the base optimizer action.
> That is if an optimization pass needs to have IR in SSA form or needs to
> have IR without unreachable nodes, it just set ups the flag and the base
> implementation of the optimizer's action prepares IR before running the
> optimization. The same functionality is already done in IA32 
> CodeGenerator:
> the liveness info is prepared if the flag of the IA32 CG action is set.
>
> So the questions are:
> 1)  Does everyone agree that we need such a refactoring?
> 2)  What passes to integrate into HLO pipeline as a base optimizer's
> functionality?
> 3)  When to "fix" the IR - before or after a pipeline action. (See my
> comments with examples below)
> 4)  What other HLO passes could be integrated into the optimizer's 
> pipeline?
>
>
>
> My answers are:
> 1)  I agree :)
> 2)  SSA, DESSA, UCE. Do not touch DCE and leave it as a separate
> optimization pass.
> 3)  Do UCE right after the optimization that modifies CFG. Do SSA and 
> DESSA
> right before the optimization that requires ssa or dessa IR's form.
> 4)  ?
>
> Waiting for your opinion..
>
>
> -- 
> Mikhail Fursov
> 




---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to