Fix a few errors in cast decomposition.
authorPat Gavlin <pagavlin@microsoft.com>
Mon, 10 Apr 2017 23:26:17 +0000 (16:26 -0700)
committerPat Gavlin <pagavlin@microsoft.com>
Mon, 10 Apr 2017 23:26:17 +0000 (16:26 -0700)
commitca9ce5fb59540f4a46952a1c807d7d397532c4b8
tree5481ba02fa2188824f039c91839cf6eda47d200e
parent80423b67b16f563bbcb281f996c7b5cdee96093a
Fix a few errors in cast decomposition.

The cursor was not guaranteed to be in the correct location after cast
decomposition due to the location in which the high result was typically
placed. This mispositioning can cause re-decomposition, which can lead
to asserts e.g. when encountering a GT_LONG node that was left behind by
a previously-decomposed node. This change ensures that the high result
immediately follows the cast node so that the cursor will be in the
correct location following decomposition of the cast.
src/jit/decomposelongs.cpp
tests/src/JIT/Regression/JitBlue/DevDiv_406156/DevDiv_406156.il [new file with mode: 0644]
tests/src/JIT/Regression/JitBlue/DevDiv_406156/DevDiv_406156.ilproj [new file with mode: 0644]