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]