LLVM IR influence on compiler debugging

Alex Rønne Petersen alex at lycus.org
Sat Jul 7 21:58:04 PDT 2012


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

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org




More information about the Digitalmars-d mailing list