GCC:n toteutusta vastaavalla liikkeellä LLVM Git sai tällä viikolla alustavan tuen rasvaisille LTO-objekteille. Tämä”-ffat-lto-objects”-tuki löytyy tämän syksyn LLVM/Clang 17-julkaisusta.
Kääntäjän rasvan LTO-objektituen ottaminen käyttöön mahdollistaa kääntäjän IR:n tallentamisen lopullisen objektikoodin kanssa. Tämän ansiosta näitä”rasvaisia”objekteja voidaan käyttää sekä kehityskoonnoksissa että optimoitujen koontiversioiden tuottamisessa kohdekoon kasvamisen ja pitkien rakennusaikojen kustannuksella. Sen jälkeen linkin aikavaiheessa määritetään, hylätäänkö link-time optimization (LTO)-tiedot vai käytetäänkö niitä.
GCC on tukenut rasvaisia LTO-objekteja jonkin aikaa, mutta vihdoin tällä viikolla LLVM Git sai tuen rasvaisille LTO-objekteille toteutuksella, joka on samanlainen kuin GNU Compiler Collection. Sitoutuminen, joka lisää alustavan fat LTO-tuen, selittää:
“Fat LTO-objektit”LTO-yhteensopiva IR sekä luotu objektikoodi. Tämän avulla käyttäjät voivat lykätä valintaa, käyttävätkö LTO:ta vai eivät linkkiaikaa. Tämä on GCC:ssä jo jonkin aikaa käytettävissä oleva ominaisuus ja tekee olemassa olevasta-ffat-lto-objektit toimivat samalla tavalla kuin GCC:t.”
Tämä tulee olemaan monien muiden uusien kääntäjän ominaisuuksien rinnalla, kun LLVM 17 debytoi syyskuun paikkeilla, jos se on tavallinen julkaisunopeus.