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

Referenced by store_can_be_removed_p().

◆ level

int ira_loop_tree_node::level

Referenced by setup_loop_tree_level().

◆ local_copies

bitmap ira_loop_tree_node::local_copies

◆ loop

◆ loop_num

◆ modified_regnos

◆ next

◆ parent

◆ reg_pressure

◆ regno_allocno_map

◆ subloop_next

◆ subloops

◆ to_remove_p


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