diff options
author | Eugene Rozenfeld <erozen@microsoft.com> | 2019-01-29 11:26:49 -0800 |
---|---|---|
committer | Eugene Rozenfeld <erozen@microsoft.com> | 2019-01-30 14:10:49 -0800 |
commit | 4070994640bcc2c4c138b6f695d3fce14ea3efe7 (patch) | |
tree | 3f2bc61d4bec7bc503fb0c7fda3fed92898a1fc3 /src/jit/gentree.cpp | |
parent | 91e1ffccc38fc87f6f496eb056396a1b775f08af (diff) | |
download | coreclr-4070994640bcc2c4c138b6f695d3fce14ea3efe7.tar.gz coreclr-4070994640bcc2c4c138b6f695d3fce14ea3efe7.tar.bz2 coreclr-4070994640bcc2c4c138b6f695d3fce14ea3efe7.zip |
Remove GTF_ADDR_ONSTACK and IsVarAddr.
IsVarAddr was checking GTF_ADDR_ONSTACK to determine if
the GT_ADDR node is an address of a local. This change removes both
GTF_ADDR_ONSTACK and IsVarAddr and uses IsLocalAdrExpr instead.
IsLocalAddrExpr uses opcodes to determine if GT_ADDR node is
a local address.
GTF_ADDR_ONSTACK flag is ancient, added before 2002 so I couldn't find
the checkin that introduced it.
I changed the assert to a check and an assignment since simplifications
inside fgMorphArgs between
https://github.com/dotnet/coreclr/blob/1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3709
(which causes https://github.com/dotnet/coreclr/blob/1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3057)
and
https://github.com/dotnet/coreclr/blob/1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3790
may result in more GT_ADDR nodes recognized by IsLocalAdrExpr.
x86 and x64 pmi frameworks had no code diffs and some gcinfo reductions
(15 methods with gcinfo diffs in x86).
Fixes #22190.
Diffstat (limited to 'src/jit/gentree.cpp')
-rw-r--r-- | src/jit/gentree.cpp | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/jit/gentree.cpp b/src/jit/gentree.cpp index d1e129853b..0c984bbe12 100644 --- a/src/jit/gentree.cpp +++ b/src/jit/gentree.cpp @@ -9456,15 +9456,6 @@ void Compiler::gtDispNode(GenTree* tree, IndentStack* indentStack, __in __in_z _ } goto DASH; - case GT_ADDR: - if (tree->gtFlags & GTF_ADDR_ONSTACK) - { - printf("L"); - --msgLength; - break; - } // L means LclVar - goto DASH; - case GT_LCL_FLD: case GT_LCL_VAR: case GT_LCL_VAR_ADDR: |