[Mono-devel-list] SSAPRE patch

Massimiliano Mantione massi at ximian.com
Fri Nov 5 17:33:13 EST 2004


Hi,

SSAPRE started working, and this is the code...

There are still some things to do:
- There was a small mistake in the paper (IMHO, or there is
  something I really got wrong).
  SSAPRE was too aggressive when performing loop invariant code
  motion, it did it also when the expression was not invariant.
  I corrected it, but the code is sub optimal (it moves loop
  invariants only if they are fully redundant, not partially, or
  at least it seems so).
  I'll blog about this issue when it will grasp it better ;-)
- Expressions of value "int8" are not handled, I had issues in
  the code generation.
- Second order effects (nested expressions) are still ignored.
- Unneeded PHIs are still left in the code.
- The code is not commented :-(

Nevertheless, it is working, and passing all regression tests.
The jit compilation overhead is very small, and when it actually
removes redundancies the (small) performance gains are there...

Enjoy!
  Massi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ssapre.patch
Type: text/x-patch
Size: 77773 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20041105/fa53d624/attachment.bin 


More information about the Mono-devel-list mailing list