Allow uncontained GT_LONG nodes
authorMike Danes <onemihaid@hotmail.com>
Fri, 1 Jul 2016 19:54:04 +0000 (22:54 +0300)
committerMike Danes <onemihaid@hotmail.com>
Sat, 2 Jul 2016 05:07:00 +0000 (08:07 +0300)
commit084d979e5a06486ce62e1354fe0e01e0db7cee6c
tree61c90da2a0fcba3e8d1131ee03861633543e03d8
parent5572a7762e64b1034d566313d69051eb9dc23ecd
Allow uncontained GT_LONG nodes

When the result of a TYP_LONG operation is not used the GT_LONG node inserted during decomposition remains in the tree and unlike other GT_LONG nodes is not contained and needs special handling.

This usually happens with arithmetic operations that require overflow checks,  the result of the operation may be ignored but the operation itself cannot be eliminated because it has a side-effect.

Commit migrated from https://github.com/dotnet/coreclr/commit/6f8f2154825b1cf17fbbba8ccb365069e2d7d15f
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/gentree.cpp
src/coreclr/src/jit/lowerxarch.cpp