From 2b50e97ca32e734dab00f9b8e1d3d7ef5a8f60d5 Mon Sep 17 00:00:00 2001 From: Sergey Andreenko Date: Thu, 2 Nov 2017 20:08:27 -0700 Subject: [PATCH] fix (#14837) GTF_RET means that this flag is valid only for GTF_RET node, but this check was missed. The issue was in collision between GTF_RET_MERGED and GTF_CALL_UNMANAGED. --- src/jit/morph.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jit/morph.cpp b/src/jit/morph.cpp index 9d6d0d3..a881d34 100644 --- a/src/jit/morph.cpp +++ b/src/jit/morph.cpp @@ -16882,7 +16882,7 @@ void Compiler::fgMorphBlocks() GenTreePtr last = (block->bbTreeList != nullptr) ? block->bbTreeList->gtPrev : nullptr; GenTreePtr ret = (last != nullptr) ? last->gtStmt.gtStmtExpr : nullptr; - if ((ret != nullptr) && ((ret->gtFlags & GTF_RET_MERGED) != 0)) + if ((ret != nullptr) && (ret->OperGet() == GT_RETURN) && ((ret->gtFlags & GTF_RET_MERGED) != 0)) { // This return was generated during epilog merging, so leave it alone } -- 2.7.4