LLVM IR influence on compiler debugging

Adam Wilson flyboynw at gmail.com
Sat Jul 7 21:59:42 PDT 2012


On Sat, 07 Jul 2012 21:58:04 -0700, Alex Rønne Petersen <alex at lycus.org>  
wrote:

> On 08-07-2012 06:44, Adam Wilson wrote:
>> On Sat, 07 Jul 2012 21:13:35 -0700, Jonathan M Davis
>> <jmdavisProg at gmx.com> wrote:
>>
>>> On Saturday, July 07, 2012 20:26:56 Adam Wilson wrote:
>>>> On Sat, 07 Jul 2012 19:33:22 -0700, Andrei Alexandrescu
>>>>
>>>> <SeeWebsiteForEmail at erdani.org> wrote:
>>>> > On 7/7/12 8:29 PM, Adam Wilson wrote:
>>>> >> Sure they complain, but they would complain harder if the
>>>> generated code
>>>> >> was sub-optimal or had bugs in it. And I imagine that multiple hour
>>>> >> build times are more the exception than rule even in C++, my
>>>> >> understanding is that all 50mloc of Windows can compile overnight
>>>> using
>>>> >> distributed compiling. Essentially, my argument is that for  
>>>> business
>>>> >> compilation time is something that can be attacked with money,  
>>>> where
>>>> >> code generation and perf bugs are not.
>>>> >
>>>> > I'm sorry, but I think you got that precisely backwards.
>>>> >
>>>> > Andrei
>>>>
>>>> Why is that?
>>>
>>> Well, considering that the general trend over the last ten years has
>>> been to
>>> move to languages which focus on programmer productivity (including
>>> compilation speed) over those which focus on speed of execution,
>>> there's a
>>> definite argument that programmers generally prefer stuff that makes
>>> programming
>>> easier and faster over stuff that makes the program faster. There are
>>> obviously
>>> exceptions, and there are some signs of things shifting (due to mobile
>>> and
>>> whatnot), but that's the way that things have been trending for over a
>>> decade.
>>>
>>> - Jonathan M Davis
>>
>> I won't argue with this at all, I use C# after all. But there we shuffle
>> the "backend" off to the JIT, so compilation is really more a
>> translation to IR. IIRC this is how most of the popular productivity
>> languages did it (Java, .NET, etc.).
>>
>> It'd be an interesting research project to modify LDC to output IR only
>> and run the IR later on an LLVM based VM and then see what kind of
>> compile times you get...
>>
>
> It would be kind of useless in practice, unfortunately. LLVM IR is very  
> unsuited for VM use:  
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/043719.html
>

Ahh, well maybe we'll have to use MCI, since I hear that the D.NET project  
is quite dead.

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


More information about the Digitalmars-d mailing list