Proposed fix for dotnet/coreclr#5264
authorBrian Sullivan <briansul@microsoft.com>
Fri, 27 May 2016 01:52:09 +0000 (18:52 -0700)
committerBrian Sullivan <briansul@microsoft.com>
Fri, 27 May 2016 01:52:09 +0000 (18:52 -0700)
Commit migrated from https://github.com/dotnet/coreclr/commit/4f5dc5cfc2b94b8e6bb0cf763c57d2bf2dfd1342

src/coreclr/src/jit/importer.cpp

index 147853c..3573584 100755 (executable)
@@ -13975,8 +13975,8 @@ bool Compiler::impReturnInstruction(BasicBlock *block, int prefixFlags, OPCODE &
                 // TODO-ARM64-NYI: HFA
                 // TODO-AMD64-Unix and TODO-ARM once the ARM64 functionality is implemented the
                 // next ifdefs could be refactored in a single method with the ifdef inside.
-#if FEATURE_MULTIREG_RET
-#if defined(FEATURE_HFA)
+#if defined(_TARGET_ARM_) || defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
+#if defined(_TARGET_ARM_)
                 if (IsHfa(retClsHnd))
                 {
                     // Same as !IsHfa but just don't bother with impAssignStructPtr.
@@ -13997,7 +13997,7 @@ bool Compiler::impReturnInstruction(BasicBlock *block, int prefixFlags, OPCODE &
                     {
                         if (!impInlineInfo->retExpr)
                         {
-#if defined(FEATURE_HFA)
+#if defined(_TARGET_ARM_)
                             impInlineInfo->retExpr = gtNewLclvNode(lvaInlineeReturnSpillTemp, info.compRetType);
 #else // defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
                             // The inlinee compiler has figured out the type of the temp already. Use it here.
@@ -14027,7 +14027,7 @@ bool Compiler::impReturnInstruction(BasicBlock *block, int prefixFlags, OPCODE &
                     }
                 }
                 else
-#endif // FEATURE_MULTIREG_RET
+#endif // defined(_TARGET_ARM64_)
                 {
                     assert(iciCall->AsCall()->HasRetBufArg());
                     GenTreePtr dest = gtCloneExpr(iciCall->gtCall.gtCallArgs->gtOp.gtOp1);