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
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: