diff options
author | Daniel Podder <dapodd@microsoft.com> | 2017-03-16 14:37:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-16 14:37:07 -0700 |
commit | 1b64c03493a4b7e4336f0dabbdf4ed980f0d109c (patch) | |
tree | a99ada676214fba3125a7f0cef2c90fe861317aa /config.json | |
parent | f1087c7acbc4dc1bc4556af629a67ea606a96713 (diff) | |
download | coreclr-1b64c03493a4b7e4336f0dabbdf4ed980f0d109c.tar.gz coreclr-1b64c03493a4b7e4336f0dabbdf4ed980f0d109c.tar.bz2 coreclr-1b64c03493a4b7e4336f0dabbdf4ed980f0d109c.zip |
Add IBC support to managed build (#10180)
Add a new build switch, `ibcinstrument`, that adds `/Tuning` on the `crossgen`
command line when building System.Private.CoreLib and its peers. Automatically
consume IBC optdata during builds when these conditions are met:
1. `ibcinstrument` is *not* passed to the build,
2. optdata is available
3. ibcmerge is available
Note that `optdata` will not yet be restored with this change; once packages for
master are made available, a new package reference will still need to be added.
This PR attempts to unblock manually testing IBC, as well as surrounding
CI/infrastructure work.
To help produce an IBC-optimized build using manually generated profile data,
run the newly added `tests/scripts/optdata/bootstrap.py` script. It will
configure the build to consume IBC data from a path automatically, and print out
that path where profile data can be copied.
Diffstat (limited to 'config.json')
-rw-r--r-- | config.json | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/config.json b/config.json index 29924b3f19..03a705449d 100644 --- a/config.json +++ b/config.json @@ -186,6 +186,18 @@ "values": [ "debug", "release", "checked" ], "defaultValue": "debug" }, + "EnableProfileGuidedOptimization": { + "description": "Enables IBC profile optimizations if profile data are available.", + "valueType": "property", + "values": [ true, false ], + "defaultValue": false + }, + "OptimizationDataDir": { + "description": "Sets the path where the build should look for IBC profile data.", + "valueType": "property", + "values": [], + "defaultValue": "" + }, "UseEnv": { "description": "Set when building for arm64.", "valueType": "property", @@ -342,6 +354,24 @@ "values": [], "defaultValue": "" }, + "OptionalToolSource": { + "description": "URL of the nuget feed used by 'optional-tools'", + "valueType": "property", + "values": [], + "defaultValue": "" + }, + "OptionalToolSourceUser": { + "description": "User name for authenticating to the optional tools feed", + "valueType": "property", + "values": [], + "defaultValue": "" + }, + "OptionalToolSourcePassword": { + "description": "VSTS token for authenticating to the optional tools feed; requires 'package(READ)' permission", + "valueType": "property", + "values": [], + "defaultValue": "" + }, "ExtraParameters": { "description": "Extra parameters will be passed to the selected command.", "valueType": "passThrough", @@ -629,4 +659,4 @@ "valueTypes": {} } } -}
\ No newline at end of file +} |