Thread overview | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 27, 2009 ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
The release 0.9.1 of LDC, the LLVM based compiler for the D programming language, contains the following major improvements: * lots of bug fixes (http://www.dsource.org/projects/ldc/report/15) * x86-64 support is mature * inline asm improved (we now define D_Inline_Asm) * cross-compilation support * uses boehm-gc during compilation (x86-32 only) * D specific optimizations: * turn GC allocations to allocas if possible * simplify or remove certain calls to D runtime functions The command line interface of LDC now has added options in line with other LLVM based tools. Please use the ldmd wrapper if you want a drop-in replacement for DMD. Linux x86-32 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_32.tar.bz2 Linux x86-64 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_64.tar.bz2 Tomas Lindquist Olsen Christian Kamm Frits van Bommel Kelly Wilson |
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | Christian Kamm wrote:
> The release 0.9.1 of LDC, the LLVM based compiler for the D programming language, contains the following major improvements:
>
> * lots of bug fixes (http://www.dsource.org/projects/ldc/report/15)
> * x86-64 support is mature
> * inline asm improved (we now define D_Inline_Asm)
> * cross-compilation support
> * uses boehm-gc during compilation (x86-32 only)
> * D specific optimizations:
> * turn GC allocations to allocas if possible
> * simplify or remove certain calls to D runtime functions
>
> The command line interface of LDC now has added options in line with other LLVM based tools. Please use the ldmd wrapper if you want a drop-in replacement for DMD.
>
> Linux x86-32 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_32.tar.bz2
>
> Linux x86-64 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_64.tar.bz2
>
> Tomas Lindquist Olsen
> Christian Kamm
> Frits van Bommel
> Kelly Wilson
Great! Quick question - are you supporting or considering supporting D2? I looked on the project's home page and couldn't find that information. There's mention of druntime for D2 which makes me hopeful.
Thanks,
Andrei
|
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | Andrei Alexandrescu wrote:
> Great! Quick question - are you supporting or considering supporting D2? I looked on the project's home page and couldn't find that information. There's mention of druntime for D2 which makes me hopeful.
>
> Thanks,
>
> Andrei
D2 support in LDC has been started, but it does not have any of D2's features implemented. I believe all that has been done is the frontend added. Last time I checked ldc + d2 would not compile.
I believe that the plan is to make D1 solid (more so than DMD), before moving on to D2. One of the developers might be able to give a more accurate status.
|
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | Christian Kamm wrote:
> The release 0.9.1 of LDC, the LLVM based compiler for the D programming language, contains the following major improvements:
>
> * lots of bug fixes (http://www.dsource.org/projects/ldc/report/15)
> * x86-64 support is mature
> * inline asm improved (we now define D_Inline_Asm)
> * cross-compilation support
> * uses boehm-gc during compilation (x86-32 only)
> * D specific optimizations:
> * turn GC allocations to allocas if possible
> * simplify or remove certain calls to D runtime functions
>
> The command line interface of LDC now has added options in line with other LLVM based tools. Please use the ldmd wrapper if you want a drop-in replacement for DMD.
>
> Linux x86-32 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_32.tar.bz2
>
> Linux x86-64 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_64.tar.bz2
>
> Tomas Lindquist Olsen
> Christian Kamm
> Frits van Bommel
> Kelly Wilson
Congratulations on your hard work! This is a really big step for LDC and D, so thanks!
|
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | On Wed, May 27, 2009 at 2:19 PM, Christian Kamm <kamm-incasoftware@removethis.de> wrote: > > The release 0.9.1 of LDC, the LLVM based compiler for the D programming language, contains the following major improvements: > > * lots of bug fixes (http://www.dsource.org/projects/ldc/report/15) > * x86-64 support is mature > * inline asm improved (we now define D_Inline_Asm) > * cross-compilation support > * uses boehm-gc during compilation (x86-32 only) > * D specific optimizations: > * turn GC allocations to allocas if possible > * simplify or remove certain calls to D runtime functions > > The command line interface of LDC now has added options in line with other LLVM based tools. Please use the ldmd wrapper if you want a drop-in replacement for DMD. > > Linux x86-32 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_32.tar.bz2 > > Linux x86-64 download: http://www.incasoftware.de/~kamm/ldc/ldc-0.9.1-x86_64.tar.bz2 Rock on! |
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert Clipsham | Robert Clipsham wrote:
> Andrei Alexandrescu wrote:
>> Great! Quick question - are you supporting or considering supporting D2? I looked on the project's home page and couldn't find that information. There's mention of druntime for D2 which makes me hopeful.
>>
>> Thanks,
>>
>> Andrei
>
> D2 support in LDC has been started, but it does not have any of D2's features implemented. I believe all that has been done is the frontend added. Last time I checked ldc + d2 would not compile.
>
> I believe that the plan is to make D1 solid (more so than DMD), before moving on to D2. One of the developers might be able to give a more accurate status.
That's pretty accurate, actually.
A while back somebody sent in a patch to get D2 support working, but by the time it got properly reviewed it was already outdated...
The main problem on this front is that nobody currently working on LDC is particularly interested in D2.
|
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frits van Bommel | Frits van Bommel wrote:
> Robert Clipsham wrote:
>> Andrei Alexandrescu wrote:
>>> Great! Quick question - are you supporting or considering supporting D2? I looked on the project's home page and couldn't find that information. There's mention of druntime for D2 which makes me hopeful.
>>>
>>> Thanks,
>>>
>>> Andrei
>>
>> D2 support in LDC has been started, but it does not have any of D2's features implemented. I believe all that has been done is the frontend added. Last time I checked ldc + d2 would not compile.
>>
>> I believe that the plan is to make D1 solid (more so than DMD), before moving on to D2. One of the developers might be able to give a more accurate status.
>
> That's pretty accurate, actually.
>
> A while back somebody sent in a patch to get D2 support working, but by the time it got properly reviewed it was already outdated...
>
> The main problem on this front is that nobody currently working on LDC is particularly interested in D2.
I actually thought about giving this a try about a week ago. I managed to get all but one file to compile with the current version of the D2 front end (2.021 I believe)... Not bad considering my (lack of) C/C++ knowledge. If there's some interest for it I suppose I could give it another shot and try to merge the latest front end, it'd be a good chance for me to finally learn C/C++ (I made the <del>mistake</del> decision to learn D first... I found it too awesome to bother learning the obviously inferior C/C++ :P).
|
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | Christian Kamm, el 27 de mayo a las 20:19 me escribiste: > > The release 0.9.1 of LDC, the LLVM based compiler for the D programming language, contains the following major improvements: > > * lots of bug fixes (http://www.dsource.org/projects/ldc/report/15) > * x86-64 support is mature > * inline asm improved (we now define D_Inline_Asm) > * cross-compilation support > * uses boehm-gc during compilation (x86-32 only) > * D specific optimizations: > * turn GC allocations to allocas if possible > * simplify or remove certain calls to D runtime functions > > The command line interface of LDC now has added options in line with other LLVM based tools. Please use the ldmd wrapper if you want a drop-in replacement for DMD. Great, great news! Thanks for the hard work. -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- |
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | Christian Kamm: > The release 0.9.1 of LDC, the LLVM based compiler for the D programming language, contains the following major improvements: Very good. I'll try this too. > * turn GC allocations to allocas if possible Phobos1 of DMD too has alloca, so can this optimization be folded in DMD too? > * simplify or remove certain calls to D runtime functions What calls? Bye, bearophile |
May 27, 2009 Re: ldc 0.9.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | bearophile wrote: >> * turn GC allocations to allocas if possible > Phobos1 of DMD too has alloca, so can this optimization be folded in DMD too? I doubt it, these look like LLVM specific optimisations. >> * simplify or remove certain calls to D runtime functions > What calls? Looking at the source code (gen/passes/*.cpp): * _d_arraysetlengthT * _d_arraysetlengthiT * _d_array_cast_len * _d_array_slice_copy * _d_allocmemoryT * _d_newarrayT * _d_newarrayiT * _d_newarrayvT * _d_newarraymT * _d_newarraymiT * _d_newarraymvT * _d_allocclass Are the runtime calls currently optimized. There may be more that I've missed, that looks like all of them though. |
Copyright © 1999-2021 by the D Language Foundation