Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build clang package with PGO #208188

Closed
zamazan4ik opened this issue Dec 29, 2022 · 1 comment
Closed

Build clang package with PGO #208188

zamazan4ik opened this issue Dec 29, 2022 · 1 comment
Labels
0.kind: enhancement Add something new

Comments

@zamazan4ik
Copy link

Describe the bug

LLVM supports building Clang with PGO (https://llvm.org/docs/HowToBuildWithPGO.html). Using PGO for compilers has a huge impact on compiler performance. E.g. many distros are already building GCC (which also supports PGO builds) with PGO. I think for the users would be beneficial to have faster Clang binaries.

Locally I usually build my own Clang version. According to my tests, it could bring up to 20% performance.

Additionally, you could consider using LLVM BOLT as an additional optimization step, but I guess it should be discussed in another issue after the PGO implementation.

Expected behavior

clang package will be PGO-optimized.

Other notes

It's not actually a bug - just an improvement request. Feel free to assign to the more proper category.

@zamazan4ik zamazan4ik added the 0.kind: bug Something is broken label Dec 29, 2022
@misuzu misuzu added 0.kind: enhancement Add something new and removed 0.kind: bug Something is broken labels Dec 29, 2022
@tpwrules
Copy link
Contributor

FWIW, the community explicitly made the decision to turn off PGO in GCC in order to have proper reproducibility: #112928

@Artturin Artturin closed this as not planned Won't fix, can't repro, duplicate, stale Mar 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: enhancement Add something new
Projects
None yet
Development

No branches or pull requests

4 participants