Hello folks, brief update.
My patch ⚙ D124114 [FuncSpec] Conditional jump or move depends on uninitialised value(s). seems to have fixed the errors I found with multistage clang builds. I am now trying to build chromium.
I’ve also measured the execution times of the llvm-test-suite with LTO running on a single core (pinned with taskset). The geomean improves by 1.51973% on a Xeon Gold 5120T, and by 3.7059% on Neoverse N1. Unfortunately I could not collect statistics with LTO (the build failed with ld.lld: error: -plugin-opt=: unknown plugin option ‘stats-file=…’).
The compilation times didn’t look so good with LTO though. Here’s the instruction count increase recorded by perf on Xeon:
test name | percentage increment |
---|---|
ClamAV | 1.29107335983722 |
7zip | 0.558690885015294 |
tramp3d-v4 | 0.656290325390982 |
kimwitu++ | 0.580861820884755 |
sqlite3 | 2.00999282339229 |
mafft | 0.812760226406484 |
lencod | 0.775063472827178 |
SPASS | 2.09329945725561 |
Bullet | 3.96482578575533 |
consumer-typeset | 0.328170327203899 |
Cheers,
Alexandros