[LLVMdev] [Oink-devel] Status of Elsa->LLVM

Richard Pennington rich at pennware.com
Sat Dec 22 19:53:19 PST 2007

Daniel Wilkerson wrote:
>> I've build gcc many times over the years for different target processors
>> and was never able to get my head around it internally. It is incredibly
>> complex. I also didn't like the fact that I had to have N copies of gcc
>> to support N processors.
> Scott McPeak is rather familiar with the internals of gcc and edg and
> says elsa is far simpler.

I agree, very much.

>> I became interested in Elsa (via google) because I liked its extensible
>> nature. I can drop in new syntax rules easily. It was also fairly easy
>> to understand.
> We worked very hard to make it that way just so people like you can do
> what you are doing :-).

You guys did a great job!

>> It was easy to lower the Elsa AST to LLVM by using Elsa's extension
>> capability.
> I'll be pretty interested to see how you did that.

You'll see it soon. But basically think about cc2c. There is now a cc2llvm.

>> Does Elsa provide an advantage over g++? For me, understanding it is a
>> big plus. ;-) In addition, Elsa has a Berkeley-like license which I prefer.
> Read it more carefully: the license is not just BSD-like, it *is* BSD!


>> I'll let you know if Elsa is a good choice after I get a little further
>> along adding the C++ support.
>> Since I only have a few weeks invested in this project, I won't feel too
>> bad if Elsa turns out to be a dead end.
> Would you mind explaining what a dead-end would look like?

A dead end would be something in the C++ part of Elsa that didn't allow 
me to generate a correct LLVM file to execute it and that I couldn't 
fix. If I knew what it looked like, I'd look for it first and decide 
now. ;-)

>> I'd like to get the Elsa stuff behind me because I'm itching to do an
>> LLVM code generator for the Altera Nios2. ;-) I started by copying the
>> MIPS sources and am studying them to get a feel for what's required.
> In other words you want a C++ compiler for the Nois2?

No, g++ exists for the Nios2. Altera has a port. I am interested working 
with some language stuff that might be cool in an embedded environment.
The Nios is a softcore processor that runs on Altera FPGAs. A 
programmable processor. Think of what kind of optimizations that might 

> Daniel


More information about the llvm-dev mailing list