gcc LTO optimalizace

Miroslav Mraz mrazik na volny.cz
Sobota Květen 18 21:47:01 CEST 2024


Hm, je to složité, bůhví jak to funguje, kód z toho leze dost hnusný, 
prostě to nebudu používat. U ARM jsem to nepoužíval taky a šlo to. To 
jen, že v původních příkladech to bylo použito, tak jsem to zkoušel 
taky. Moc se to nepovedlo.

Mrazík

On 18. 05. 24 20:00, Jindroush wrote:
> On 18.05.2024 15:32, Miroslav Mraz wrote:
>> Víte někdo jak správně používat -flto při překladu pomocí gcc ? V 
>> poslední době se mi stává, že to vyoptimalizuje i funkce, které jsou 
>> tam opravdu potřebné. Ale je to u složitějších bare-metal projektů 
>> RISC-V a tak se mi nedaří vystopovat proč. Clang tím asi tak netrpí, 
>> tam se to zdá v pořádku.
>> Setkali jste se s tím třeba na ARM nebo AVR ? 
> Ja tohle videl a pouzival u MSVC, tak jsem si aspon precet man, abych 
> vedel, jak to u GCC funguje. Pisou tam zajimavou vec:
> 
>> it is necessary to make certain whole program assumptions. The 
>> compiler needs to know what functions and variables can be accessed by 
>> libraries and runtime outside of the link-time optimized unit. When 
>> supported by the linker, the linker plugin (see -fuse-linker-plugin) 
>> passes information to the compiler about used and externally visible 
>> symbols. When the linker plugin is not available, -fwhole-program 
>> should be used to allow the compiler to make these assumptions, which 
>> leads to more aggressive optimization decisions. 
> Tutaj: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
> 
> -- 
> Jindroush<jindroush na seznam.cz>
> 


Další informace o konferenci Hw-list