diff --git a/src/coreclr/jit/rangecheck.cpp b/src/coreclr/jit/rangecheck.cpp index 4b372fa3b41017..9eb3fb8b12a2e9 100644 --- a/src/coreclr/jit/rangecheck.cpp +++ b/src/coreclr/jit/rangecheck.cpp @@ -511,6 +511,12 @@ bool RangeCheck::IsMonotonicallyIncreasing(GenTree* expr, bool rejectNegativeCon { JITDUMP("[RangeCheck::IsMonotonicallyIncreasing] [%06d]\n", Compiler::dspTreeID(expr)); + if (IsOverBudget()) + { + return false; + } + m_nVisitBudget--; + // Add hashtable entry for expr. bool alreadyPresent = GetSearchPath()->Set(expr, nullptr, SearchPath::Overwrite); if (alreadyPresent) @@ -1789,6 +1795,13 @@ bool RangeCheck::ComputeDoesOverflow(BasicBlock* block, GenTree* expr, const Ran ValueNumStore* vnStore = m_compiler->vnStore; JITDUMP("Does overflow [%06d]?\n", Compiler::dspTreeID(expr)); + + if (IsOverBudget()) + { + return true; + } + m_nVisitBudget--; + GetSearchPath()->Set(expr, block, SearchPath::Overwrite); bool overflows = true;