Improve DCE in liveness.
authorPat Gavlin <pagavlin@microsoft.com>
Mon, 17 Jul 2017 16:55:36 +0000 (09:55 -0700)
committerPat Gavlin <pagavlin@microsoft.com>
Fri, 18 Aug 2017 21:07:37 +0000 (14:07 -0700)
commit717b11a2d1f9af5d8204ba179a67131fbdfd739a
tree45f435ae82dffdb66b2fe4848e9cec3ecff8c04a
parent8274c8cb7aebe9a8cc8527989fd8503ece28a246
Improve DCE in liveness.

In particular:
- Rather than only removing dead code as part of dead store removal,
  remove all side-effect-free nodes that either do not produce a value
  or produce a value that is unused.
- When optimizing, set `fgStmtRemoved` in order to indicate that tracked
  lclVar uses or defs have been removed and liveness may need to be
  recalculated. Previously this flag was only set upon eliminating a
  dead store.
src/jit/codegenxarch.cpp
src/jit/compiler.cpp
src/jit/compiler.h
src/jit/decomposelongs.cpp
src/jit/gentree.cpp
src/jit/gentree.h
src/jit/liveness.cpp
src/jit/lower.cpp
src/jit/lowerxarch.cpp