Do not replace assign LHS in gtCloneExpr
authorJoseph Tremoulet <jotrem@microsoft.com>
Fri, 14 Oct 2016 17:34:45 +0000 (13:34 -0400)
committerJoseph Tremoulet <jotrem@microsoft.com>
Fri, 4 Nov 2016 14:42:44 +0000 (10:42 -0400)
commit85559d607577c88d17d45d53f270f78e09b39f7d
tree62d8445cecda505ee815433dd0ea529e36557dff
parentbef31b0d0ffe49f98640d445d0a9f3bf2c015aa7
Do not replace assign LHS in gtCloneExpr

Split the var/val parameters into two sets -- one for the current level of
recursion, the other for deeper levels.  Use this to suppress one level of
replacement when recursing to the LHS of an assign.  This both avoids
creating nonsensical assign-to-immediate trees and allows replacing uses
of the given var while leaving defs in the code.
src/jit/compiler.h
src/jit/gentree.cpp