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

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: