LLVM IR influence on compiler debugging

Adam Wilson flyboynw at gmail.com
Fri Jul 6 16:50:04 PDT 2012


On Fri, 29 Jun 2012 02:27:19 -0700, Don Clugston <dac at nospam.com> wrote:

> On 29/06/12 08:04, bearophile wrote:
>> This is a very easy to read article about the design of LLVM:
>> http://www.drdobbs.com/architecture-and-design/the-design-of-llvm/240001128
>>
>> That IR has a great effect on making it simpler to debug the compiler, I
>> think this is important (and I think it partially explains why Clang was
>> created so quickly):
>
> It's a good design, especially for optimisation tests. Although I can't  
> see an immediate application of this for D. DMD's backend is nearly  
> bug-free. (By which I mean, it has 100X fewer bugs than the front-end).

Sure, but LLVM is just as bug free and spanks the current DMD backend in  
perf tests. Just because something is well tested and understood doesn't  
automatically make it superior. Also worth consideration is that moving to  
LLVM would neatly solve an incredible number of sticky points with the  
current backend, not the least of which is it's license. And lets not ven  
talk about the automatic multi-arch support we'd get.

My guess is that, unless something changes significantly, DMD will remain  
a niche tool; useful as a reference/research compiler, but for actual work  
people will use LDC or GDC.

At the moment, the ONLY reasons I use DMD are to test my changes to the  
compiler and that LLVM doesn't yet support SEH. As soon as LDC supports  
SEH, and it will (I hear 3.2 will), I will move all my work to LDC. So  
what if it's a version or two behind, it has superior code generation and  
better Windows support (COFF/x64 anybody?).

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d mailing list