Unused routines and inlining
    Cecil Ward 
    cecil at cecilward.com
       
    Sat Jun 24 16:55:05 UTC 2023
    
    
  
(Apologies if I have talked about this before, but my memory is 
shot because of strong pain drugs that I’m on, and it never was 
any good before either, so I may be repeating myself.)
I’m using GDC and LDC, comparing the two, and in a medium sized 
routine that I have written pretty much every routine is inlined 
all the time. No-one takes the addresses of the routines, and 
they are not called externally to the module, marked private. (Is 
that the same as ‘static’ in C and D ?) So there’s no reason for 
the compiled copies of the function bodies to still exist. This 
makes the module unnecessarily huge with all this unused code 
just sitting there. Is there anything I can be doing about this, 
to make them go away, with appropriate configuration?
It’s a wishlist item for the compilers, to check for 
zero-usage-count in functions that are always inlined, private 
and where there’s no pointer-taking so no chance of indirect 
calls. Is that sufficient?
    
    
More information about the Digitalmars-d-learn
mailing list