[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