From 0892d49d73aa9613b03bf50e4a29c0def33d704c Mon Sep 17 00:00:00 2001 From: Carol Eidt Date: Wed, 21 Sep 2016 11:12:45 -0700 Subject: [PATCH] Fix Arm64 codegen to use GT_FIELD_LIST In dotnet/coreclr#7252 changing GT_LIST to GT_FIELD_LIST when passing struct fields, I omitted some required changes to codegenarm64.cpp. This caused the crossgen of System.Private.CoreLib.dll to fail. Commit migrated from https://github.com/dotnet/coreclr/commit/c26da4558d0ce18e265a460f7a857e13fa019364 --- src/coreclr/src/jit/codegenarm64.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/coreclr/src/jit/codegenarm64.cpp b/src/coreclr/src/jit/codegenarm64.cpp index 8865799..742e0dfe 100644 --- a/src/coreclr/src/jit/codegenarm64.cpp +++ b/src/coreclr/src/jit/codegenarm64.cpp @@ -5333,7 +5333,7 @@ void CodeGen::genCallInstruction(GenTreePtr node) continue; // Deal with multi register passed struct args. - if (argNode->OperGet() == GT_LIST) + if (argNode->OperGet() == GT_FIELD_LIST) { GenTreeArgList* argListPtr = argNode->AsArgList(); unsigned iterationNum = 0; @@ -6760,7 +6760,7 @@ void CodeGen::genPutArgStk(GenTreePtr treeNode) varNumOut = compiler->lvaOutgoingArgSpaceVar; argOffsetMax = compiler->lvaOutgoingArgSpaceSize; } - bool isStruct = (targetType == TYP_STRUCT) || (source->OperGet() == GT_LIST); + bool isStruct = (targetType == TYP_STRUCT) || (source->OperGet() == GT_FIELD_LIST); if (!isStruct) // a normal non-Struct argument { -- 2.7.4