RyuJIT/ARM32: Fix lvOnFrame for struct args.
authorMikhail Skvortcov <m.skvortcov@partner.samsung.com>
Wed, 15 Mar 2017 17:16:30 +0000 (20:16 +0300)
committerMikhail Skvortcov <m.skvortcov@partner.samsung.com>
Thu, 16 Mar 2017 10:57:01 +0000 (13:57 +0300)
Commit migrated from https://github.com/dotnet/coreclr/commit/c653796983db4dbe10c238a7b5d97640c7c76baf

src/coreclr/src/jit/lclvars.cpp
src/coreclr/src/jit/lsraarm.cpp

index e0d7d51..111ae91 100644 (file)
@@ -676,11 +676,6 @@ void Compiler::lvaInitUserArgs(InitVarDscInfo* varDscInfo)
                 codeGen->regSet.rsMaskPreSpillRegArg |= regMask;
             }
         }
-        else
-        {
-            varDsc->lvOnFrame = true; // The final home for this incoming register might be our local stack frame
-        }
-
 #else // !_TARGET_ARM_
 #if defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
         SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR structDesc;
@@ -722,13 +717,12 @@ void Compiler::lvaInitUserArgs(InitVarDscInfo* varDscInfo)
             }
         }
 #endif // FEATURE_UNIX_AMD64_STRUCT_PASSING
+#endif // !_TARGET_ARM_
 
         // The final home for this incoming register might be our local stack frame.
         // For System V platforms the final home will always be on the local stack frame.
         varDsc->lvOnFrame = true;
 
-#endif // !_TARGET_ARM_
-
         bool canPassArgInRegisters = false;
 
 #if defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
index 3a2206b..b39bd83 100644 (file)
@@ -897,7 +897,6 @@ void Lowering::TreeNodeInfoInit(GenTree* tree)
     JITDUMP("TreeNodeInfoInit for: ");
     DISPNODE(tree);
 
-    NYI_IF(tree->TypeGet() == TYP_STRUCT, "lowering struct");
     NYI_IF(tree->TypeGet() == TYP_DOUBLE, "lowering double");
 
     switch (tree->OperGet())
@@ -1340,11 +1339,6 @@ void Lowering::TreeNodeInfoInit(GenTree* tree)
         case GT_LCL_FLD_ADDR:
         case GT_LCL_VAR:
         case GT_LCL_VAR_ADDR:
-        {
-            unsigned   varNum = tree->gtLclVarCommon.gtLclNum;
-            LclVarDsc* varDsc = comp->lvaTable + varNum;
-            NYI_IF(varTypeIsStruct(varDsc), "lowering struct var");
-        }
         case GT_PHYSREG:
         case GT_CLS_VAR_ADDR:
         case GT_IL_OFFSET: