Inliner: implement FullPolicy
authorAndy Ayers <andya@microsoft.com>
Wed, 27 Apr 2016 02:54:33 +0000 (19:54 -0700)
committerAndy Ayers <andya@microsoft.com>
Wed, 27 Apr 2016 18:49:23 +0000 (11:49 -0700)
commit4c67bb5ece0d427d5230914cfec33bdfe05804d1
treee919d7d0a35d25e659717602ac96f541d75083f0
parent0419fb126b9c51eb58aeff7c9fc3d64d803b0fc6
Inliner: implement FullPolicy

The FullPolicy will be used to grow maximal potential inline trees
for methods. It inlines all legal candidates subject to depth and
size limits. Add a config flag to select this as the policy to use.

Also add a config flag so the inline depth limit becomes adjustable,
and rework the code so that checking this limit is now a matter of
policy.  Add in an implementation max depth limit of 1000.

Revise names of some statics to make their intent clearer, and add some
missing header comments.

Commit migrated from https://github.com/dotnet/coreclr/commit/8bed64ec2b36608367fc8c075b796b1bd34ab89f
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/inline.cpp
src/coreclr/src/jit/inline.h
src/coreclr/src/jit/inlinepolicy.cpp
src/coreclr/src/jit/inlinepolicy.h
src/coreclr/src/jit/jitconfigvalues.h