GCC Middle and Back End API Reference
|
Data Fields | |
class constraint_data * | next_this_letter |
file_location | loc |
unsigned int | namelen |
char | name [1] |
class constraint_data * | next_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 |
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.
const char* constraint_data::c_name |
Referenced by add_constraint(), print_type_tree(), write_allows_reg_mem_function(), write_constraint_satisfied_p_array(), write_enum_constraint_num(), write_get_register_filter(), write_get_register_filter_id(), write_insn_const_int_ok_for_constraint(), write_lookup_constraint_1(), write_lookup_constraint_array(), write_range_function(), write_reg_class_for_constraint_1(), and write_tm_constrs_h().
rtx constraint_data::exp |
Referenced by add_constraint(), write_insn_const_int_ok_for_constraint(), and write_tm_constrs_h().
const char* constraint_data::filter |
Referenced by add_constraint(), write_get_register_filter(), and write_get_register_filter_id().
unsigned int constraint_data::is_address |
Referenced by add_constraint(), and choose_enum_order().
unsigned int constraint_data::is_const_dbl |
Referenced by add_constraint().
unsigned int constraint_data::is_const_int |
Referenced by add_constraint(), choose_enum_order(), and write_insn_const_int_ok_for_constraint().
unsigned int constraint_data::is_extra |
Referenced by add_constraint().
unsigned int constraint_data::is_memory |
Referenced by add_constraint(), and choose_enum_order().
unsigned int constraint_data::is_register |
unsigned int constraint_data::is_relaxed_memory |
Referenced by add_constraint(), and choose_enum_order().
unsigned int constraint_data::is_special_memory |
Referenced by add_constraint(), and choose_enum_order().
file_location constraint_data::loc |
Referenced by add_constraint(), mdep_constraint_len(), and note_constraint().
unsigned int constraint_data::maybe_allows_mem |
Referenced by add_constraint(), and choose_enum_order().
unsigned int constraint_data::maybe_allows_reg |
Referenced by add_constraint(), and choose_enum_order().
char constraint_data::name[1] |
Referenced by add_constraint(), mangle(), mdep_constraint_len(), note_constraint(), write_lookup_constraint_1(), and write_range_function().
const char* constraint_data::name |
unsigned int constraint_data::namelen |
size_t constraint_data::namelen |
class constraint_data* constraint_data::next_textual |
Referenced by add_constraint().
class constraint_data * constraint_data::next_this_letter |
Referenced by add_constraint(), mdep_constraint_len(), note_constraint(), write_insn_constraint_len(), and write_lookup_constraint_1().
const char* constraint_data::regclass |
Referenced by add_constraint(), and write_reg_class_for_constraint_1().