on 2019/6/17 下午8:08, Richard Biener wrote: > On June 17, 2019 11:59:30 AM GMT+02:00, Segher Boessenkool > <seg...@kernel.crashing.org> wrote: >> On Mon, Jun 17, 2019 at 10:51:49AM +0200, Richard Biener wrote: >>> On Mon, 17 Jun 2019, Kewen.Lin wrote: >>> >>>> Hi Segher and Bill, >>>> >>>> Thanks a lot for your review comments! I've updated the patch >> accordingly. >>>> >>>> The updated one attached. >>> >>> OK. I suppose all low-overhead loop instructions use a decrement to >> zero >>> style iterator? >> >> The documentation says decrement to 0, decrement to -1, and decrement >> to >> any negative are all supported. But all are decrement, yes. > > Hmm, so I wonder if we should tell IVOPTS the kind because the IV generated > has to match RTL doloops expectations? Thus return an enum value from the > hook? >
I guess we don't need to make it in IVOPTs, since doloop_optimize can transform the loop closing to its expected pattern once it gets the iteration count, with target hook doloop_end. It's to modify the original closing into: niter -> 0 niter-1 -> -1 niter-n -> -n Thanks, Kewen > Richard. > >> >> Segher >