This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: document edge flags


On Tue, Oct 30, 2001 at 02:41:19PM +0100, Jan Hubicka wrote:
> Hi,
> we don't document edge flags even when we should.  Here is a patch.

I wouldn't normally complain about grammar but these are awkward
enough that I'm not sure what they actually mean.  Can you please
check my rewrites?

Also, you didn't say anything about EDGE_FALLTHRU: suggest

/* EDGE_FALLTHRU indicates an edge without a corresponding jump
   instruction.  In the final assembly output, the two basic blocks
   connected by this edge will appear one after another.  */

> + /* Edges not comming for usual jump instruction do have EDGE_ABNORMAL flag
> +    set.  Such edges can not be redirected.  */

/* EDGE_ABNORMAL marks edges which do not come from a jump instruction.  
   Such edges cannot be redirected.  */

> + /* Edges for calls causing for transfer, such as sibbling call, longjmp or
> +    possibly throwing calls.  */

/* EDGE_ABNORMAL_CALL marks an edge for transfer of control fom a call
   instruction to somewhere other than the instruction after the call
   site.  For instance, these edges are used for sibling and tail
   calls, longjmp, and calls which may throw an exception.  */

> + /* Edge from (possibly) trapping instruction to exception handler.  */

/* EDGE_EH marks an edge from a (possibly) trapping instruction to the
   exception handler.  This includes calls to functions that may throw
   exceptions.  */

> + /* Fake edge used internally by some passes to represent additional
> +    information.  */
>   #define EDGE_FAKE		16

/* EDGE_FAKE marks an edge which does not actually exist in the
   program's control flow graph.  These edges are used, for instance,
   to ensure that all blocks can be reached by reverse searches from
   the EXIT_BLOCK.  */

> + /* Backward edge in the depth first search.  Usually this flag is not maitained
> +    up-to-date.  Call mark_dfs_back_edges before using.  */

/* EDGE_DFS_BACK indicates that depth first search has found this to
   be a back edge.  This flag is not kept up to date by optimizations.
   Call mark_dfs_back_edges before using it.  */

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]