summaryrefslogtreecommitdiff
path: root/src/jit/gentree.cpp
diff options
context:
space:
mode:
authorEugene Rozenfeld <erozen@microsoft.com>2019-01-29 11:26:49 -0800
committerEugene Rozenfeld <erozen@microsoft.com>2019-01-30 14:10:49 -0800
commit4070994640bcc2c4c138b6f695d3fce14ea3efe7 (patch)
tree3f2bc61d4bec7bc503fb0c7fda3fed92898a1fc3 /src/jit/gentree.cpp
parent91e1ffccc38fc87f6f496eb056396a1b775f08af (diff)
downloadcoreclr-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.cpp9
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: