[polly] r214665 - Do allow negative offsets in the outermost array dimension

Tobias Grosser tobias at grosser.es
Sun Aug 3 23:33:39 PDT 2014


On 04/08/2014 06:39, Johannes Doerfert wrote:
> Hi Tobias,
>
> I just tried another test case and I think we removed the constrained on
> the "wrong" side (inner vs. outer). You can also look at:
>
> test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
>
> What do you think?

It is not obvious to me. The above test case looks as follows:

+; void foo(long n, long m, long o, double A[n][m][o]) {
+;
+;   for (long i = 0; i < 100; i++)
+;     for (long j = 0; j < 150; j++)
+;       for (long k = 0; k < 200; k++)
+;         A[i][j][k] = 1.0;
+; }

The constraints we derive are:

+; CHECK:   [m, o] -> {  : m >= 150 and o >= 200 }

Those are on the inner dimensions exactly as I expect.

What kind of constraints would you expect?

Tobias



More information about the llvm-commits mailing list