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

Reply via email to