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