GCC Middle and Back End API Reference
ira_loop_tree_node Struct Reference

#include <ira-int.h>

Collaboration diagram for ira_loop_tree_node:

Data Fields

basic_block bb
 
class looploop
 
ira_loop_tree_node_t subloop_next
 
ira_loop_tree_node_t next
 
ira_loop_tree_node_t subloops
 
ira_loop_tree_node_t children
 
ira_loop_tree_node_t parent
 
int level
 
int loop_num
 
bool to_remove_p
 
ira_allocno_tregno_allocno_map
 
bool entered_from_non_parent_p
 
int reg_pressure [N_REG_CLASSES]
 
bitmap all_allocnos
 
bitmap border_allocnos
 
bitmap modified_regnos
 
bitmap local_copies
 

Detailed Description

In general case, IRA is a regional allocator.  The regions are
nested and form a tree.  Currently regions are natural loops.  The
following structure describes loop tree node (representing basic
block or loop).  We need such tree because the loop tree from
cfgloop.h is not convenient for the optimization: basic blocks are
not a part of the tree from cfgloop.h.  We also use the nodes for
storing additional information about basic blocks/loops for the
register allocation purposes.   

Field Documentation

◆ all_allocnos

◆ bb

◆ border_allocnos

◆ children

◆ entered_from_non_parent_p

bool ira_loop_tree_node::entered_from_non_parent_p

◆ level

int ira_loop_tree_node::level

◆ local_copies

◆ loop

◆ loop_num

int ira_loop_tree_node::loop_num

◆ modified_regnos

◆ next

ira_loop_tree_node_t ira_loop_tree_node::next

◆ parent

◆ reg_pressure

◆ regno_allocno_map

◆ subloop_next

ira_loop_tree_node_t ira_loop_tree_node::subloop_next

◆ subloops

◆ to_remove_p


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