diff options
Diffstat (limited to 'src/jit/compiler.h')
-rw-r--r-- | src/jit/compiler.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/jit/compiler.h b/src/jit/compiler.h index 78b9635dce..916c96f2ee 100644 --- a/src/jit/compiler.h +++ b/src/jit/compiler.h @@ -4670,6 +4670,8 @@ private: void fgSetRngChkTarget(GenTreePtr tree, bool delay = true); + BasicBlock* fgSetRngChkTargetInner(SpecialCodeKind kind, bool delay, unsigned* stkDepth); + #if REARRANGE_ADDS void fgMoveOpsLeft(GenTreePtr tree); #endif @@ -9329,6 +9331,26 @@ public: return compRoot->m_arrayInfoMap; } + inline bool TryGetArrayInfo(GenTreeIndir* indir, ArrayInfo* arrayInfo) + { + if ((indir->gtFlags & GTF_IND_ARR_INDEX) == 0) + { + return false; + } + + if (indir->gtOp1->OperIs(GT_INDEX_ADDR)) + { + GenTreeIndexAddr* const indexAddr = indir->gtOp1->AsIndexAddr(); + *arrayInfo = ArrayInfo(indexAddr->gtElemType, indexAddr->gtElemSize, indexAddr->gtElemOffset, + indexAddr->gtStructElemClass); + return true; + } + + bool found = GetArrayInfoMap()->Lookup(indir, arrayInfo); + assert(found); + return true; + } + NodeToUnsignedMap* m_memorySsaMap[MemoryKindCount]; // In some cases, we want to assign intermediate SSA #'s to memory states, and know what nodes create those memory |