dmd codegen improvements

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 19 01:57:36 PDT 2015


On Wednesday, 19 August 2015 at 08:29:05 UTC, Walter Bright wrote:
> On 8/19/2015 1:11 AM, Dmitry Olshansky wrote:
>> When looking at AST there is no way to correctly estimate cost 
>> function - code
>> generated may be huge with user-defined types/operators.
>
> Sure the cost function is fuzzy, but it tends to work well 
> enough.

No, looking at what DMD geenrate, it is obviously not good at 
inlining. Here is the issue, when you have A calling B calling C, 
once you have inlined C into B, and ran optimization, you often 
find that there are dramatic simplifications you can do (this 
tends to be especially true with templates) and that may make B 
eligible for inlining into A, because it became simpler instead 
of more complex.

Optimize top-down, inline bottom-up and reoptimize as you inline. 
That's proven tech.


More information about the Digitalmars-d mailing list