rvalues -> ref (yup... again!)
kinke
noone at nowhere.com
Wed Mar 28 00:56:29 UTC 2018
On Tuesday, 27 March 2018 at 23:59:09 UTC, Rubn wrote:
> Just adding a few writeln it isn't able to remove the function
> entirely anymore and can't optimize it out.
Well writeln() here involves number -> string formatting, GC,
I/O, template bloat... There are indeed superfluous memcpy's in
your foo() there (although the forward and bar calls are still
inlined), which after a quick glance seem to be LLVM optimizer
shortcomings, the IR emitted by LDC looks fine.
For an abitrary external function, it's all fine as it should be,
boiling down to a single memcpy in foo() and a direct memset in
main(): https://run.dlang.io/is/O1aeLK
More information about the Digitalmars-d
mailing list