diff options
author | David Wrighton <davidwr@microsoft.com> | 2021-03-19 07:27:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-19 07:27:51 +0300 |
commit | 5d4a85156cc5ab999997f0c6e6d44f9a28208537 (patch) | |
tree | f1b7606939e9ae2f6fc888785fe7d7367de4754d /src/coreclr/crossgen-corelib.proj | |
parent | 3df7a6e3dd4ab11494f4e3a2394b386a73bb446f (diff) |
Enable the latest managed pgo data (#49793)
- Implementation is parallel to existing ibc handling, so that it can be toggled on/off by adjusting the `UsingToolIbcOptimization` property
- Use the same data for all assemblies produced in current build
- Apply data to release builds only
- Disable mismatch assertions in jit for current state where il mismatches are common
Diffstat (limited to 'src/coreclr/crossgen-corelib.proj')
-rw-r--r-- | src/coreclr/crossgen-corelib.proj | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index b2a1848ed51..13e93155ef8 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -70,11 +70,17 @@ <Message Importance="High" Text="Generating native image of System.Private.CoreLib for $(OSPlatformConfig). Logging to $(CrossGenCoreLibLog)" /> + <ItemGroup> + <OptimizationMibcFiles Include="$(MibcOptimizationDataDir)/$(TargetOS)/$(TargetArchitecture)/**/*.mibc" /> + </ItemGroup> + <PropertyGroup> <CrossGenDllCmd>$(DotNetCli) $([MSBuild]::NormalizePath('$(BinDir)', '$(CrossDir)', 'crossgen2', 'crossgen2.dll'))</CrossGenDllCmd> <CrossGenDllCmd>$(CrossGenDllCmd) -o:$(CoreLibOutputPath)</CrossGenDllCmd> <CrossGenDllCmd>$(CrossGenDllCmd) -r:$([MSBuild]::NormalizePath('$(BinDir)', 'IL', '*.dll'))</CrossGenDllCmd> <CrossGenDllCmd>$(CrossGenDllCmd) --targetarch:$(TargetArchitecture)</CrossGenDllCmd> + <MibcArgs>@(OptimizationMibcFiles->'-m:%(Identity)', ' ')</MibcArgs> + <CrossGenDllCmd Condition="'$(UsingToolIbcOptimization)' != 'true' and '$(Configuration)' == 'Release'">$(CrossGenDllCmd) $(MibcArgs) --embed-pgo-data</CrossGenDllCmd> <CrossGenDllCmd>$(CrossGenDllCmd) -O</CrossGenDllCmd> <CrossGenDllCmd>$(CrossGenDllCmd) $(CoreLibInputPath)</CrossGenDllCmd> </PropertyGroup> |