Thread overview
alternative D frontends should have a LLVM backend
Oct 29, 2007
BLS
Oct 29, 2007
Christopher Wright
Oct 29, 2007
Clay Smith
Oct 30, 2007
0ffh
Oct 30, 2007
Clay Smith
Oct 30, 2007
0ffh
October 29, 2007
LLVM advantages are well known, but IMO alternative D Frontends like DIL should have a LLVM backend because this will open us a backdoor to DOT NET via MSIL
Quote :
LLVM now has a new MSIL backend. llc -march=msil will now turn LLVM into MSIL (".net") bytecode. This is still fairly early development with a number of limitations.
End Quote
Problems? Yes indeed ...
http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-March/008244.html

Your opinion ?

Bjoern
October 29, 2007
BLS wrote:
> LLVM advantages are well known, but IMO alternative D Frontends like DIL should have a LLVM backend because this will open us a backdoor to DOT NET via MSIL
> Quote :
> LLVM now has a new MSIL backend. llc -march=msil will now turn LLVM into MSIL (".net") bytecode. This is still fairly early development with a number of limitations.
> End Quote
> Problems? Yes indeed ...
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-March/008244.html
> 
> Your opinion ?
> 
> Bjoern

Unless you get your kicks from generating native RISC machine code, it's sensible. Though you still have to generate LLVM assembly, correct? I didn't see any higher-level means of interacting with LLVM.

Granted, LLVM assembly is high level.
October 29, 2007
You could take a look at my LLVMDC compiler.

http://www.dsource.org/projects/llvmdc

It's not yet a complete D 1.0 compiler, but it's getting there. I usually check in bugfixes etc. (mostly) every day.
I'm not sure if there are any limitations to what the bitcode should look like when used with the MSIL backend, but probably it's doable.

And of course... Any help is much appreciated.

-Tomas Lindquist Olsen
October 29, 2007
BLS wrote:
> LLVM advantages are well known, but IMO alternative D Frontends like DIL should have a LLVM backend because this will open us a backdoor to DOT NET via MSIL
> Quote :
> LLVM now has a new MSIL backend. llc -march=msil will now turn LLVM into MSIL (".net") bytecode. This is still fairly early development with a number of limitations.
> End Quote
> Problems? Yes indeed ...
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-March/008244.html
> 
> Your opinion ?
> 
> Bjoern

http://www.dsource.org/projects/llvmdc

Check it out.
October 30, 2007
BLS wrote:
> LLVM advantages are well known, but IMO alternative D Frontends like DIL should have a LLVM backend because this will open us a backdoor to DOT NET via MSIL

I don't really know. Whenever I need to generate code, I go via C because
it supports every architecture I could ever need (or in fact think of).
For a D backend the LLVM might have it's advantages, but I really can't
think of any. How is generating LLVM better than generating C source?

Regards, Frank
October 30, 2007
0ffh wrote:
> BLS wrote:
>> LLVM advantages are well known, but IMO alternative D Frontends like DIL should have a LLVM backend because this will open us a backdoor to DOT NET via MSIL
> 
> I don't really know. Whenever I need to generate code, I go via C because
> it supports every architecture I could ever need (or in fact think of).
> For a D backend the LLVM might have it's advantages, but I really can't
> think of any. How is generating LLVM better than generating C source?
> 
> Regards, Frank

I looked at the LLVM features page, and it says...

"A C back-end useful for testing and for generating native code on targets other than the ones listed above."

So, LLVM can generate C code, and it can do more. I suppose that's why it is better.
October 30, 2007
Clay Smith wrote:
> 0ffh wrote:
>> I don't really know. Whenever I need to generate code, I go via C because
>> it supports every architecture I could ever need (or in fact think of).
>> For a D backend the LLVM might have it's advantages, but I really can't
>> think of any. How is generating LLVM better than generating C source?
> 
> "A C back-end useful for testing and for generating native code on targets other than the ones listed above."
> 
> So, LLVM can generate C code, and it can do more. I suppose that's why it is better.

Well, but there is also a C compiler with LLVM backend.
So if you really want LLVM code, you can generate it from the C code...

Regards, Frank