-flto with -fwhole-program or -fuse-linker-plugin

Hei Chan structurechart@yahoo.com
Fri Mar 22 23:26:00 GMT 2013

Sorry, one additional question:
If I want to compile and then link a library (not linking the library to any executable yet), do I need to specify -flto and -fuse-linker-plugin?

Thanks in advance.

From: Hei Chan <structurechart@yahoo.com>
To: "gcc-help@gcc.gnu.org" <gcc-help@gcc.gnu.org> 
Sent: Tuesday, March 19, 2013 9:27 PM
Subject: -flto with -fwhole-program or -fuse-linker-plugin


I am reading:

It first suggests:
In combination with -flto using this option(-fwhole-program) should not be used. Instead relying on a linker plugin should provide **safer and more precise information.**

And then, it suggests:
If the program does not require any symbols to be exported, it is possible to combine -flto and -fwhole-program to allow the interprocedural optimizers to use more aggressive assumptions which may lead to improved optimization opportunities. Use of -fwhole-program is not needed when linker plugin is active (see -fuse-linker-plugin).

Does it mean that in theory, using -fuse-linker-plugin with -flto always gets a better optimized executable than using -fwhole-program with -flto?

Thanks in advance.


More information about the Gcc-help mailing list