Uh oh!
There was an error while loading. Please reload this page.
Enable ICF on Linux - #129762
Conversation
Opening to see CI results and size diffs
MichalPetryka
commented
Jun 24, 2026
@am11 Since I think you worked in this area the most, what do you think about this? It seems that the GCC build job failed cause Do the official builds use Also, it seems like NativeAOT doesn't use the flags from here. |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
am11
commented
Jun 24, 2026
@MichalStrehovsky, experimented with it earlier. We may need changes from #87045. |
MichalPetryka
commented
Jun 24, 2026
My intent here was to only enable it for native code in the runtime, I'd leave the handling of NAOT outputs to @MichalStrehovsky. |
am11
commented
Jun 24, 2026
Do you see any size difference before/after on linux? $ ./build.sh clr+libs -c Release
$ find artifacts/bin/coreclr/linux.x64.Release -name '*.so*' -exec du -sh {} \; |
MichalPetryka
commented
Jun 24, 2026
I currently do not have a Linux machine on hand to test it, that's why I wanted to see how it impacts rt-sz. |
am11
commented
Jun 24, 2026
|
MichalPetryka
commented
Jun 24, 2026
@am11 Can you show the total without Also, it seems like emscripten doesn't support icf even with lld, what's the proper condition for excluding that? |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
am11
commented
Jun 24, 2026
| |
am11
commented
Jun 24, 2026
captured befroe.md and after.md with this:
then asked AI to compute deltas (which used python script). |
AndyAyersMS
commented
Jun 24, 2026
/azp run runtime-coreclr outerloop, runtime-extra-platforms |
|
Azure Pipelines successfully started running 2 pipeline(s). |
MichalPetryka
commented
Jun 26, 2026
Failures all unrelated, either non Linux or networking errors. |
MichalPetryka
commented
Jul 3, 2026
@jkotas Do you know who'd be the right person to review this? |
jkotas
commented
Jul 3, 2026
This change is not risk-free. We have the equivalent option enabled on Windows, and copilot is not able to find any dependencies on the pointer equality behavior in non-Windows code, so the risk should be acceptable. |
Uh oh!
There was an error while loading. Please reload this page.
jkotas
commented
Jul 3, 2026
Thanks! |
It saves on average 2% in size. --------- Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com> Co-authored-by: Jan Kotas <jkotas@microsoft.com>
CI is green and it saves on average 2% in size.