[LLVMdev] SSA or not SSA?

Matthieu Moy Matthieu.Moy at imag.fr
Thu Jul 17 02:26:28 PDT 2008


[ 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



More information about the llvm-dev mailing list