| GCC Middle and Back End API Reference
    | 
#include <ira-int.h>

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.
| bitmap ira_loop_tree_node::all_allocnos | 
Referenced by color_pass(), finish_loop_tree_nodes(), ira_create_allocno(), print_loop_title(), and remove_unnecessary_allocnos().
| basic_block ira_loop_tree_node::bb | 
Referenced by add_copies(), add_loop_to_tree(), color_pass(), create_bb_allocnos(), create_loop_tree_node_allocnos(), entered_from_non_parent_p(), form_loop_tree(), ira_loop_tree_body_rev_postorder(), ira_traverse_loop_tree(), move_spill_restore(), print_loop_title(), process_bb_node_for_costs(), process_bb_node_for_hard_reg_moves(), process_bb_node_lives(), propagate_modified_regnos(), remove_uneccesary_loop_nodes_from_loop_tree(), and setup_loop_tree_level().
| bitmap ira_loop_tree_node::border_allocnos | 
Referenced by create_caps(), finish_loop_tree_nodes(), move_spill_restore(), and print_loop_title().
| ira_loop_tree_node_t ira_loop_tree_node::children | 
| bool ira_loop_tree_node::entered_from_non_parent_p | 
| int ira_loop_tree_node::level | 
Referenced by setup_loop_tree_level().
| bitmap ira_loop_tree_node::local_copies | 
Referenced by finish_loop_tree_nodes().
| class loop* ira_loop_tree_node::loop | 
| int ira_loop_tree_node::loop_num | 
Referenced by add_loop_to_tree(), loop_compare_func(), move_spill_restore(), print_loop_title(), and process_bb_node_lives().
| bitmap ira_loop_tree_node::modified_regnos | 
Referenced by finish_loop_tree_nodes(), print_loop_title(), and propagate_modified_regnos().
| ira_loop_tree_node_t ira_loop_tree_node::next | 
| ira_loop_tree_node_t ira_loop_tree_node::parent | 
Referenced by add_loop_to_tree(), calculate_allocno_spill_cost(), copy_info_to_removed_store_destinations(), create_cap_allocno(), entered_from_non_parent_p(), form_loop_tree(), generate_edge_moves(), ira_parent_allocno(), loop_compare_func(), move_spill_restore(), print_loop_title(), process_bb_node_for_hard_reg_moves(), process_bb_node_lives(), propagate_modified_regnos(), remove_low_level_allocnos(), remove_uneccesary_loop_nodes_from_loop_tree(), remove_unnecessary_allocnos(), and subloop_tree_node_p().
| int ira_loop_tree_node::reg_pressure[N_REG_CLASSES] | 
Referenced by change_loop(), create_loop_tree_nodes(), print_loop_title(), and process_bb_node_lives().
| ira_allocno_t* ira_loop_tree_node::regno_allocno_map | 
Referenced by calculate_allocno_spill_cost(), change_loop(), color_pass(), copy_info_to_removed_store_destinations(), create_loop_allocnos(), find_costs_and_classes(), finish_loop_tree_nodes(), generate_edge_moves(), ira_create_allocno(), ira_parent_allocno(), more_one_region_p(), move_spill_restore(), process_bb_node_for_hard_reg_moves(), propagate_allocno_info(), rebuild_regno_allocno_maps(), remove_low_level_allocnos(), remove_unnecessary_allocnos(), setup_min_max_allocno_live_range_point(), and update_costs().
| ira_loop_tree_node_t ira_loop_tree_node::subloop_next | 
| ira_loop_tree_node_t ira_loop_tree_node::subloops | 
Referenced by add_loop_to_tree(), color_pass(), form_loop_tree(), ira_traverse_loop_tree(), move_spill_restore(), and setup_loop_tree_level().
| bool ira_loop_tree_node::to_remove_p | 
Referenced by loop_compare_func(), mark_loops_for_removal(), and remove_unnecessary_allocnos().