You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support loop cloning with non-int iteration variables #85552
Activity
BruceForstall commentedon May 1, 2023
For the
longiteration var case, there are (at least) these additional things:The array length node
ARR_LENGTHhas a cast on top, whichCompiler::optExtractArrIndex()doesn't recognize:The iteration variable is expected to be
TYP_INTinCompiler::optCheckIterInLoopTest().Compiler::optDeriveLoopCloningConditions()requires theinitLclvar to beTYP_INT.LC_Identconstants are assumed to beTYP_INT.LC_Condition::ToGenTree()assumesTYP_INT.LC_Array::ToGenTree()usesgtNewArrLen(TYP_INT,...), which is correct, but we need to re-insert the cast up to LONG if necessary.