Over-approximated iteration domain for generated AST for a given schedule map

16 views
Skip to first unread message

Vimal Patel

unread,
Jan 27, 2026, 5:06:45 AM (6 days ago) Jan 27
to isl Development
For a particular schedule, the AST we are getting is not as efficient as expected, and the iteration domain is larger than expected. I was wondering if it's possible to get AST with an exact iteration domain in this case.

Consider the following Schedule:
```
    [p0] -> {
        C0[i0] -> [o0] :
        exists (
            e0 = floor((-1 + 32p0 - i0)/64) :
            o0 = i0 and
            64e0 >= -64 + 32p0 - i0 and
            64e0 <= -33 + 32p0 - i0 and
            p0 >= 0 and p0 <= 127 and
            i0 <= 63 and i0 >= 0
        )
    }
```

The AST generated for this schedule is not as exact as possible. See below:
```  
if (p0 >= 0 && p0 <= 127)
  for (int c0 = 0; c0 <= 63; c0 += 1)
    if (32 * p0 >= c0 + 64 * floord(32 * p0 - c0 - 1, 64) + 33)
      C0(c0);
```

Is it possible to get the following AST instead?
```
if (p0 >= 0 && p0 <= 127)
  for (int c0 = 32 * (p0 % 2); c0 <= 32 * (p0 % 2) + 31; c0 += 1)
    ();
```

ISL version used: isl-0.25-4-gbc0b9ac1-GMP

I really appreciate any suggestions on this issue.

Thanks,
Vimal Patel

Sven Verdoolaege

unread,
Jan 27, 2026, 5:04:40 PM (5 days ago) Jan 27
to Vimal Patel, isl Development
On Tue, Jan 27, 2026 at 02:06:44AM -0800, Vimal Patel wrote:
> *ISL version used:* isl-0.25-4-gbc0b9ac1-GMP

I don't have access to this version.

> I really appreciate any suggestions on this issue.

Use isl-0.27-68-g3349530943 or newer.

skimo

Vimal Patel

unread,
Jan 27, 2026, 10:36:00 PM (5 days ago) Jan 27
to isl Development
Thanks, Sven. Tried the latest commit and it works as expected.
Reply all
Reply to author
Forward
0 new messages