Inliner: add a few more observations
authorAndy Ayers <andya@microsoft.com>
Fri, 5 Aug 2016 21:49:02 +0000 (14:49 -0700)
committerAndy Ayers <andya@microsoft.com>
Fri, 5 Aug 2016 23:22:49 +0000 (16:22 -0700)
commit26b5489a8c798a7884775af531197313a13fb50d
tree4a5a2d11b44fe4899387665ac0c9ba4fa8a57805
parent6372e73f00af15f5372bca094b6ae8b1a0533733
Inliner: add a few more observations

Now that we can trust `optMethodFlags`, note if the root caller has
newarr or newobj. We can't yet tell if these operations might feed
a particular call's arguments but their presence in the root method
alone might be enough to build correlations with performance changes.

Count number of returns in the callee. Note if callee has same this
as the (root) caller. Note when callee is a class constructor.

Add code to dump out the new observations. No policies act on these yet.

Commit migrated from https://github.com/dotnet/coreclr/commit/8c034fb97caa20f5cd824711587dcd964dae6c45
src/coreclr/src/jit/importer.cpp
src/coreclr/src/jit/inline.def
src/coreclr/src/jit/inlinepolicy.cpp
src/coreclr/src/jit/inlinepolicy.h