GCC Middle and Back End API Reference
|
#include <ira-int.h>
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 |
A structure representing conflict information for an allocno (or one of its subwords).
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 |