Re: [PATCH v2] Fix incomplete computation in fill_always_executed_in_1

2021-08-24 Thread Richard Biener via Gcc-patches
On Tue, 24 Aug 2021, Xionghu Luo wrote: > > > On 2021/8/19 20:11, Richard Biener wrote: > >> - class loop *inn_loop = loop; > >> > >> if (ALWAYS_EXECUTED_IN (loop->header) == NULL) > >> { > >> @@ -3232,19 +3231,6 @@ fill_always_executed_in_1 (class loop *loop, > >> sbitmap contain

Re: [PATCH v2] Fix incomplete computation in fill_always_executed_in_1

2021-08-24 Thread Xionghu Luo via Gcc-patches
On 2021/8/19 20:11, Richard Biener wrote: >> - class loop *inn_loop = loop; >> >> if (ALWAYS_EXECUTED_IN (loop->header) == NULL) >> { >> @@ -3232,19 +3231,6 @@ fill_always_executed_in_1 (class loop *loop, sbitmap >> contains_call) >> to disprove this if possible). */ >>

Re: [PATCH v2] Fix incomplete computation in fill_always_executed_in_1

2021-08-19 Thread Richard Biener via Gcc-patches
CUTED bb after inner loop... > > > > But the code says: > > > > /* In a loop that is always entered we may proceed anyway. > > But record that we entered it and stop once we leave it. > > */ > > > > and you d

Re: [PATCH v2] Fix incomplete computation in fill_always_executed_in_1

2021-08-18 Thread Xionghu Luo via Gcc-patches
leave it. >> */ >> >> and you do not remove this comment still it doesn't hold anymore >> after your patch. I don't say the current code is optimal - I just >> say it does exactly what is documented. > > Removed. > >> >>

[PATCH v2] Fix incomplete computation in fill_always_executed_in_1

2021-08-17 Thread Xionghu Luo via Gcc-patches
ymore > after your patch. I don't say the current code is optimal - I just > say it does exactly what is documented. Removed. > > >>> >>> In fact for your testcase the x->j ref is _not_ always executed >>> since the inner loop is conditional on n > 0.