ignore GT_ARGPLACE before gtUseNum check. (#14233)
authorSergey Andreenko <seandree@microsoft.com>
Thu, 28 Sep 2017 23:16:06 +0000 (16:16 -0700)
committerGitHub <noreply@github.com>
Thu, 28 Sep 2017 23:16:06 +0000 (16:16 -0700)
src/jit/codegenlinear.cpp

index 657d779..1ee288b 100644 (file)
@@ -1112,7 +1112,6 @@ void CodeGen::genConsumeRegAndCopy(GenTree* node, regNumber needReg)
 void CodeGen::genNumberOperandUse(GenTree* const operand, int& useNum) const
 {
     assert(operand != nullptr);
-    assert(operand->gtUseNum == -1);
 
     // Ignore argument placeholders.
     if (operand->OperGet() == GT_ARGPLACE)
@@ -1120,6 +1119,8 @@ void CodeGen::genNumberOperandUse(GenTree* const operand, int& useNum) const
         return;
     }
 
+    assert(operand->gtUseNum == -1);
+
     if (!operand->isContained() && !operand->IsCopyOrReload())
     {
         operand->gtUseNum = useNum;