On October 17, 2016 6:09:02 PM GMT+02:00, Thomas Schwinge
wrote:
>Hi!
>
>On Mon, 17 Oct 2016 15:17:13 +0200, Richard Biener
> wrote:
>> On Mon, Oct 17, 2016 at 3:12 PM, Thomas Schwinge
>> wrote:
>> > On Mon, 17 Oct 2016 14:26:42 +0200 (CEST), Richard Biener
> wrote:
>> >> --- gcc/bb-reorder.c (revision 241228)
>> >> +++ gcc/bb-reorder.c (working copy)
>> >> @@ -2355,7 +2355,10 @@ reorder_basic_blocks_simple (void)
>> >> To start with, everything points to itself, nothing is
>assigned yet. */
>> >>
>> >>FOR_ALL_BB_FN (bb, cfun)
>> >> -bb->aux = bb;
>> >> +{
>> >> + bb->aux = bb;
>> >> + bb->flags &= ~BB_VISITED;
>> >> +}
>> >>
>> >>EXIT_BLOCK_PTR_FOR_FN (cfun)->aux = 0;
>> >
>> > "EXIT_BLOCK_PTR_FOR_FN (cfun)->flags &= ~BB_VISITED;" is not
>required
>> > here, additionally?
>>
>> ALL_BB includes EXIT_BLOCK.
>
>I see -- ;-) FOR_ALL_BB_FN is something different from
>FOR_EACH_BB_FN...
>
>
>We could use the former in a few more places; OK for trunk once tested?
OK.
Richard.
>commit 183433526b2befb7bd75e74f753b8a5d4bec14b0
>Author: Thomas Schwinge
>Date: Mon Oct 17 18:07:16 2016 +0200
>
>Use FOR_ALL_BB_FN in a few more places
>
> gcc/
> * cfg.c (clear_bb_flags): Use FOR_ALL_BB_FN.
> * config/nvptx/nvptx.c (nvptx_find_sese): Likewise.
>---
> gcc/cfg.c| 2 +-
> gcc/config/nvptx/nvptx.c | 8 +---
> 2 files changed, 2 insertions(+), 8 deletions(-)
>
>diff --git gcc/cfg.c gcc/cfg.c
>index ee2e42c..6604b02 100644
>--- gcc/cfg.c
>+++ gcc/cfg.c
>@@ -386,7 +386,7 @@ clear_bb_flags (void)
> {
> basic_block bb;
>
>- FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR_FOR_FN (cfun), NULL, next_bb)
>+ FOR_ALL_BB_FN (bb, cfun)
> bb->flags &= BB_FLAGS_TO_PRESERVE;
> }
>
>diff --git gcc/config/nvptx/nvptx.c gcc/config/nvptx/nvptx.c
>index 6ec8eb4..80fa9ae 100644
>--- gcc/config/nvptx/nvptx.c
>+++ gcc/config/nvptx/nvptx.c
>@@ -3091,17 +3091,11 @@ nvptx_find_sese (auto_vec ,
>bb_pair_vec_t )
> int ix;
>
> /* First clear each BB of the whole function. */
>- FOR_EACH_BB_FN (block, cfun)
>+ FOR_ALL_BB_FN (block, cfun)
> {
> block->flags &= ~BB_VISITED;
> BB_SET_SESE (block, 0);
> }
>- block = EXIT_BLOCK_PTR_FOR_FN (cfun);
>- block->flags &= ~BB_VISITED;
>- BB_SET_SESE (block, 0);
>- block = ENTRY_BLOCK_PTR_FOR_FN (cfun);
>- block->flags &= ~BB_VISITED;
>- BB_SET_SESE (block, 0);
>
> /* Mark blocks in the function that are in this graph. */
> for (ix = 0; blocks.iterate (ix, ); ix++)
>
>
>Grüße
> Thomas