diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2016-09-09 14:59:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-09 14:59:09 -0700 |
commit | cf251889bb85b807b8661311980dd1be462dbe73 (patch) | |
tree | e7a92c46680d292573f675d3f87ee27aef38ae8a | |
parent | ff53de3231bcd43e077f6a446c01520c2ed1bbea (diff) | |
parent | c16b6bc96c1aa1edd9a3085a12f12a9df4169da5 (diff) | |
download | coreclr-cf251889bb85b807b8661311980dd1be462dbe73.tar.gz coreclr-cf251889bb85b807b8661311980dd1be462dbe73.tar.bz2 coreclr-cf251889bb85b807b8661311980dd1be462dbe73.zip |
Merge pull request #7120 from BruceForstall/Fix7093
Fix #7093
-rw-r--r-- | src/jit/flowgraph.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/jit/flowgraph.cpp b/src/jit/flowgraph.cpp index 89b1c46c79..9458967d25 100644 --- a/src/jit/flowgraph.cpp +++ b/src/jit/flowgraph.cpp @@ -19810,15 +19810,32 @@ Compiler::fgWalkResult Compiler::fgStress64RsltMulCB(GenTreePtr* pTree, fgW if (tree->gtOper != GT_MUL || tree->gtType != TYP_INT || (tree->gtOverflow())) { return WALK_CONTINUE; -} + } + +#ifdef DEBUG + if (pComp->verbose) + { + printf("STRESS_64RSLT_MUL before:\n"); + pComp->gtDispTree(tree); + } +#endif // DEBUG // To ensure optNarrowTree() doesn't fold back to the original tree. + tree->gtOp.gtOp1 = pComp->gtNewCastNode(TYP_LONG, tree->gtOp.gtOp1, TYP_LONG); tree->gtOp.gtOp1 = pComp->gtNewOperNode(GT_NOP, TYP_LONG, tree->gtOp.gtOp1); tree->gtOp.gtOp1 = pComp->gtNewCastNode(TYP_LONG, tree->gtOp.gtOp1, TYP_LONG); - tree->gtOp.gtOp2 = pComp->gtNewCastNode(TYP_LONG, tree->gtOp.gtOp2, TYP_LONG); + tree->gtOp.gtOp2 = pComp->gtNewCastNode(TYP_LONG, tree->gtOp.gtOp2, TYP_LONG); tree->gtType = TYP_LONG; *pTree = pComp->gtNewCastNode(TYP_INT, tree, TYP_INT); +#ifdef DEBUG + if (pComp->verbose) + { + printf("STRESS_64RSLT_MUL after:\n"); + pComp->gtDispTree(*pTree); + } +#endif // DEBUG + return WALK_SKIP_SUBTREES; } @@ -19826,7 +19843,7 @@ void Compiler::fgStress64RsltMul() { if (!compStressCompile(STRESS_64RSLT_MUL, 20)) { return; -} + } fgWalkAllTreesPre(fgStress64RsltMulCB, (void*)this); } |