Fix CSE bug with GT_MUL and GTF_MUL_64RSLT
authorBruce Forstall <brucefo@microsoft.com>
Wed, 22 Mar 2017 23:21:04 +0000 (16:21 -0700)
committerBruce Forstall <brucefo@microsoft.com>
Wed, 22 Mar 2017 23:21:04 +0000 (16:21 -0700)
commit983b2870e342e201dceeb6a1c8850783433a718b
tree85f28eddb165ed1873a854414c162a96aed3c2da
parent231f28ed280fdbfc4853de778fce61aa4f997a0c
Fix CSE bug with GT_MUL and GTF_MUL_64RSLT

Unconditionally set op1 and op2 as GTF_DONT_CSE.
Previously, this was only done if the cast was not
a GT_NOP. It is possible for it already to come in
as GT_NOP, thus leading to the possibility to CSE
the operand, and leading to this assert firing:
```
assert(tree->gtIsValid64RsltMul());
```

Commit migrated from https://github.com/dotnet/coreclr/commit/f401bfc49f96c12d90ec63bd4d4ef74d0cd998e6
src/coreclr/src/jit/morph.cpp