GCC Middle and Back End API Reference
constraint_data Class Reference
Collaboration diagram for constraint_data:

Data Fields

class constraint_datanext_this_letter
file_location loc
unsigned int namelen
char name [1]
class constraint_datanext_textual
const char * name
const char * c_name
size_t namelen
const char * regclass
rtx exp
const char * filter
unsigned int is_register: 1
unsigned int is_const_int: 1
unsigned int is_const_dbl: 1
unsigned int is_extra: 1
unsigned int is_memory: 1
unsigned int is_special_memory: 1
unsigned int is_relaxed_memory: 1
unsigned int is_address: 1
unsigned int maybe_allows_reg: 1
unsigned int maybe_allows_mem: 1

Detailed Description

Constraints fall into two categories: register constraints
(define_register_constraint), and others (define_constraint,
define_memory_constraint, define_special_memory_constraint,
define_relaxed_memory_constraint, define_address_constraint).  We work out
automatically which of the various old-style macros they correspond to, and
produce appropriate code.  They all go in the same hash table so we can
verify that there are no duplicate names.   
All data from one constraint definition.   

Field Documentation

◆ c_name

◆ exp

◆ filter

const char* constraint_data::filter

◆ is_address

unsigned int constraint_data::is_address

◆ is_const_dbl

unsigned int constraint_data::is_const_dbl

Referenced by add_constraint().

◆ is_const_int

unsigned int constraint_data::is_const_int

◆ is_extra

unsigned int constraint_data::is_extra

Referenced by add_constraint().

◆ is_memory

unsigned int constraint_data::is_memory

◆ is_register

◆ is_relaxed_memory

unsigned int constraint_data::is_relaxed_memory

◆ is_special_memory

unsigned int constraint_data::is_special_memory

◆ loc

file_location constraint_data::loc

◆ maybe_allows_mem

unsigned int constraint_data::maybe_allows_mem

◆ maybe_allows_reg

unsigned int constraint_data::maybe_allows_reg

◆ name [1/2]

◆ name [2/2]

const char* constraint_data::name

◆ namelen [1/2]

◆ namelen [2/2]

size_t constraint_data::namelen

◆ next_textual

class constraint_data* constraint_data::next_textual

Referenced by add_constraint().

◆ next_this_letter

◆ regclass

const char* constraint_data::regclass

The documentation for this class was generated from the following files: