[Arith] Fix dom_map var leak in IntervalSet relaxation#19962
[Arith] Fix dom_map var leak in IntervalSet relaxation#19962guan404ming wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request prevents variables being relaxed out from leaking outside their scope by ensuring that preserved parametric bounds do not reference them. A helper lambda f_depends_on_relaxed is introduced in IntervalSetEvaluator to check for these dependencies, and a corresponding unit test has been added to verify this behavior. There are no review comments, so no additional feedback is provided.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
5ca0495 to
f252030
Compare
|
i think we are moving towards a directly that over complicates things here i will do a separate followup |
|
Make sense, thanks @tqchen! |
Why
#19927 made
IntervalSetEvaluator::Eval(IntervalSet)keep the original parametric bound when relaxation loses it to infinity, even if that bound references a var being relaxed out. The leaked var reached allocation extents outside its scope, so compiling cumsum for CUDA crashed withvariable i has been used before definitionin CI.How
dom_map_var;dom_constraints_vars stay parametric, preserving the behavior [ARITH][TIR] Track positive loop extents in analyzer visitors #19927 intended.test_relax_does_not_leak_dom_map_vars, which fails without the fix.