Uh oh!
There was an error while loading. Please reload this page.
gh-101525: [BOLT] Add GCC's LTO-generated function clones, with computed gotos, to BOLT skip list - #139840
Conversation
vstinner
commented
Oct 9, 2025
cc @corona10 |
corona10
commented
Oct 14, 2025
I will try to review this PR until end of this week. |
…ed gotos, to BOLT skip list When building with --with-lto, --enable-bolt and --enable-shared, GCC creates optimized function clones with the suffix .lto_priv.0. The sre_ucs*_match functions use computed gotos, which BOLT cannot optimize, so their .lto_priv.0 clones must be skipped as well. Static builds and Clang's LTO implementation are not affected.
corona10
left a comment
There was a problem hiding this comment.
LGTM!
But since LLVM 20 has been released and llvm/llvm-project#120267
is merged, it’s probably a good time to test without using -skip-funcs :)
cc @zanieb
stratakis
commented
Oct 20, 2025
I did some testing there with GCC. #140250 works, unless the linker uses -pack-relative-relocs, then those functions fail again. |
stratakis
commented
Nov 6, 2025
Would it make sense to backport this to previous versions, as it's a bugfix? |
vstinner
commented
Nov 7, 2025
Yes, I think so. Do you agree to backport @corona10? |
… computed gotos, to BOLT skip list (pythongh-139840)
When building with --with-lto, --enable-bolt and --enable-shared, GCC creates optimized function clones with the suffix .lto_priv.0.
The sre_ucs*_match functions use computed gotos, which BOLT cannot optimize, so their .lto_priv.0 clones must be skipped as well.
Static builds and Clang's LTO implementation are not affected.