GCC Middle and Back End API Reference
|
Data Fields | |
struct constraint_data * | next_this_letter |
int | lineno |
unsigned int | namelen |
const char | name [1] |
struct constraint_data * | next_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 |
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.
const char* constraint_data::c_name |
Referenced by write_constraint_satisfied_p(), write_insn_constraint_len(), and write_tm_constrs_h().
rtx constraint_data::exp |
Referenced by write_insn_constraint_len().
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 |
Referenced by write_constraint_satisfied_p().
unsigned int constraint_data::is_register |
Referenced by write_insn_constraint_len(), and write_tm_constrs_h().
int constraint_data::lineno |
unsigned int constraint_data::lineno |
const char constraint_data::name[1] |
const char* constraint_data::name |
unsigned int constraint_data::namelen |
Referenced by write_lookup_constraint().
size_t constraint_data::namelen |
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 |