[Mono-devel-list] SSAPRE: this time it's for real ;-)
massi at ximian.com
Thu Nov 25 14:50:15 EST 2004
On Thu, 2004-11-25 at 17:29, Willibald Krenn wrote:
> BTW: What optimization do you plan implementing next?
This is my todo list (in the order I am planning things, but
this is subject to change...):
- Fix SSA destruction to handle messed up code (otherwise we
cannot use copy propagation, as it messes code up).
While doing this, verify our SSA construction code as well
(sometimes it "forgets" to record definition BBs), and see
if it can be made faster.
- Fix bad interactions between critical edges removal and branch
optimizations (the subsequent pass of branch optimization is
often unable to "undo" critical edges removal).
- Copy propagation (without SSA).
- Dead code elimination (without SSA).
- After those last two work, look at inlining (so that inlining
can be effective also without SSA, if both copyprop and deadce
work it will likely work well as it is).
- Unneeded phi elimination in SSAPRE (a small thing I currently
skipped because I wanted to see it run soon).
- Improve SSAPRE because now loop invariant code motion in not
as effective as it could be.
- Copy propagation (with SSA).
- Fix SSAPRE to handle messed up code.
- Add GVN capabilities to SSAPRE (make it like GVNPRE).
- Paolo suggested to have a look at induction variable elimination
and loop unrolling...
- Other "redundant check" elimination (null pointer checks, is
instance of checks), reusing the logic of ABC removal for the
More information about the Mono-devel-list