On Thu, Aug 24, 2017 at 12:58 PM, Bin Cheng <bin.ch...@arm.com> wrote: > Hi, > I added code handle exit condition like "IV1 le/lt IV2" by changing it into > "IV1' le/lt INV". > Unfortunately, wrapping behavior has subtle impact on the transformation. > This patch for > now skips niter analysis if either IV1 or IV2 can wrap. We can still handle > pointer case > as reported in PR81196, but unsigned type needs more work. The patch also > includes two > XFAIL tests showing what shall be improved here. > Bootstrap and test on AArch64. Is it OK?
Ok. Richard. > > Thanks, > bin > 2017-08-24 Bin Cheng <bin.ch...@arm.com> > > PR tree-optimization/81913 > * tree-ssa-loop-niter.c (number_of_iterations_cond): Skip niter > analysis when either IVs in condition can wrap. > > gcc/testsuite > 2017-08-24 Bin Cheng <bin.ch...@arm.com> > > PR tree-optimization/81913 > * gcc.c-torture/execute/pr81913.c: New test. > * gcc.dg/tree-ssa/loop-niter-1.c: New test. > * gcc.dg/tree-ssa/loop-niter-2.c: New test.