Refactor call arg table updates.
authorPat Gavlin <pagavlin@microsoft.com>
Tue, 13 Sep 2016 20:42:14 +0000 (13:42 -0700)
committerPat Gavlin <pagavlin@microsoft.com>
Thu, 15 Sep 2016 23:25:13 +0000 (16:25 -0700)
commite39f7c49112c31032445ebfbfc3cefd10532a03e
tree8465520d847f39242217c3ec3b3934d1923cf4ad
parent526c47bc734cc610fd1a1a070f46390c9ddb5962
Refactor call arg table updates.

When a call argument is replaced by a new node, the corresponding entry
in the call's argument table must be replaced. Managing this replacement
was a bit ad-hoc: there were a (small) number of places throughout the
compiler that needed to do so, and each determined whether or not to
call the udpate method (`fgFixupArgTabEntryPtr`) independently. The
update method has been removed and its functionality replaced with a
new method, `GenTree::ReplaceOperand`, which will update the call
argument table iff the replaced node is a call argument.

Commit migrated from https://github.com/dotnet/coreclr/commit/8ebb1d54583d0ebc03235e78e51f3026fbb7e4d3
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/gentree.cpp
src/coreclr/src/jit/gentree.h
src/coreclr/src/jit/lir.cpp
src/coreclr/src/jit/lower.cpp
src/coreclr/src/jit/rationalize.cpp