GCC Middle and Back End API Reference
|
#include <ddg.h>
Data Fields | |
int | cuid |
rtx | insn |
rtx | first_note |
ddg_edge_ptr | in |
ddg_edge_ptr | out |
sbitmap | successors |
sbitmap | predecessors |
union { | |
int count | |
void * info | |
} | aux |
A structure that represents a node in the DDG.
union { ... } ddg_node::aux |
For general use by algorithms manipulating the ddg.
Referenced by find_nodes_on_paths().
int ddg_node::count |
Referenced by find_nodes_on_paths().
int ddg_node::cuid |
Each node has a unique CUID index. These indices increase monotonically (according to the order of the corresponding INSN in the BB), starting from 0 with no gaps.
Referenced by add_intra_loop_mem_dep(), create_ddg(), find_nodes_on_paths(), find_predecessors(), free_ddg(), print_ddg_edge(), and walk_mems_1().
rtx ddg_node::first_note |
A note preceding INSN (or INSN itself), such that all insns linked from FIRST_NOTE until INSN (inclusive of both) are moved together when reordering the insns. This takes care of notes that should continue to precede INSN.
Referenced by create_ddg().
ddg_edge_ptr ddg_node::in |
Incoming and outgoing dependency edges.
Referenced by free_ddg().
void* ddg_node::info |
rtx ddg_node::insn |
The insn represented by the node.
Referenced by add_inter_loop_mem_dep(), add_intra_loop_mem_dep(), create_ddg(), free_ddg(), print_ddg_edge(), and walk_mems_1().
ddg_edge_ptr ddg_node::out |
Referenced by find_nodes_on_paths(), free_ddg(), and print_ddg_edge().
sbitmap ddg_node::predecessors |
Referenced by create_ddg().
sbitmap ddg_node::successors |
Each bit corresponds to a ddg_node according to its cuid, and is set iff the node is a successor/predecessor of "this" node.
Referenced by create_ddg().