GCC Middle and Back End API Reference
ddg Struct Reference

#include <ddg.h>

Collaboration diagram for ddg:

Data Fields

basic_block bb
int num_nodes
int num_loads
int num_stores
int num_debug
ddg_node_ptr nodes
ddg_node_ptr closing_branch
int closing_branch_deps
int num_backarcs

Detailed Description

   This structure holds the Data Dependence Graph for a basic block.  

Field Documentation

ddg_edge_ptr* ddg::backarcs

Referenced by find_predecessors().

basic_block ddg::bb
     The basic block for which this DDG is built.  

Referenced by add_inter_loop_mem_dep().

ddg_node_ptr ddg::closing_branch
     The branch closing the loop.  

Referenced by create_ddg().

int ddg::closing_branch_deps
     Build dependence edges for closing_branch, when set.  In certain cases,
     the closing branch can be dealt with separately from the insns of the
     loop, and then no such deps are needed.  
ddg_node_ptr ddg::nodes
     This array holds the nodes in the graph; it is indexed by the node
     cuid, which follows the order of the instructions in the BB.  

Referenced by add_backarc_to_ddg(), add_inter_loop_mem_dep(), calculate_order_params(), create_ddg(), extend_node_sched_params(), free_ddg(), free_scc(), order_nodes_of_sccs(), and print_ddg_edge().

int ddg::num_backarcs
     Array and number of backarcs (edges with distance > 0) in the DDG.  
int ddg::num_debug
     Number of debug instructions in the BB.  
int ddg::num_loads
     Number of load/store instructions in the BB - statistics.  
int ddg::num_nodes
     Number of instructions in the basic block.  

Referenced by add_inter_loop_mem_dep(), apply_reg_moves(), and calculate_order_params().

int ddg::num_stores

The documentation for this struct was generated from the following file: