LLVM IR influence on compiler debugging

Adam Wilson flyboynw at gmail.com
Sat Jul 7 17:24:27 PDT 2012


On Sat, 07 Jul 2012 17:22:27 -0700, Timon Gehr <timon.gehr at gmx.ch> wrote:

> On 07/08/2012 01:54 AM, Adam Wilson wrote:
>> On Sat, 07 Jul 2012 16:38:27 -0700, Timon Gehr <timon.gehr at gmx.ch>  
>> wrote:
>>
>>> On 07/08/2012 01:28 AM, Adam Wilson wrote:
>>>> On Sat, 07 Jul 2012 16:15:11 -0700, Walter Bright
>>>> <newshound2 at digitalmars.com> wrote:
>>>>
>>>>> On 7/7/2012 4:08 PM, Adam Wilson wrote:
>>>>>> On Sat, 07 Jul 2012 11:48:44 -0700, Walter Bright
>>>>>> <newshound2 at digitalmars.com>
>>>>>> wrote:
>>>>>>
>>>>>>> On 7/7/2012 8:38 AM, Alex Rønne Petersen wrote:
>>>>>>>> On a high-end 4-core x86, building LLVM and LDC can usually be
>>>>>>>> done in less than an hour, even when building them in optimized
>>>>>>>> mode.
>>>>>>>
>>>>>>> Building dmd on my Windows box takes 26 seconds, optimized, using a
>>>>>>> single core.
>>>>>>
>>>>>> Build speed of the compiler itself is an utterly trivial matter, my
>>>>>> primary
>>>>>> concern is speed for the end-user. Even the build speed/memory usage
>>>>>> of my
>>>>>> projects is not a problem, I can always throw more money at  
>>>>>> hardware.
>>>>>> For
>>>>>> example, I am considering making the next round of developer box
>>>>>> updates to
>>>>>> Intel Xeon E1650's with 32GB RAM.
>>>>>>
>>>>>> Gentlemen, from a business prospective, compiler and/or project  
>>>>>> build
>>>>>> times are
>>>>>> the least of your problems. How well the code performs and most
>>>>>> importantly the
>>>>>> accuracy of the code generation is of key concern.
>>>>>
>>>>> Throwing more hardware at a problem isn't going to get you a 120x
>>>>> increase in speed.
>>>>
>>>> I wont argue that, but again, that's not a primary concern. :-)
>>>>
>>>>> While you're right that the customer cares not how long it takes to
>>>>> build the compiler, the speed is important for the edit-compile-debug
>>>>> loop of developing the compiler. For me, it matters quite a bit.
>>>>
>>>> I imagine that it does, and honestly, I am not terribly concerned if  
>>>> DMD
>>>> stays with it's current backend because once LLVM gets SEH, im gone.  
>>>> But
>>>> I do wonder if DMD will become increasingly irrelevant as backends  
>>>> like
>>>> GCC and LLVM advance. And I am particularly troubled by what seems  
>>>> like
>>>> a duplication of effort in the face of more widely tested backends...
>>>>
>>>
>>> The DMD backend is very fast in comparison to other backends.
>>>
>>> LLVM is unlikely to catch up in speed, because it is well architectured
>>> and more general.
>>>
>>
>> Oh, I agree that it is, but as I've been saying, raw compiler speed is
>> rarely an important factor outside of small circles of developers, if it
>> was, businesses would have given up on C++ LONG ago. It's nice to have,
>> but the business case for it is weak comparatively.
>>
>
> 'raw compiler speed is rarely the most important factor' does not
> necessarily imply 'raw compiler speed is rarely an important factor'.

Correct, just less important that other things.

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


More information about the Digitalmars-d mailing list