Thanks for the quick response.
On Fri, May 1, 2026 at 7:10 PM Sven Verdoolaege
<
sven.ver...@telenet.be> wrote:
> The best approach is to _not_ linearize the 2D array, i.e.,
> to leave it at a[i][j].
I'd like to not touch the original input code which is linearized.
> In theory it would be possible for pet to attempt to delinearize
> the linearized accesses, but I don't think that's going to happen
> anytime soon.
> I believe Polly does perform some form of delinearization.
I'm thinking of implementing it myself. In theory, how could that be
handled? If you have time could you give me some pointers?
I had an idea I wanted to explore, but I came here to check first if
there is something I'm missing: I was working under the assumption
that the (quasi)affine isl sets/maps can't handle expressions such as
i*N+j i.e the rough image in my head about affine expressions is that
they are represented as a matrix, and each row is a constraint while
each column has a label which are N (and any other param) and i, j
(and any other iter) and "const", and the entry in the matrix under a
label is a constant multiplier of the param/iterator of the
corresponding row/constraint, ergo i*N is not a label and it's not a
constant multiplier of either i or N so it is not a valid term in an
affine set/map. So I thought that maybe PET could return qpolinomials
as the read/write access relations and modify the compute flow
function in isl to handle those.
And again, I don't know if this idea makse any sense... feedback would
be much appreciated.
Best,
E
--
Emil Vatai