JIT: fix return type mismatch inlining block
authorAndy Ayers <andya@microsoft.com>
Tue, 25 Apr 2017 23:06:44 +0000 (16:06 -0700)
committerAndy Ayers <andya@microsoft.com>
Tue, 25 Apr 2017 23:06:44 +0000 (16:06 -0700)
commit2a6820bf0c1a835aeedc6ed4c75e35b632f1fc56
tree977c48f76129d80a5f2b8e5debc942b3f5daf6ae
parent798e9b8096fee4b3df6cc9d4629e969c8eb62306
JIT: fix return type mismatch inlining block

If caller passes a directly substitutable expression whose
type is compatible with but not the same as the callee argument type,
and that argument is the callee's return value, the jit may
reject inlining the method because of a return type mismatch.

Fix is to retype the expressions we use in the callee's body
as the callee's type.

Closes dotnet/coreclr#11211.

Commit migrated from https://github.com/dotnet/coreclr/commit/7f8a620ea74dfb57e52320601addda68e2f53f53
src/coreclr/src/jit/importer.cpp