diff options
author | mikedn <onemihaid@hotmail.com> | 2018-09-06 23:28:15 +0300 |
---|---|---|
committer | Sergey Andreenko <seandree@microsoft.com> | 2018-09-06 13:28:15 -0700 |
commit | 1d885d32db50e8ee931d0d9fbd1081bfbb7ce271 (patch) | |
tree | 54c5d4f564bc4e8695d2993ec7f2958a0823fe02 /src/jit/valuenum.cpp | |
parent | de7ea8c4307b8d0b9be7c3427e1ccfeb926e38a8 (diff) | |
download | coreclr-1d885d32db50e8ee931d0d9fbd1081bfbb7ce271.tar.gz coreclr-1d885d32db50e8ee931d0d9fbd1081bfbb7ce271.tar.bz2 coreclr-1d885d32db50e8ee931d0d9fbd1081bfbb7ce271.zip |
Remove unused GenTree flags (#19840)
GTF_IND_ARR_LEN was set by the importer in minopts/debug mode and used only by value numbering, which does not run in minopts/debug mode.
GTF_FLD_NULLCHECK was also set by the importer and not used anywhere. fgMorphField has its own opinion about when an explicit null check is needed.
Diffstat (limited to 'src/jit/valuenum.cpp')
-rw-r--r-- | src/jit/valuenum.cpp | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/jit/valuenum.cpp b/src/jit/valuenum.cpp index 8c4f436ce8..a183ad68d2 100644 --- a/src/jit/valuenum.cpp +++ b/src/jit/valuenum.cpp @@ -6973,40 +6973,6 @@ void Compiler::fgValueNumberTree(GenTree* tree) fgValueNumberArrIndexVal(tree, elemTypeEq, arrVN, inxVN, addrXvnp.GetLiberal(), fldSeq); } } - else if (tree->gtFlags & GTF_IND_ARR_LEN) - { - // It's an array length. The argument is the sum of an array ref with some integer values... - ValueNum arrRefLib = vnStore->VNForRefInAddr(tree->gtOp.gtOp1->gtVNPair.GetLiberal()); - ValueNum arrRefCons = vnStore->VNForRefInAddr(tree->gtOp.gtOp1->gtVNPair.GetConservative()); - - assert(vnStore->TypeOfVN(arrRefLib) == TYP_REF || vnStore->TypeOfVN(arrRefLib) == TYP_BYREF); - if (vnStore->IsVNConstant(arrRefLib)) - { - // (or in weird cases, a REF or BYREF constant, in which case the result is an exception). - tree->gtVNPair.SetLiberal( - vnStore->VNWithExc(ValueNumStore::VNForVoid(), - vnStore->VNExcSetSingleton( - vnStore->VNForFunc(TYP_REF, VNF_NullPtrExc, arrRefLib)))); - } - else - { - tree->gtVNPair.SetLiberal(vnStore->VNForFunc(TYP_INT, VNFunc(GT_ARR_LENGTH), arrRefLib)); - } - assert(vnStore->TypeOfVN(arrRefCons) == TYP_REF || vnStore->TypeOfVN(arrRefCons) == TYP_BYREF); - if (vnStore->IsVNConstant(arrRefCons)) - { - // (or in weird cases, a REF or BYREF constant, in which case the result is an exception). - tree->gtVNPair.SetConservative( - vnStore->VNWithExc(ValueNumStore::VNForVoid(), - vnStore->VNExcSetSingleton( - vnStore->VNForFunc(TYP_REF, VNF_NullPtrExc, arrRefCons)))); - } - else - { - tree->gtVNPair.SetConservative(vnStore->VNForFunc(TYP_INT, VNFunc(GT_ARR_LENGTH), arrRefCons)); - } - } - // In general we skip GT_IND nodes on that are the LHS of an assignment. (We labeled these earlier.) // We will "evaluate" this as part of the assignment. else if ((tree->gtFlags & GTF_IND_ASG_LHS) == 0) |