From f33ad27396eb79aee1dc8d51974bac1a8ecae716 Mon Sep 17 00:00:00 2001 From: jashook Date: Mon, 6 Feb 2017 18:01:24 -0800 Subject: [PATCH] Call LowerBlockStore TreeNodeInfoInitBlockStore For arm64 call LowerBlockStore before TreeNodeInfoInitBlockStore as done on other architectures. Commit migrated from https://github.com/dotnet/coreclr/commit/db88095a97e71b18cfc510c811eae2ca290cce09 --- src/coreclr/src/jit/lsraarm64.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/coreclr/src/jit/lsraarm64.cpp b/src/coreclr/src/jit/lsraarm64.cpp index 3e99e2f..e58c23a 100644 --- a/src/coreclr/src/jit/lsraarm64.cpp +++ b/src/coreclr/src/jit/lsraarm64.cpp @@ -504,6 +504,7 @@ void Lowering::TreeNodeInfoInit(GenTree* tree) case GT_STORE_BLK: case GT_STORE_OBJ: case GT_STORE_DYN_BLK: + LowerBlockStore(tree->AsBlk()); TreeNodeInfoInitBlockStore(tree->AsBlk()); break; @@ -1256,7 +1257,6 @@ void Lowering::TreeNodeInfoInitBlockStore(GenTreeBlk* blkNode) // The helper follows the regular ABI. dstAddr->gtLsraInfo.setSrcCandidates(l, RBM_ARG_0); initVal->gtLsraInfo.setSrcCandidates(l, RBM_ARG_1); - blkNode->gtBlkOpKind = GenTreeBlk::BlkOpKindHelper; if (size != 0) { // Reserve a temp register for the block size argument. @@ -1333,7 +1333,6 @@ void Lowering::TreeNodeInfoInitBlockStore(GenTreeBlk* blkNode) GenTree* blockSize = blkNode->AsDynBlk()->gtDynamicSize; blockSize->gtLsraInfo.setSrcCandidates(l, RBM_ARG_2); } - blkNode->gtBlkOpKind = GenTreeBlk::BlkOpKindHelper; } if (internalIntCount != 0) { -- 2.7.4