You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
for most loops. An alternative would be to generate
for (long i = LB; i != UB + 1; i++)
A[i]
In the second version a value of LB that is strictly larger than UB + 1 will cause i to eventually overflow. As we know this is not valid (and we annotate i in Polly with NSW), the IR carries the information that such an overflow can never happen
and consequently that LB must be smaller or equal to UB + 1.
LLVM and its -indvars pass prefers the second alternative precisely for this reason.
We should consider to generate IR with the above type.
The text was updated successfully, but these errors were encountered:
Extended Description
Currently the isl AST generator derives
for (long i = LB; i <= UB; i++)
A[i]
for most loops. An alternative would be to generate
for (long i = LB; i != UB + 1; i++)
A[i]
In the second version a value of LB that is strictly larger than UB + 1 will cause i to eventually overflow. As we know this is not valid (and we annotate i in Polly with NSW), the IR carries the information that such an overflow can never happen
and consequently that LB must be smaller or equal to UB + 1.
LLVM and its -indvars pass prefers the second alternative precisely for this reason.
We should consider to generate IR with the above type.
The text was updated successfully, but these errors were encountered: