-
-
Notifications
You must be signed in to change notification settings - Fork 32.5k
gh-130090: Support PGO for clang-cl #129907
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
Changes from 3 commits
859c89f
a529c39
26fb51f
6e2cb69
7b46aeb
ced66bd
1aae65d
52fd5ab
c2ecb57
ad72df5
74ec74e
79ce418
8c8aa79
2a9da27
ea4de96
3346b9d
9db1a29
4ad2365
1977953
ad2dfce
6edbe07
81b4c1d
263870d
db208ae
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -420,6 +420,7 @@ | |
<ClCompile Include="..\Modules\blake2module.c"> | ||
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">HACL_CAN_COMPILE_SIMD128;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">HACL_CAN_COMPILE_SIMD256;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
<AdditionalOptions>/arch:AVX</AdditionalOptions> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be removed right? It's not always true. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My clang-cl builds error without that and it does not hurt MSVC AFACT. I think, I should add that condition here, too. If in doubt about MSVC, I could also furthermore add |
||
</ClCompile> | ||
<ClCompile Include="..\Modules\_codecsmodule.c" /> | ||
<ClCompile Include="..\Modules\_collectionsmodule.c" /> | ||
|
@@ -716,6 +717,18 @@ | |
<Delete Files="$(IntDir)pyconfig.h;$(OutDir)pyconfig.h" /> | ||
</Target> | ||
|
||
<Target Name="EnsureClangProfileDir" BeforeTargets="PrepareForBuild" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think, we should not only ensure the profile dir, but empty it. But most probably only when a full rebuild / clean is done.
chris-eibl marked this conversation as resolved.
Show resolved
Hide resolved
chris-eibl marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Condition="$(PlatformToolset) == 'ClangCL' and $(Configuration) == 'PGInstrument'"> | ||
<MakeDir Directories="$(ClangProfileDir)" Condition="!Exists($(ClangProfileDir))" /> | ||
</Target> | ||
|
||
< 6D4E /td> | <Target Name="MergeClangProfileData" BeforeTargets="PrepareForBuild" | |
Condition="$(PlatformToolset) == 'ClangCL' and $(Configuration) == 'PGUpdate'"> | ||
<Message Importance="high" Text="Merging clang profile data in $(ClangProfileDir)" /> | ||
<Exec | ||
chris-eibl marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Command='"$(LLVMInstallDir)\bin\llvm-profdata.exe" merge -output=$(ClangProfileDir)\profdata.profdata $(ClangProfileDir)\default_*.profraw' /> | ||
</Target> | ||
|
||
<Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild"> | ||
<PropertyGroup> | ||
<GIT Condition="$(GIT) == ''">git</GIT> | ||
|
Uh oh!
There was an error while loading. Please reload this page.