Track single def locals in importer (#21251)
authorAndy Ayers <andya@microsoft.com>
Thu, 29 Nov 2018 08:32:55 +0000 (00:32 -0800)
committerGitHub <noreply@github.com>
Thu, 29 Nov 2018 08:32:55 +0000 (00:32 -0800)
commit40bf810b5cb83ba45008f9f8c12a4e3d46eb6832
tree68ed785de169b0ac5330ecb3832a166e0e5bdaef
parent0a0bcebae483b434c70875707c0eb1a493eb2e66
Track single def locals in importer (#21251)

* Defer setting lvSingleDef until lvaMarkLocalVars

Since this information isn't used early on in the jit, defer setting this bit
until later.

* Track single-def locals in the importer

and use this information to enable type updates during late devirtualization.
This gets some cases where the exact type materializes late (perhaps via a
chain of copies).
src/jit/compiler.h
src/jit/flowgraph.cpp
src/jit/importer.cpp
src/jit/lclvars.cpp