[Mono-devel-list] SSAPRE: this time it's for real ;-)

Massimiliano Mantione 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
  symbolic computation.


More information about the Mono-devel-list mailing list