diff mbox

Use FOR_ALL_BB_FN in a few more places (was: [PATCH] Clear BB_VISITED in bb-reorder)

Message ID 87lgxn0xgh.fsf@hertz.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge Oct. 17, 2016, 4:09 p.m. UTC
Hi!

On Mon, 17 Oct 2016 15:17:13 +0200, Richard Biener <richard.guenther@gmail.com> wrote:
> On Mon, Oct 17, 2016 at 3:12 PM, Thomas Schwinge
> <thomas@codesourcery.com> wrote:
> > On Mon, 17 Oct 2016 14:26:42 +0200 (CEST), Richard Biener <rguenther@suse.de> 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?

commit 183433526b2befb7bd75e74f753b8a5d4bec14b0
Author: Thomas Schwinge <thomas@codesourcery.com>
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(-)



Grüße
 Thomas

Comments

Richard Biener Oct. 18, 2016, 5:38 a.m. UTC | #1
On October 17, 2016 6:09:02 PM GMT+02:00, Thomas Schwinge <thomas@codesourcery.com> wrote:
>Hi!
>
>On Mon, 17 Oct 2016 15:17:13 +0200, Richard Biener
><richard.guenther@gmail.com> wrote:
>> On Mon, Oct 17, 2016 at 3:12 PM, Thomas Schwinge
>> <thomas@codesourcery.com> wrote:
>> > On Mon, 17 Oct 2016 14:26:42 +0200 (CEST), Richard Biener
><rguenther@suse.de> 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 <thomas@codesourcery.com>
>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<basic_block> &blocks,
>bb_pair_vec_t &regions)
>   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, &block); ix++)
>
>
>Grüße
> Thomas
diff mbox

Patch

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<basic_block> &blocks, bb_pair_vec_t &regions)
   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, &block); ix++)