Update PGO configuration

This commit is contained in:
Han Zhang 2022-05-17 00:55:09 +08:00
commit 2aed18a12e
3 changed files with 5 additions and 35 deletions

View file

@ -2,7 +2,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PGOBuildMode Condition="'$(PGOBuildMode)'==''">Optimize</PGOBuildMode>
<EnablePGOCodeGen Condition="'$(EnablePGOCodeGen)'==''">true</EnablePGOCodeGen>
</PropertyGroup>
</Project>

View file

@ -1,40 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VC_PGO_RunTime_Dir>$(VCToolsInstallDir)bin\Host$(PlatformShortName)\$(PlatformShortName)</VC_PGO_RunTime_Dir>
<VC_PGO_RunTime_Dir Condition="'$(Platform)'=='ARM' or '$(Platform)'=='ARM64'">$(VCToolsInstallDir)bin\$(PlatformShortName)</VC_PGO_RunTime_Dir>
<ProfileGuidedDatabaseFileName>$(MSBuildThisFileDirectory)..\..\tools\$(PlatformShortName)\Calculator.pgd</ProfileGuidedDatabaseFileName>
<!-- Enable PGO optimization only for Release builds. -->
<PropertyGroup Condition="'$(Configuration)' == 'Release' and '$(EnablePGOCodeGen)' == 'true'">
<IlcParameters>$(IlcParameters) /pgu /pgd:"$(MSBuildThisFileDirectory)..\..\tools\$(Platform)\Calculator.pgd"</IlcParameters>
</PropertyGroup>
<!-- Enable PGO optimization only for Release builds. -->
<ItemDefinitionGroup Condition="'$(Configuration)' == 'Release' and '$(PGOBuildMode)' == 'Instrument'">
<Link>
<LinkTimeCodeGeneration>PGInstrument</LinkTimeCodeGeneration>
<AdditionalDependencies Condition="'$(Platform)'=='ARM'">$(VC_ReferencesPath_VC_ARM)\pgort.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)'=='ARM64'">$(VC_ReferencesPath_VC_ARM64)\pgort.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)'=='Win32'">$(VC_ReferencesPath_VC_x86)\pgort.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)'=='x64'">$(VC_ReferencesPath_VC_x64)\pgort.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Include pgort140.dll in the app package -->
<ItemGroup Condition="'$(Configuration)' == 'Release' and '$(PGOBuildMode)' == 'Instrument'">
<None Include="$(VC_PGO_RunTime_Dir)\pgort140.dll">
<Link>%(Filename)%(Extension)</Link>
<DeploymentContent>true</DeploymentContent>
<Visible>false</Visible>
<InProject>false</InProject>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<!-- Enable PGO optimization only for if the pgds file exists. -->
<ItemDefinitionGroup Condition="'$(Configuration)' == 'Release' and '$(PGOBuildMode)' == 'Optimize' and Exists('$(ProfileGuidedDatabaseFileName)')">
<Link>
<LinkTimeCodeGeneration>PGUpdate</LinkTimeCodeGeneration>
<ProfileGuidedDatabase>$(ProfileGuidedDatabaseFileName)</ProfileGuidedDatabase>
</Link>
</ItemDefinitionGroup>
</Project>

View file

@ -36,6 +36,7 @@
<AppxBundlePlatforms>$(Platform)</AppxBundlePlatforms>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
<IlcParameters>/disableStackTraceMetadata /disableExceptionMessages</IlcParameters>
<EnablePGOCodeGen Condition="'$(Platform)' == 'ARM64'">false</EnablePGOCodeGen>
</PropertyGroup>
<!-- This has to be exactly in this place for this to work -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">