[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
future.
Ciao,
Massi
More information about the Mono-devel-list
mailing list