Allow jit to disregard PGO; PGO changes for SPMI and MCS (#49551)
authorAndy Ayers <andya@microsoft.com>
Wed, 17 Mar 2021 17:58:08 +0000 (10:58 -0700)
committerGitHub <noreply@github.com>
Wed, 17 Mar 2021 17:58:08 +0000 (10:58 -0700)
commit1ba22eb7994231cc09fcdbdce88db61a4b802737
tree17c9ca5a460103595086d89264a1989edaa40337
parent4e3deb5100c815e880403a7cf31304a616db4e10
Allow jit to disregard PGO; PGO changes for SPMI and MCS (#49551)

* COMPlus_JitDisablePGO will now block the jit from using profile data. Useful
for investigations and (someday) bug triage. Also disable GDV if we're disabling PGO

* `-base_jit_option` and `-diff_jit_option` can be used to pass options to
superpmy.py asmdiffs.

* Fix SPMI file name computation to better handle cases where the directory is
a relative path.

* Enhance `mcs -jitflags` output to describe how many method contexts have
PGO data, and which kinds of data they hold. Useful for validating that an
SPMI collection done via dynamic PGO has actually collected an interesting
set of jit requests.
src/coreclr/ToolBox/superpmi/mcs/verbjitflags.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.h
src/coreclr/ToolBox/superpmi/superpmi-shared/spmidumphelper.cpp
src/coreclr/ToolBox/superpmi/superpmi-shared/spmiutil.cpp
src/coreclr/jit/codegencommon.cpp
src/coreclr/jit/compiler.cpp
src/coreclr/jit/compiler.h
src/coreclr/jit/importer.cpp
src/coreclr/jit/jitconfigvalues.h
src/coreclr/scripts/superpmi.py