On Fri, 14 Nov 2014, Dodji Seketeli wrote:

> Hello,
> 
> Following the discussion at 
> https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01755.html,
> I am proposing this documentation patch to add more comments to some
> gimple accessors for properties that are meant to be undefined at patch
> boundaries.  I haven't spotted all the properties in that case, but
> perfect being the enemy of good, I thought i'd send these for now, at
> least.
> 
> OK for trunk?

Ok.

Thanks,
Richard.

> Cheers,
> 
> gcc/ChangeLog:
> 
>       * gimple.h (gimple_set_visited, gimple_visited_p)
>       (gimple_set_plf, gimple_plf, gimple_set_uid, gimple_uid): Add more
>       comments to these accessors.
> 
> Signed-off-by: Dodji Seketeli <do...@redhat.com>
> ---
>  gcc/gimple.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
>  1 file changed, 51 insertions(+), 6 deletions(-)
> 
> diff --git a/gcc/gimple.h b/gcc/gimple.h
> index c7aaa81..27bb7b6 100644
> --- a/gcc/gimple.h
> +++ b/gcc/gimple.h
> @@ -1585,7 +1585,17 @@ gimple_set_no_warning (gimple stmt, bool no_warning)
>    stmt->no_warning = (unsigned) no_warning;
>  }
>  
> -/* Set the visited status on statement STMT to VISITED_P.  */
> +/* Set the visited status on statement STMT to VISITED_P.
> +
> +   Please note that this 'visited' property of the gimple statement is
> +   supposed to be undefined at pass boundaries.  This means that a
> +   given pass should not assume it contains any useful value when the
> +   pass starts and thus can set it to any value it sees fit.
> +
> +   You can learn more about the visited property of the gimple
> +   statement by reading the comments of the 'visited' data member of
> +   struct gimple statement_base.
> + */
>  
>  static inline void
>  gimple_set_visited (gimple stmt, bool visited_p)
> @@ -1594,7 +1604,16 @@ gimple_set_visited (gimple stmt, bool visited_p)
>  }
>  
>  
> -/* Return the visited status for statement STMT.  */
> +/* Return the visited status for statement STMT.
> +
> +   Please note that this 'visited' property of the gimple statement is
> +   supposed to be undefined at pass boundaries.  This means that a
> +   given pass should not assume it contains any useful value when the
> +   pass starts and thus can set it to any value it sees fit.
> +
> +   You can learn more about the visited property of the gimple
> +   statement by reading the comments of the 'visited' data member of
> +   struct gimple statement_base.  */
>  
>  static inline bool
>  gimple_visited_p (gimple stmt)
> @@ -1603,7 +1622,15 @@ gimple_visited_p (gimple stmt)
>  }
>  
>  
> -/* Set pass local flag PLF on statement STMT to VAL_P.  */
> +/* Set pass local flag PLF on statement STMT to VAL_P.
> +
> +   Please note that this PLF property of the gimple statement is
> +   supposed to be undefined at pass boundaries.  This means that a
> +   given pass should not assume it contains any useful value when the
> +   pass starts and thus can set it to any value it sees fit.
> +
> +   You can learn more about the PLF property by reading the comment of
> +   the 'plf' data member of struct gimple_statement_structure.  */
>  
>  static inline void
>  gimple_set_plf (gimple stmt, enum plf_mask plf, bool val_p)
> @@ -1615,7 +1642,15 @@ gimple_set_plf (gimple stmt, enum plf_mask plf, bool 
> val_p)
>  }
>  
>  
> -/* Return the value of pass local flag PLF on statement STMT.  */
> +/* Return the value of pass local flag PLF on statement STMT.
> +
> +   Please note that this 'plf' property of the gimple statement is
> +   supposed to be undefined at pass boundaries.  This means that a
> +   given pass should not assume it contains any useful value when the
> +   pass starts and thus can set it to any value it sees fit.
> +
> +   You can learn more about the plf property by reading the comment of
> +   the 'plf' data member of struct gimple_statement_structure.  */
>  
>  static inline unsigned int
>  gimple_plf (gimple stmt, enum plf_mask plf)
> @@ -1624,7 +1659,12 @@ gimple_plf (gimple stmt, enum plf_mask plf)
>  }
>  
>  
> -/* Set the UID of statement.  */
> +/* Set the UID of statement.
> +
> +   Please note that this UID property is supposed to be undefined at
> +   pass boundaries.  This means that a given pass should not assume it
> +   contains any useful value when the pass starts and thus can set it
> +   to any value it sees fit.  */
>  
>  static inline void
>  gimple_set_uid (gimple g, unsigned uid)
> @@ -1633,7 +1673,12 @@ gimple_set_uid (gimple g, unsigned uid)
>  }
>  
>  
> -/* Return the UID of statement.  */
> +/* Return the UID of statement.
> +
> +   Please note that this UID property is supposed to be undefined at
> +   pass boundaries.  This means that a given pass should not assume it
> +   contains any useful value when the pass starts and thus can set it
> +   to any value it sees fit.  */
>  
>  static inline unsigned
>  gimple_uid (const_gimple g)
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer, HRB 21284
(AG Nuernberg)
Maxfeldstrasse 5, 90409 Nuernberg, Germany

Reply via email to