Should LLVM become the default D-lang platform?

Kai Nacke kai at redstar.de
Mon Jan 13 03:40:38 PST 2014


On Monday, 13 January 2014 at 05:04:46 UTC, Manu wrote:
> On 12 January 2014 00:35, Kai Nacke <kai at redstar.de> wrote:
>
>> On Friday, 10 January 2014 at 20:51:19 UTC, Dwhatever wrote:
>>
>>> This might have been brought up before but I couldn't find 
>>> any thread
>>> about this. As things has progressed I wonder if Digital Mars 
>>> DMD should
>>> move over to use LLVM instead of its own code generation and 
>>> compiler
>>> framework.
>>>
>>> As I see it with the small amount of contributors D-language 
>>> has, DMD
>>> will never support anything beyond x86 as there are no 
>>> resources for this.
>>> Also, why spend time on recreating the the code generation 
>>> which has
>>> already been done with LLVM? This enables this community to 
>>> focus on the
>>> language which is the most important part as well as 
>>> supporting more and
>>> future processor targets.
>>>
>>
>> You currently can't get the best of all worlds in a single 
>> compiler.
>>
>> LLVM does not support exceptions on native Win32. (Same is 
>> true for Win64
>> but I hope to change this.) LLVM does not support CodeView 
>> debug symbols.
>> Not in the format embedded in object file and not as PDB.
>> In short, you loose the complete native Windows tool chain.
>>
>
> Is there any progress on any of these things BTW?
> At some point, sooner or later, we're REALLY going to need a 
> performance
> compiler on Windows...

My patch for exceptions on Win64 is finally in review. I hope to 
commit it soon.

The Google guys are adding COFF line number support right now.

Regards,
Kai

>
> With LDC, you can use other platforms. E.g. it runs on 
> Linux/PPC64. But you
>> can't ignore the backend because it has bugs and is incomplete.
>>
>> E.g. on Linux/ARM I have a linker error when I enable 
>> generation of debug
>> symbols. LLVM for arm-apple-darwin does not support TLS. LLVM 
>> for PPC
>> supports only 2 of the 4 TLS models. In addition, the 
>> assembler for
>> PPC/PPC64 does not support all instructions I need for 
>> std.math.
>>
>> Regards,
>> Kai



More information about the Digitalmars-d mailing list