Fixes for Zero Offset field sequence tracking
authorBrian Sullivan <briansul@microsoft.com>
Tue, 16 Apr 2019 16:52:11 +0000 (09:52 -0700)
committerBrian Sullivan <briansul@microsoft.com>
Fri, 19 Apr 2019 23:50:05 +0000 (16:50 -0700)
commit75ae3b5b05f4ab9639fbc24871aafdc7d706c35f
tree74af295171dfb83b4c6a978af7d3f42c8aa285c3
parent6a7bf9c3af1d3d6e78d7247eef07c48c89a57112
Fixes for Zero Offset field sequence tracking
 - A GT_LCL_VAR may have a zeroOffset field
 - Add an assert to prevent building field sequences with duplicates
 - Fix fgMorphField when we have a zero offset field
Improve fgAddFieldSeqForZeroOffset
 - Add JItDump info
 - Handle GT_LCL_FLD

Changing the sign of an int constant also remove any field sequence information.

Added method header comment for fgAddFieldSeqForZeroOffset

Changed when we call fgAddFieldSeqForZeroOffset to be before the call to fgMorphSmpOp.

Prefer calling fgAddFieldSeqForZeroOffset() to GetZeroOffsetFieldMap()->Set()
src/jit/compiler.hpp
src/jit/gentree.cpp
src/jit/importer.cpp
src/jit/morph.cpp
src/jit/optcse.cpp
src/jit/valuenum.cpp