-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Local linux builds should not enable PGO by default #85785
Comments
Tagging subscribers to this area: @hoyosjs Issue DetailsWith recent upgrades to compiler versions (and upcoming upgrade to clang 16) in our official builds, our profile data uses an increasingly recent version of the PGO data format, which requires a similarly recent version of the compiler in order to optimize using this data. Local builds and the runtime-dev-innerloop build should not enable PGO optimization in order to avoid requiring the very latest clang.
|
This is specifically about non-Windows builds, right? Presumably local Windows Release builds could continue to consume PGO data without issue? |
This pulls in the updates from dotnet/dotnet-buildtools-prereqs-docker@53fee55 and moves to floating tags for the mariner images, which now build the product with LLVM 16. Once this flows to dotnet-optimization, this will require updates to make the LLVM 16 tools available there. Before the opt data collected with new LLVM flows into runtime, I plan to fix #85785 so that local builds won't by default require clang-16.
After some more thought, I think we should make this dependent on the compiler version. If your build machine has clang-16 available, there's no reason not to enable PGO. This makes the fix pretty simple, so I pushed it to #86436 to unblock the opt data flow. The fix will result in the following warning if clang-16 isn't available, but won't fail the build:
I initially stared going down the path of changing
|
Fixed in #86436. |
With recent upgrades to compiler versions (and upcoming upgrade to clang 16) in our official builds, our profile data uses an increasingly recent version of the PGO data format, which requires a similarly recent version of the compiler in order to optimize using this data.
Local builds and the runtime-dev-innerloop build should not enable PGO optimization in order to avoid requiring the very latest clang.
The text was updated successfully, but these errors were encountered: