[dmd-internals] building dmd with the microsoft compiler

Rainer Schuetze r.sagitario at gmx.de
Sun Nov 13 10:55:04 PST 2011


On 13.11.2011 19:33, Walter Bright wrote:
>
>
> On 11/13/2011 8:13 AM, Rainer Schuetze wrote:
>>
>>
>> I have patched the compiler to use handcrafted implementations and it 
>> now passes the dmd test suite.
>>
>> Quite a bit to my surprise, the compiler is also almost twice as fast 
>> on my projects as the dmc compiled dmd! The test suite runs a bit 
>> slower though (5% to 10%).
>
> Hmm, very curious. I wonder what the speed changes are due to.
>
I just noticed today that the backend files are compiled without 
optimizations in win32.mak. Is this on purpose? I didn't see noticeable 
improvements in compilation speed when enabling "-o", though.

>>
>> Is there interest in adding the patches to the dmd source? I would 
>> like to do some cleanup before creating a pull request.
>
> Sure.
>
>>
>> The major changes are with respect to the 80-bit floats, because this 
>> also leaks into the backend. Mostly, it's replacing "long double" 
>> with my implementation "long_double". I've seen "d-gcc-real.h" being 
>> used if IN_GCC  is defined, but the defined type real_t is only 
>> referred to partially. I wonder whether this is still in use (by 
>> LDC/GDC?) and whether it ever passed the test suites?
>
> I don't know the status of IN_GCC. I wouldn't use it for the VC build.

I didn't use it. But if it is still in use, among other things it 
enables another implementation of 80-bit floats which might not be 
compatible with my changes, so it might annoy LDC/GDC developers quite a 
bit.

>
>>
>> The C99 printf functions are overloaded by inserting an include file 
>> on the command line, I would prefer if these would go into port.c/h, 
>> but these would need to be included by the backend aswell then.
>
> They should go in port, or perhaps we should just dispense with using 
> the C99 formats.

I will try to put it in port. %a on 80-bit floats needs to be 
implemented anyway.

>
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>



More information about the dmd-internals mailing list