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

Data Fields

struct constraint_datanext_this_letter
struct constraint_datanext_textual
const char * name
const char * c_name
size_t namelen
const char * regclass
rtx exp
unsigned int lineno
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_address: 1

Detailed Description

Constraints fall into two categories: register constraints (define_register_constraint), and others (define_constraint, define_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

const char* constraint_data::c_name
rtx constraint_data::exp
unsigned int constraint_data::is_address
unsigned int constraint_data::is_const_dbl
unsigned int constraint_data::is_const_int
unsigned int constraint_data::is_extra
unsigned int constraint_data::is_memory
unsigned int constraint_data::is_register
unsigned int constraint_data::lineno
const char* constraint_data::name
size_t constraint_data::namelen

Referenced by write_lookup_constraint().

struct constraint_data* constraint_data::next_textual
struct constraint_data* constraint_data::next_this_letter

Referenced by write_lookup_constraint().

const char* constraint_data::regclass

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