Re: [PATCH V3] Split loop for NE condition.

2021-06-21 Thread guojiufu via Gcc-patches
On 2021-06-21 16:51, Richard Biener wrote: On Wed, 9 Jun 2021, guojiufu wrote: On 2021-06-09 17:42, guojiufu via Gcc-patches wrote: > On 2021-06-08 18:13, Richard Biener wrote: >> On Fri, 4 Jun 2021, Jiufu Guo wrote: >> > cut... >>> + gcond *cond = as_a (last); >>> + enum tree_code co

Re: [PATCH V3] Split loop for NE condition.

2021-06-21 Thread Richard Biener
On Wed, 9 Jun 2021, guojiufu wrote: > On 2021-06-09 17:42, guojiufu via Gcc-patches wrote: > > On 2021-06-08 18:13, Richard Biener wrote: > >> On Fri, 4 Jun 2021, Jiufu Guo wrote: > >> > > cut... > >>> + gcond *cond = as_a (last); > >>> + enum tree_code code = gimple_cond_code (cond); >

Re: [PATCH V3] Split loop for NE condition.

2021-06-20 Thread guojiufu via Gcc-patches
On 2021-06-09 19:18, guojiufu wrote: On 2021-06-09 17:42, guojiufu via Gcc-patches wrote: On 2021-06-08 18:13, Richard Biener wrote: On Fri, 4 Jun 2021, Jiufu Guo wrote: cut... cut... Here is the updated patch, thanks for your time! Updates: . Enhance code to support negative step. . Che

Re: [PATCH V3] Split loop for NE condition.

2021-06-09 Thread guojiufu via Gcc-patches
On 2021-06-09 17:42, guojiufu via Gcc-patches wrote: On 2021-06-08 18:13, Richard Biener wrote: On Fri, 4 Jun 2021, Jiufu Guo wrote: cut... + gcond *cond = as_a (last); + enum tree_code code = gimple_cond_code (cond); + if (!(code == NE_EXPR + || (code == EQ_EXPR && (

Re: [PATCH V3] Split loop for NE condition.

2021-06-09 Thread guojiufu via Gcc-patches
On 2021-06-08 18:13, Richard Biener wrote: On Fri, 4 Jun 2021, Jiufu Guo wrote: cut... + gcond *cond = as_a (last); + enum tree_code code = gimple_cond_code (cond); + if (!(code == NE_EXPR + || (code == EQ_EXPR && (e->flags & EDGE_TRUE_VALUE The NE_EXPR check mis

Re: [PATCH V3] Split loop for NE condition.

2021-06-08 Thread Richard Biener
On Fri, 4 Jun 2021, Jiufu Guo wrote: > Update the patch since v2: > . Check index and bound from gcond before checking if wrap. > . Update test case, and add an executable case. > . Refine code comments. > . Enhance the checking for i++/++i in the loop header. > . Enhance code to handle equal cond

[PATCH V3] Split loop for NE condition.

2021-06-04 Thread Jiufu Guo via Gcc-patches
Update the patch since v2: . Check index and bound from gcond before checking if wrap. . Update test case, and add an executable case. . Refine code comments. . Enhance the checking for i++/++i in the loop header. . Enhance code to handle equal condition on exit Bootstrap and regtest pass on power