Displaying 1 result from an estimated 1 matches for "uint7".
Did you mean:
uint
2008 Nov 12
1
[LLVMdev] Possible bug in ScalarEvolution
...xitValue = ConstantInt::get(ExitVal);
The divide should be sdiv, right? otherwise, the ExitVal will be zero when A
= -1
For example, for (int i = 15; i > 7; --i) {} the exit value should be 7
not zero.
Also, I think we should consider the possible overflow situation,
for example, for (uint7 i = 0; i < 64; i += 2) {}
The Range should be [0, 64) (type i7), so
End = 63, A = 2,
(End + A).sdiv(A) will be 97 instead of 32.
This is due to overflow of the addition of End and A. They both are
positive value, and the result should be 65 which in i7 type may be
negative.
Any comments...