Which optimisations are are easier or perhaps only possible in the frontend ?

Manu via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 11 04:20:40 PST 2014


On 11 December 2014 at 21:02, Stefan Koch via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On Thursday, 11 December 2014 at 10:59:24 UTC, Daniel Murphy wrote:
>
>> Why?  If the inliner is out because of DMD's merging process, then so is
>> the rest of the frontend.
>
>
> It is not out!
>
> But my question was not about dmd specific things, I meant it more
> generally.

I've often thought one of the biggest wins that would seem to affect
my code would be comprehensive value range propagation.
assert's and contracts can give value range information to the
compiler, also comparison statements, bit masks, casts, etc, can
truncate the possible value range, which can create many opportunities
for optimisations. It would also be really nice to eliminate errors
associated with down-casting.


More information about the Digitalmars-d mailing list