osprey/kg++fe/gnu/cfg.c File Reference

#include "config.h"
#include "system.h"
#include "tree.h"
#include "rtl.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "regs.h"
#include "flags.h"
#include "output.h"
#include "function.h"
#include "except.h"
#include "toplev.h"
#include "tm_p.h"
#include "obstack.h"

Include dependency graph for cfg.c:

Go to the source code of this file.

Functions/Subroutines

void debug_flow_info PARAMS ((void))
static void free_edge PARAMS ((edge))
void init_flow ()
static void free_edge (edge e)
void clear_edges ()
basic_block alloc_block ()
void link_block (basic_block b, basic_block after)
void unlink_block (basic_block b)
void compact_blocks ()
void expunge_block (basic_block b)
edge unchecked_make_edge (basic_block src, basic_block dst, int flags)
edge cached_make_edge (sbitmap *edge_cache, basic_block src, basic_block dst, int flags)
edge make_edge (basic_block src, basic_block dest, int flags)
edge make_single_succ_edge (basic_block src, basic_block dest, int flags)
void remove_edge (edge e)
void redirect_edge_succ (edge e, basic_block new_succ)
edge redirect_edge_succ_nodup (edge e, basic_block new_succ)
void redirect_edge_pred (edge e, basic_block new_pred)
void clear_bb_flags ()
void dump_flow_info (FILE *file)
void debug_flow_info ()
void dump_edge_info (FILE *file, edge e, int do_succ)
void alloc_aux_for_block (basic_block bb, int size)
void alloc_aux_for_blocks (int size)
void clear_aux_for_blocks ()
void free_aux_for_blocks ()
void alloc_aux_for_edge (edge e, int size)
void alloc_aux_for_edges (int size)
void clear_aux_for_edges ()
void free_aux_for_edges ()

Variables

struct obstack flow_obstack
static char * flow_firstobj
int n_basic_blocks
int last_basic_block
int n_edges
edge first_deleted_edge
static basic_block first_deleted_block
varray_type basic_block_info
struct basic_block_def entry_exit_blocks [2]
static struct obstack block_aux_obstack
static voidfirst_block_aux_obj = 0
static struct obstack edge_aux_obstack
static voidfirst_edge_aux_obj = 0


Function Documentation

void alloc_aux_for_block ( basic_block  bb,
int  size 
) [inline]

void alloc_aux_for_blocks ( int  size  ) 

void alloc_aux_for_edge ( edge  e,
int  size 
) [inline]

void alloc_aux_for_edges ( int  size  ) 

Definition at line 805 of file cfg.c.

Referenced by branch_prob(), canonicalize_loop_headers(), and estimate_bb_frequencies().

basic_block alloc_block ( void   ) 

Definition at line 224 of file cfg.c.

Referenced by create_basic_block_structure(), create_bb(), and lower_merge().

edge cached_make_edge ( sbitmap edge_cache,
basic_block  src,
basic_block  dst,
int  flags 
)

Definition at line 339 of file cfg.c.

Referenced by make_edge(), make_edges(), and make_label_edge().

void clear_aux_for_blocks ( void   ) 

void clear_aux_for_edges ( void   ) 

void clear_bb_flags ( void   ) 

Definition at line 517 of file cfg.c.

Referenced by combine_instructions(), if_convert(), and try_optimize_cfg().

void clear_edges ( void   ) 

Definition at line 184 of file cfg.c.

Referenced by find_basic_blocks(), and free_basic_block_vars().

void compact_blocks ( void   ) 

void debug_flow_info ( void   ) 

Definition at line 650 of file cfg.c.

void dump_edge_info ( FILE file,
edge  e,
int  do_succ 
)

void dump_flow_info ( FILE file  ) 

void expunge_block ( basic_block  b  ) 

void free_aux_for_blocks ( void   ) 

void free_aux_for_edges ( void   ) 

Definition at line 854 of file cfg.c.

Referenced by branch_prob(), canonicalize_loop_headers(), and estimate_bb_frequencies().

static void free_edge ( edge  )  [static]

Definition at line 172 of file cfg.c.

References memset, and n_edges.

Referenced by clear_edges(), and remove_edge().

void init_flow ( void   ) 

void link_block ( basic_block  b,
basic_block  after 
)

edge make_edge ( basic_block  src,
basic_block  dest,
int  flags 
)

edge make_single_succ_edge ( basic_block  src,
basic_block  dest,
int  flags 
)

static void free_edge PARAMS ( (edge  )  [static]

void debug_flow_info PARAMS ( (void  )  [read]

Definition at line 77 of file cplus-dem.c.

void redirect_edge_pred ( edge  e,
basic_block  new_pred 
)

Definition at line 498 of file cfg.c.

Referenced by expand_omp_sections(), and force_nonfallthru_and_redirect().

void redirect_edge_succ ( edge  e,
basic_block  new_succ 
)

edge redirect_edge_succ_nodup ( edge  e,
basic_block  new_succ 
)

void remove_edge ( edge  e  ) 

edge unchecked_make_edge ( basic_block  src,
basic_block  dst,
int  flags 
)

void unlink_block ( basic_block  b  ) 


Variable Documentation

Definition at line 93 of file cfg.c.

Definition at line 707 of file cfg.c.

Referenced by alloc_aux_for_block(), alloc_aux_for_blocks(), and free_aux_for_blocks().

Definition at line 709 of file cfg.c.

Referenced by alloc_aux_for_edge(), alloc_aux_for_edges(), and free_aux_for_edges().

Definition at line 98 of file cfg.c.

void* first_block_aux_obj = 0 [static]

Definition at line 708 of file cfg.c.

Referenced by alloc_aux_for_block(), alloc_aux_for_blocks(), and free_aux_for_blocks().

Definition at line 89 of file cfg.c.

Definition at line 88 of file cfg.c.

void* first_edge_aux_obj = 0 [static]

Definition at line 710 of file cfg.c.

Referenced by alloc_aux_for_edge(), alloc_aux_for_edges(), and free_aux_for_edges().

char* flow_firstobj [static]

Definition at line 72 of file cfg.c.

Referenced by init_flow().

Definition at line 71 of file cfg.c.

Definition at line 80 of file cfg.c.

Definition at line 76 of file cfg.c.

int n_edges

Definition at line 84 of file cfg.c.


Generated on Wed Apr 8 15:13:26 2009 for Open64 by  doxygen 1.5.6