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 |