All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
DAG building

Data Structures

struct  dag_s
struct  daglabel_s
struct  dagnode_s


typedef struct dag_s dag_t
typedef struct daglabel_s daglabel_t
typedef struct dagnode_s dagnode_t


dag_tdag_create (struct flownode_s *flownode)
 Make a dag for a single basic block. More...
void dag_generate (dag_t *dag, sblock_t *block)
void dag_remove_dead_nodes (dag_t *dag)
const char * daglabel_string (daglabel_t *label)
void dot_dump_dag (void *_dag, const char *filename)
void print_dag (struct dstring_s *dstr, dag_t *dag, const char *label)

Detailed Description

Typedef Documentation

typedef struct dag_s dag_t
typedef struct daglabel_s daglabel_t
typedef struct dagnode_s dagnode_t

Function Documentation

dag_t* dag_create ( struct flownode_s flownode)

Make a dag for a single basic block.

flownodeThe flow graph node representing the basic block for which the dag will be created. The node should have its live variable information already computed.
The dag representing the basic block.
void dag_generate ( dag_t dag,
sblock_t block 
void dag_remove_dead_nodes ( dag_t dag)
const char* daglabel_string ( daglabel_t label)
void dot_dump_dag ( void *  _dag,
const char *  filename 
void print_dag ( struct dstring_s dstr,
dag_t dag,
const char *  label