// we are storing arg slot number in GT_PUTARG_STK node in lowering phase.
unsigned argOffsetOut = treeNode->getArgOffset();
-#ifdef DEBUG
- CallArg* callArg = treeNode->gtCall->gtArgs.FindByNode(treeNode);
- assert(callArg != nullptr);
- DEBUG_ARG_SLOTS_ASSERT(argOffsetOut == (callArg->AbiInfo.SlotNum * TARGET_POINTER_SIZE));
-#endif // DEBUG
-
// Whether to setup stk arg in incoming or out-going arg area?
// Fast tail calls implemented as epilog+jmp = stk arg is setup in incoming arg area.
// All other calls - stk arg is setup in out-going arg area.
ind->ChangeType(comp->gtTypeForNullCheck(ind));
-#ifdef TARGET_ARM64
+#if defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64)
bool useNullCheck = true;
#elif TARGET_ARM
bool useNullCheck = false;
GenTree* argNode = arg.GetEarlyNode();
// Skip arguments that have been moved to the Late Arg list
- if ((argNode->gtFlags & GTF_LATE_ARG) == 0)
+ if (arg.GetLateNode() == nullptr)
{
#if FEATURE_ARG_SPLIT
// PUTARG_SPLIT nodes must be in the gtCallLateArgs list, since they