> It seems S_6 is now scheduled before S_4 which is surprising, as > dependences from S_4 to S_6 should prevent us from generating a schedule > that yields such a result. What is the schedule that you give to the isl ast > generator?
The schedule generated by the code, which uses variable k (It executes without errors): [k.0] -> { S_6[] -> [1] : exists (e0 = [(-1 + k.0)/4294967296]: 4294967296e0 <= -1 + k.0 and 4294967296e0 >= -2147483647 + k.0); S_4[i0] -> [0, i0, 0] : exists (e0 = [(-1 + k.0)/4294967296]: i0 >= 0 and 4294967296e0 <= -1 + k.0 and 4294967296e0 >= -4294967296 + k.0 and 4294967296e0 <= -1 + k.0 - i0 and i0 <= 2147483646) } The schedule generated by the code, which uses variable n: [n.0] -> { S_6[] -> [1] : exists (e0 = [(-1 + n.0)/4294967296]: 4294967296e0 <= -1 + n.0 and 4294967296e0 >= -2147483647 + n.0); S_4[i0] -> [0, i0, 0] : exists (e0 = [(-1 + n.0)/4294967296]: i0 >= 0 and 4294967296e0 <= -1 + n.0 and 4294967296e0 >= -4294967296 + n.0 and 4294967296e0 <= -1 + n.0 - i0 and i0 <= 2147483646) } -- Cheers, Roman Gareev.