GCC Middle and Back End API Reference
ira_object Struct Reference

#include <ira-int.h>

Collaboration diagram for ira_object:

Data Fields

ira_allocno_t allocno
void * conflicts_array
live_range_t live_ranges
int subword
unsigned int conflicts_array_size
int id
int min
int max
HARD_REG_SET conflict_hard_regs
HARD_REG_SET total_conflict_hard_regs
int num_accumulated_conflicts
unsigned int conflict_vec_p: 1

Detailed Description

   A structure representing conflict information for an allocno
   (or one of its subwords).  

Field Documentation

ira_allocno_t ira_object::allocno
     The allocno associated with this record.  
HARD_REG_SET ira_object::conflict_hard_regs
     Initial and accumulated hard registers conflicting with this
     object and as a consequences can not be assigned to the allocno.
     All non-allocatable hard regs and hard regs of register classes
     different from given allocno one are included in the sets.  
unsigned int ira_object::conflict_vec_p
     TRUE if conflicts are represented by a vector of pointers to
     ira_object structures.  Otherwise, we use a bit vector indexed
     by conflict ID numbers.  
void* ira_object::conflicts_array
     Vector of accumulated conflicting conflict_redords with NULL end
     marker (if OBJECT_CONFLICT_VEC_P is true) or conflict bit vector
     otherwise.  
unsigned int ira_object::conflicts_array_size
     Allocated size of the conflicts array.  
int ira_object::id
     A unique number for every instance of this structure, which is used
     to represent it in conflict bit vectors.  
live_range_t ira_object::live_ranges
     Pointer to structures describing at what program point the
     object lives.  We always maintain the list in such way that *the
     ranges in the list are not intersected and ordered by decreasing
     their program points*.  
int ira_object::max
int ira_object::min
     Before building conflicts, MIN and MAX are initialized to
     correspondingly minimal and maximal points of the accumulated
     live ranges.  Afterwards, they hold the minimal and maximal ids
     of other ira_objects that this one can conflict with.  
int ira_object::num_accumulated_conflicts
     Number of accumulated conflicts in the vector of conflicting
     objects.  
int ira_object::subword
     The subword within ALLOCNO which is represented by this object.
     Zero means the lowest-order subword (or the entire allocno in case
     it is not being tracked in subwords).  
HARD_REG_SET ira_object::total_conflict_hard_regs

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