[Mono-devel-list] SSAPRE news

Massimiliano Mantione massi at ximian.com
Wed Dec 1 18:48:54 EST 2004

On Wed, 2004-12-01 at 21:22, Willibald Krenn wrote:
> > I finally noticed that SSAPRE and consprop|copyprop don't work
> > together (and in fact this was expected, since SSAPRE doesn't like
> > "messed up" SSA, and copyprop can easily produce it).
> I'm by no means a jit hacker, but is the 'mess-up factor' intentional? 
> Or just some un-wanted side-effect of the current algo..

I got the habit of calling "messed up code" an SSA form where it
can happen that:
- either some SSA variable cannot be related to an "original" not
  SSA variable, or
- there can exist multiple "versions" of the same original variable
  that are live at the same time.

When you put code into SSA form with any of the usual algorithms
the two previous properties are always false.
Copy propagation can make the second true (and in general various
optimizations can invalidate those assumptions).

SSAPRE, by design, cannot work with "messed up code", the paper
explains this.

This *can* be corrected, either switching to GVNPRE, or in other
ways, I'll talk about this more deeply in other posts in the near


More information about the Mono-devel-list mailing list