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