[fpc-pascal] inlining functions
Benito van der Zander
benito at benibela.de
Sat Jan 12 17:36:30 CET 2019
Hi,
something that appears to help is to put units in the interface uses
rather than the implementation uses.
When the unit mentioned in the interface uses, uses the first unit in
its implementation uses, it can inline the functions from the first
unit. Although I would have expected it to do the opposite.
Unfortunately that does not help if the second unit needs to use types
from the first unit in its interface
Best,
Benito
Am 12.01.19 um 13:05 schrieb denisgolovan:
>
> 12.01.2019, 14:53, "Jonas Maebe" <jonas at freepascal.org>:
>> Not at this time (unless you use the LLVM backend).
> Could you give some hints on how to enable WPO/LTO under LLVM backend?
> http://wiki.freepascal.org/LLVM does not seem to mention anything on that.
>
>> However, what you actually can do, is manually recompile all units of your program
>> multiple times. While this won't help with inline functions called
>> before they are parsed in those same units, it will allow inlining of
>> function bodies in other units that were not available during the first
>> compilation due to dependency cycles.
> Eh.
> It does not look too practical, right?
> Unless there is some magical receipt for that :)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20190112/3d918bd4/attachment.html>
More information about the fpc-pascal
mailing list