How to generate a region from for loop iter var and predicate?

now I have a block like this after

and I want to generate a region also consider the region in perdicate. but GetBlockReadWriteRegion function only generate bufferRegion via for loop and how can I let the var i2_6 region via perdicate?

def estimate_region_lower_bound(region, var_dom, predicate):
    """Analyze the region with affine map, given the domain of variables and their predicate

    Parameters
    ----------
    region : List[Range]
        The region to be analyzed.

    var_dom : Dict[Var, Range]
        The ranges of the variables

    predicate : PrimExpr
        The predicate for the affine map

    Returns
    ----------
    region_int_set : Optional[List[IntSet]]
        None if the detection fails, or an array of IntSets as the result of analysis
    """

Perhaps this interface can help the purpose.

CC @Hzfengsy if you want to take a look :slight_smile: