Spill side-effects in impAssignMultiRegTypeToVar.
This importer function converts IR from the form
tree
to
/- tree
STMT - =
\- lclVar
in order to conform to the JIT's representation of multi-register values.
Today, it does not check whether or not the tree being spilled has any
side-effects that may interfere with the side-effects of trees that are
already on the evaluation stack, which can lead to bad codegen. This
change fixes this function to spill any side-effects on the stack
before generating the temp assign.
Fixes dotnet/coreclr#10940.
Commit migrated from https://github.com/dotnet/coreclr/commit/
961f24096a9c2bfe4f848c27e0756669042a8985