[fpc-pascal] Smart-linking versus Whole Program Optimization

Jonas Maebe jonas at freepascal.org
Wed Mar 10 11:15:00 CET 2021

On 10/03/2021 10:34, LacaK via fpc-pascal wrote:
> 1. I did not notice difference between A and B (it seems like WPO did
> not reduce size of EXE (may be that I do something wrong))
> 1.1 is there way how I can check which procedures were striped out or
> vice-versa included?

You can generate link maps (-Xm) and compare those.

> 2. Is smart-linking/WPO capable to remove unused:
> 2.1  regular procedures/functions ?
> 2.2  methods of classes (non virtual, virtual) ?
> 2.3  class methods of classes ?

Smartlinking can remove any non-referenced non-virtual methods, global
variables, and regular procedures/functions.

Regarding what WPO can do, see


More information about the fpc-pascal mailing list