-
Notifications
You must be signed in to change notification settings - Fork 13.3k
enable PGO on x86_64-apple-darwin #110639
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
Conversation
44684f3
to
922f251
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The linking issue from the previous PR was not problematic, and easy to workaround locally. The resulting profiling data however caused errors depending on the binary tools used via cmake (between the llvm distributed tools and the osx devtools). Compared to not using PGO on the same master commit, what are the benchmark results you're seeing locally with this PR ? Until then, let's keep this as a draft, its not clear it's ready to be reviewed yet. |
Your previous PR wasn't problematic indeed, tried to rebase it with master, but a bit annoying to resolve conflicts in yaml file, so I created this one. I work on an Apple M1 machine, still building.
could you elaborate more about this? |
b4b9a5f
to
3bdbc8a
Compare
Please run |
Actually that might not do the right thing; you need to get a PGO compiler to run the tests somehow, I don't know if x is able to do that. If not you may need to use |
Tests, and benchmarks, yes. As I said before, I'm still working on this myself for rustc rather than LLVM, and I'm not sure similar changes would be enough: I have done this before and it wasn't enough just yet, but maybe I did it wrong; we'll see once we have some feedback about the results. |
The initial motivation of this PR pair with #110605 is trying to dist PGO'ed rust toolchain for a huge monorepo, if rust-ci resources is restricted, a dry-run might be enough to make sure the PGO flow work on macos. |
I wouldn't trust --dry-run to tell you whether it will actually work or not. I don't like the idea of having code here that's only intended for external projects and we never use in CI. |
What results did you have locally:
|
To be clear, I'm not injecting unused code into rust-ci, but making the pgo flow more easier to reuse like a generic function. Still testing locally, I'll post the benchmarks of rust-ci and the monorepo both here in the future. |
☔ The latest upstream changes (presumably #112013) made this pull request unmergeable. Please resolve the merge conflicts. |
@csmoe any updates on this? |
@Dylan-DPC sorry, I'll retry this week. |
cool no worries :) |
Closing this as inactive. Feel free to reöpen this pr or create a new pr if you get the time to work on this. Thanks |
r? @lqd
previous take #108837