diff options
author | Carol Eidt <carol.eidt@microsoft.com> | 2017-06-09 11:40:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-09 11:40:22 -0700 |
commit | c8c9f6d1ce72aa2ffcced312ce818779fc9aed0b (patch) | |
tree | 0772e38f3b28315ef36b689bfaa6fe097d171dca /src | |
parent | e3c4bd2a8768e405b00e7d807d7f2cb1a64c66e8 (diff) | |
parent | 712eefbd2c75d94eacbe97192ca0414fdd3c337b (diff) | |
download | coreclr-c8c9f6d1ce72aa2ffcced312ce818779fc9aed0b.tar.gz coreclr-c8c9f6d1ce72aa2ffcced312ce818779fc9aed0b.tar.bz2 coreclr-c8c9f6d1ce72aa2ffcced312ce818779fc9aed0b.zip |
Merge pull request #12189 from mskvortsov/FixExplicitContainedness
[RyuJIT/ARM32] Fix failures related to explicit containedness
Diffstat (limited to 'src')
-rw-r--r-- | src/jit/lsraarmarch.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/jit/lsraarmarch.cpp b/src/jit/lsraarmarch.cpp index e0acb51849..f58da4a671 100644 --- a/src/jit/lsraarmarch.cpp +++ b/src/jit/lsraarmarch.cpp @@ -59,10 +59,17 @@ void Lowering::TreeNodeInfoInitStoreLoc(GenTreeLclVarCommon* storeLoc) // Call node srcCandidates = Bitwise-OR(allregs(GetReturnRegType(i))) for all i=0..RetRegCount-1 regMaskTP srcCandidates = m_lsra->allMultiRegCallNodeRegs(call); op1->gtLsraInfo.setSrcCandidates(m_lsra, srcCandidates); - return; } - - CheckImmedAndMakeContained(storeLoc, op1); +#if defined(_TARGET_ARM_) + else if (op1->OperGet() == GT_LONG) + { + op1->SetContained(); + } +#endif // _TARGET_ARM_ + else + { + CheckImmedAndMakeContained(storeLoc, op1); + } } //------------------------------------------------------------------------ @@ -674,6 +681,7 @@ void Lowering::TreeNodeInfoInitPutArgStk(GenTreePutArgStk* argNode, fgArgTabEntr { // We consume all of the items in the GT_FIELD_LIST argNode->gtLsraInfo.srcCount = info->numSlots; + putArgChild->SetContained(); } else { |