Skip to content
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

[JIT] Improve inliner: new heuristics, rely on PGO data #52708

Merged
merged 67 commits into from
Jul 1, 2021
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
d8e2d7c
Port old changes
EgorBo Jun 10, 2021
98afcea
Improvements
EgorBo Jun 10, 2021
9a01fe3
Limit it for loops
EgorBo Jun 10, 2021
7e4fba2
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 11, 2021
4bc7341
Tuning
EgorBo Jun 12, 2021
52a8e8b
Make it less aggressive (esp. for R2R)
EgorBo Jun 13, 2021
d2d1d15
Bring back the previous algorithm just in case (available under a con…
EgorBo Jun 14, 2021
a8c981c
Bring back the previous algorithm just in case (available under a con…
EgorBo Jun 14, 2021
06f91d9
Bring back the previous algorithm just in case (available under a con…
EgorBo Jun 14, 2021
cc8a179
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 14, 2021
1d18d4e
Fix typo
EgorBo Jun 14, 2021
94e803f
Make formatter happy
EgorBo Jun 14, 2021
244dffe
Introduce a new policy
EgorBo Jun 15, 2021
8081492
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 15, 2021
3adc9c1
Introduce a new policy
EgorBo Jun 15, 2021
1d2c37b
Introduce a new policy
EgorBo Jun 15, 2021
6a3e69a
Clean up
EgorBo Jun 15, 2021
f0409ac
Use ExtendedDefaultPolicy by default (except non-rootprejt R2R)
EgorBo Jun 15, 2021
244abb4
Fix CI
EgorBo Jun 15, 2021
efabef6
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 15, 2021
d1c7c10
Address feedback
EgorBo Jun 15, 2021
d03d9ba
Update src/coreclr/jit/inlinepolicy.cpp
EgorBo Jun 15, 2021
d991d46
Update src/coreclr/jit/jitconfigvalues.h
EgorBo Jun 15, 2021
1c123fb
Fix ci
EgorBo Jun 15, 2021
3cfb759
Make formatter job happy
EgorBo Jun 15, 2021
ed1606d
Experiment.
EgorBo Jun 16, 2021
19eed26
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 17, 2021
5298b26
Tuning
EgorBo Jun 17, 2021
2e367e2
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 17, 2021
0977ffd
Tuning
EgorBo Jun 17, 2021
2f5331d
Tuning
EgorBo Jun 18, 2021
d46eb87
Tuning
EgorBo Jun 19, 2021
b6a4423
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 19, 2021
dbbc828
Tuning
EgorBo Jun 19, 2021
d752348
Tuning
EgorBo Jun 19, 2021
3307b71
Tuning
EgorBo Jun 19, 2021
20dec2c
Less aggressive version.
EgorBo Jun 19, 2021
cb3c6a8
Less aggressive version.
EgorBo Jun 19, 2021
a7584c3
Clean up.
EgorBo Jun 20, 2021
828b049
Tuning
EgorBo Jun 22, 2021
dbd3a63
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 22, 2021
c8479a1
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 22, 2021
4148fb4
Make it less aggressive.
EgorBo Jun 22, 2021
bf474fe
Fix XML dump
EgorBo Jun 23, 2021
2f3bc1b
Reduce prejit size by 100kb
EgorBo Jun 23, 2021
a6cb278
Reduce prejit size by 100kb
EgorBo Jun 23, 2021
45f0b2f
Better parameters (10.15 Mb or +5% size)
EgorBo Jun 23, 2021
53a5ef6
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 23, 2021
4c5ec4e
Fix regression (new size: 10.11Mb)
EgorBo Jun 24, 2021
34ecc08
Fix regressions (size is still 10.1Mb)
EgorBo Jun 24, 2021
3403cef
Fix regressions
EgorBo Jun 24, 2021
cc6c1ec
Make it even less aggressive (10.01Mb)
EgorBo Jun 25, 2021
bec02d1
Formatting
EgorBo Jun 25, 2021
6e9678f
Fix regressions
EgorBo Jun 25, 2021
f16cc31
Don't perform stloc/ldloc on non-precise scan
EgorBo Jun 25, 2021
05a19e5
Fix regressions
EgorBo Jun 25, 2021
04dfc2e
Slow down inlining if we already have to many locals in the rootCompi…
EgorBo Jun 25, 2021
a86c067
Formatting
EgorBo Jun 25, 2021
57e4893
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 25, 2021
15d9a0d
Fix regressions
EgorBo Jun 26, 2021
e072cc6
Better default parameters
EgorBo Jun 26, 2021
914f58b
Address feedback
EgorBo Jun 28, 2021
ae02160
Formatting
EgorBo Jun 28, 2021
2337ddc
Fix speed_opt check (it's not set for normal jit)
EgorBo Jun 29, 2021
397546a
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 29, 2021
28de069
Remove JitExtDefaultPolicyProfBB and handle CEE_IND over arguments
EgorBo Jun 29, 2021
43d353f
Merge branch 'main' of https://github.com/dotnet/runtime into jit-inl…
EgorBo Jun 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/coreclr/jit/compiler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1516,7 +1516,7 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

inline bool Compiler::lvaHaveManyLocals() const
{
return (lvaCount >= lclMAX_TRACKED);
return (lvaCount >= (unsigned)JitConfig.JitMaxLocalsToTrack());
}

/*****************************************************************************
Expand Down
Loading