Split the lvIsMultiRegArgOrRet into two bits
authorBrian Sullivan <briansul@microsoft.com>
Wed, 29 Jun 2016 00:32:33 +0000 (17:32 -0700)
committerBrian Sullivan <briansul@microsoft.com>
Wed, 29 Jun 2016 18:20:40 +0000 (11:20 -0700)
commitb766ac8acced779442230a0662ab9ff56c609b74
tree20240765c3a39e7609091027bdb98404618e158f
parent6d068a0b8156db5ad038c914ef2b4243e8c47226
Split the lvIsMultiRegArgOrRet into two bits

Currently for all targets that have MultiReg return LclVars we require that they not be struct promoted.
But on ARM64 we do allow for MultiReg #argument LclVars to be struct promoted.
Thus we have to disentagle this value into two distinct bool values to implement MultiReg returns for Arm64.

Commit migrated from https://github.com/dotnet/coreclr/commit/1472efcd7d07a5238a8ed091a628df843d7ad437
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/gschecks.cpp
src/coreclr/src/jit/importer.cpp
src/coreclr/src/jit/lclvars.cpp
src/coreclr/src/jit/lower.cpp
src/coreclr/src/jit/lowerxarch.cpp
src/coreclr/src/jit/morph.cpp