Displaying 2 results from an estimated 2 matches for "computebackedgetakencountexhaust".
2010 May 06
2
[LLVMdev] Back-edge taken count of loops
...ng n) {
long i;
for (i = 1; i<= n; i++)
A[i] = 1;
}
after have a look at the code that computing the back-edge taken count, i
found that ScalarEvolution could only compute back-edge taken count if the
exit condition is ICMP_NE/ICMP_EQ/ICMP_SLT/ICMP_SGT/ICMP_ULT/ICMP_UGT
(ignoring "ComputeBackedgeTakenCountExhaustively"), and the function
"SimplifyICmpOperands" will try to convert other conditions to the
conditions listed above, by doing something like "i <= n" to "i < n+1", but
it refuse to do that unless it could prove "n + 1" will not cause a
overflow.
S...
2010 May 06
0
[LLVMdev] Back-edge taken count of loops
...for (i = 1; i<= n; i++)
> A[i] = 1;
> }
>
> after have a look at the code that computing the back-edge taken count, i found that ScalarEvolution could only compute back-edge taken count if the exit condition is ICMP_NE/ICMP_EQ/ICMP_SLT/ICMP_SGT/ICMP_ULT/ICMP_UGT (ignoring "ComputeBackedgeTakenCountExhaustively"), and the function "SimplifyICmpOperands" will try to convert other conditions to the conditions listed above, by doing something like "i <= n" to "i < n+1", but it refuse to do that unless it could prove "n + 1" will not cause a overflow.
&g...