[LLVMdev] SSA or not SSA?

Matthieu Moy
Thu, 17 Jul 2008 09:26:28 -0000

[ sorry for the late reply ]

Patrick Meredith <pmeredit at uiuc.edu> wrote:
> All register uses are SSA.  Memory is not in SSA.  The mem2reg pass
> which promotes stack variables to registers effectively converts non-
> SSA to SSA.  There was a reg2mem pass, written by Andrew Lenharth, I'm
> not sure if it's still being maintained.

What is the difference between register and memory? I don't see such
distinction in the LRM.

Do you mean for example

register = i32
memory = i32*

?

Thanks,

> On Jul 7, 2008, at 8:47 AM, Matthieu Moy wrote:
>
> > Hi,
> >
> > Silly question from an LLVM newbie: the LLVM LRM say that the bytecode
> > is "is an SSA based representation". Indeed, my experience
with
> > llvm-gcc is that the generated code is not necessarily SSA, while
> > the one given by "llvm-gcc -O1" is.
> >
> > Is this assumption correct?
> >
> > Is there a non-SSA to SSA translator available?
> >
> > Thanks,

--
Matthieu