GCC Middle and Back End API Reference
ira_allocno Struct Reference

#include <ira-int.h>

Collaboration diagram for ira_allocno:

Data Fields

int num
 
int regno
 
enum machine_mode mode: MACHINE_MODE_BITSIZE
 
enum machine_mode wmode: MACHINE_MODE_BITSIZE
 
enum reg_class aclass: 16
 
signed int hard_regno: 16
 
unsigned int crossed_calls_abis: NUM_ABI_IDS
 
unsigned int dont_reassign_p: 1
 
unsigned int bad_spill_p: 1
 
unsigned int assigned_p: 1
 
unsigned int conflict_vec_p: 1
 
unsigned int might_conflict_with_parent_p: 1
 
int nrefs
 
int freq
 
int class_cost
 
int updated_class_cost
 
int memory_cost
 
int updated_memory_cost
 
int excess_pressure_points_num
 
int num_objects
 
int call_freq
 
int calls_crossed_num
 
int cheap_calls_crossed_num
 
ira_allocno_t next_regno_allocno
 
ira_loop_tree_node_t loop_tree_node
 
ira_pref_t allocno_prefs
 
ira_copy_t allocno_copies
 
ira_allocno_t cap
 
ira_allocno_t cap_member
 
ira_object_t objects [2]
 
HARD_REG_SET crossed_calls_clobbered_regs
 
int * hard_reg_costs
 
int * updated_hard_reg_costs
 
int * conflict_hard_reg_costs
 
int * updated_conflict_hard_reg_costs
 
voidadd_data
 

Detailed Description

A structure representing an allocno (allocation entity).  Allocno
represents a pseudo-register in an allocation region.  If
pseudo-register does not live in a region but it lives in the
nested regions, it is represented in the region by special allocno
called *cap*.  There may be more one cap representing the same
pseudo-register in region.  It means that the corresponding
pseudo-register lives in more one non-intersected subregion.   

Field Documentation

◆ aclass

enum reg_class ira_allocno::aclass

◆ add_data

void* ira_allocno::add_data

◆ allocno_copies

ira_copy_t ira_allocno::allocno_copies

◆ allocno_prefs

ira_pref_t ira_allocno::allocno_prefs

◆ assigned_p

unsigned int ira_allocno::assigned_p

◆ bad_spill_p

unsigned int ira_allocno::bad_spill_p

◆ call_freq

int ira_allocno::call_freq

◆ calls_crossed_num

int ira_allocno::calls_crossed_num

◆ cap

ira_allocno_t ira_allocno::cap

◆ cap_member

ira_allocno_t ira_allocno::cap_member

◆ cheap_calls_crossed_num

int ira_allocno::cheap_calls_crossed_num

◆ class_cost

int ira_allocno::class_cost

◆ conflict_hard_reg_costs

int* ira_allocno::conflict_hard_reg_costs

◆ conflict_vec_p

unsigned int ira_allocno::conflict_vec_p

◆ crossed_calls_abis

unsigned int ira_allocno::crossed_calls_abis

◆ crossed_calls_clobbered_regs

HARD_REG_SET ira_allocno::crossed_calls_clobbered_regs

◆ dont_reassign_p

unsigned int ira_allocno::dont_reassign_p

◆ excess_pressure_points_num

int ira_allocno::excess_pressure_points_num

◆ freq

int ira_allocno::freq

◆ hard_reg_costs

int* ira_allocno::hard_reg_costs

◆ hard_regno

signed int ira_allocno::hard_regno

Referenced by update_costs_from_prefs().

◆ loop_tree_node

ira_loop_tree_node_t ira_allocno::loop_tree_node

◆ memory_cost

int ira_allocno::memory_cost

◆ might_conflict_with_parent_p

unsigned int ira_allocno::might_conflict_with_parent_p

◆ mode

enum machine_mode ira_allocno::mode

◆ next_regno_allocno

ira_allocno_t ira_allocno::next_regno_allocno

◆ nrefs

int ira_allocno::nrefs

◆ num

int ira_allocno::num

◆ num_objects

int ira_allocno::num_objects

◆ objects

ira_object_t ira_allocno::objects[2]

◆ regno

int ira_allocno::regno

◆ updated_class_cost

int ira_allocno::updated_class_cost

◆ updated_conflict_hard_reg_costs

int * ira_allocno::updated_conflict_hard_reg_costs

◆ updated_hard_reg_costs

int * ira_allocno::updated_hard_reg_costs

◆ updated_memory_cost

int ira_allocno::updated_memory_cost

◆ wmode

enum machine_mode ira_allocno::wmode

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