#include "hconfig.h"#include "system.h"#include "rtl.h"#include "ggc.h"#include "gensupport.h"#include "obstack.h"#include "errors.h"#include "genattrtab.h"

Go to the source code of this file.
Data Types | |
| type | insn_def |
| type | insn_ent |
| type | attr_value |
| type | attr_desc |
| type | range |
| type | delay_desc |
| type | function_unit_op |
| type | function_unit |
| type | dimension |
| type | attr_hash |
Defines | |
| #define | ATTR_IND_SIMPLIFIED_P(RTX) (RTX_FLAG((RTX), unchanging)) |
| #define | ATTR_CURR_SIMPLIFIED_P(RTX) (RTX_FLAG((RTX), in_struct)) |
| #define | ATTR_PERMANENT_P(RTX) (RTX_FLAG((RTX), integrated)) |
| #define | ATTR_EQ_ATTR_P(RTX) (RTX_FLAG((RTX), volatil)) |
| #define | MAX_DIGITS (HOST_BITS_PER_INT * 3 / 10 + 3) |
| #define | NULL_ATTR (struct attr_desc *) NULL |
| #define | MAX_ATTRS_INDEX 256 |
| #define | SIMPLIFY_TEST_EXP(EXP, INSN_CODE, INSN_INDEX) |
| #define | SIMPLIFY_ALTERNATIVE(EXP) |
| #define | oballoc(size) obstack_alloc (hash_obstack, size) |
| #define | RTL_HASH_SIZE 4093 |
| #define | RTL_HASH(RTL) ((long) (RTL) & 0777777) |
| #define | NUM_UNITOP_CUTOFF 20 |
Enumerations | |
| enum | operator { PLUS_OP, MINUS_OP, POS_MINUS_OP, EQ_OP, OR_OP, ORX_OP, MAX_OP, MIN_OP, RANGE_OP, PLUS_OP, MINUS_OP, POS_MINUS_OP, EQ_OP, OR_OP, ORX_OP, MAX_OP, MIN_OP, RANGE_OP } |
Functions/Subroutines | |
| static void attr_hash_add_rtx | PARAMS ((int, rtx)) |
| static void attr_hash_add_string | PARAMS ((int, char *)) |
| static rtx attr_rtx | PARAMS ((enum rtx_code,...)) |
| static rtx attr_rtx_1 | PARAMS ((enum rtx_code, va_list)) |
| static char *attr_string | PARAMS ((const char *, int)) |
| static rtx check_attr_value | PARAMS ((rtx, struct attr_desc *)) |
| static rtx convert_set_attr_alternative | PARAMS ((rtx, struct insn_def *)) |
| static void check_defs | PARAMS ((void)) |
| static rtx make_canonical | PARAMS ((struct attr_desc *, rtx)) |
| static struct attr_value *get_attr_value | PARAMS ((rtx, struct attr_desc *, int)) |
| static rtx copy_rtx_unchanging | PARAMS ((rtx)) |
| static rtx operate_exp | PARAMS ((enum operator, rtx, rtx)) |
| static rtx simplify_knowing | PARAMS ((rtx, rtx)) |
| static void fill_attr | PARAMS ((struct attr_desc *)) |
| static rtx substitute_address | PARAMS ((rtx, rtx(*)(rtx), rtx(*)(rtx))) |
| static rtx simplify_cond | PARAMS ((rtx, int, int)) |
| static int find_and_mark_used_attributes | PARAMS ((rtx, rtx *, int *)) |
| static void unmark_used_attributes | PARAMS ((rtx, struct dimension *, int)) |
| static int add_values_to_cover | PARAMS ((struct dimension *)) |
| static int increment_current_value | PARAMS ((struct dimension *, int)) |
| static int count_sub_rtxs | PARAMS ((rtx, int)) |
| static void remove_insn_ent | PARAMS ((struct attr_value *, struct insn_ent *)) |
| static rtx insert_right_side | PARAMS ((enum rtx_code, rtx, rtx, int, int)) |
| static rtx make_alternative_compare | PARAMS ((int)) |
| static int compute_alternative_mask | PARAMS ((rtx, enum rtx_code)) |
| static rtx evaluate_eq_attr | PARAMS ((rtx, rtx, int, int)) |
| static rtx simplify_and_tree | PARAMS ((rtx, rtx *, int, int)) |
| static int max_attr_value | PARAMS ((rtx, int *)) |
| static void write_attr_set | PARAMS ((struct attr_desc *, int, rtx, const char *, const char *, rtx, int, int)) |
| static void write_attr_case | PARAMS ((struct attr_desc *, struct attr_value *, int, const char *, const char *, int, rtx)) |
| static void write_unit_name | PARAMS ((const char *, int, const char *)) |
| static void write_attr_valueq | PARAMS ((struct attr_desc *, const char *)) |
| static void write_upcase | PARAMS ((const char *)) |
| static void write_complex_function | PARAMS ((struct function_unit *, const char *, const char *)) |
| static char *next_comma_elt | PARAMS ((const char **)) |
| static void extend_range | PARAMS ((struct range *, int, int)) |
| static rtx attr_eq | PARAMS ((const char *, const char *)) |
| static void | attr_hash_add_rtx (int hashcode, rtx rtl) |
| static void | attr_hash_add_string (int hashcode, char *str) |
| static rtx | attr_rtx_1 (enum rtx_code code, va_list p) |
| static rtx attr_rtx | VPARAMS ((enum rtx_code code,...)) |
| char *attr_printf | VPARAMS ((unsigned int len, const char *fmt,...)) |
| static rtx | attr_eq (char *name, char *value) const |
| static const char * | attr_numeral (int n) |
| static char * | attr_string (char *str, int len) const |
| static int | attr_equal_p (rtx x, rtx y) |
| static rtx | attr_copy_rtx (rtx orig) |
| rtx | check_attr_test (rtx exp, int is_const, int lineno) |
| static rtx | check_attr_value (rtx exp, struct attr_desc *attr) |
| static rtx | convert_set_attr_alternative (rtx exp, struct insn_def *id) |
| static rtx | convert_set_attr (rtx exp, struct insn_def *id) |
| static void | check_defs () |
| static rtx | make_canonical (struct attr_desc *attr, rtx exp) |
| static rtx | copy_boolean (rtx exp) |
| static struct attr_value * | get_attr_value (rtx value, struct attr_desc *attr, int insn_code) |
| static void | expand_delays () |
| static rtx | operate_exp (enum operator op, rtx left, rtx right) |
| static void | expand_units () |
| static rtx | simplify_knowing (rtx exp, rtx known_true) |
| static rtx | encode_units_mask (rtx x) |
| static void | fill_attr (struct attr_desc *attr) |
| static rtx | substitute_address (rtx exp, no_address_fn, address_fn) |
| static void | make_length_attrs () |
| static rtx | identity_fn (rtx exp) |
| static rtx | zero_fn (exp) |
| static rtx | one_fn (exp) |
| static rtx | max_fn (rtx exp) |
| static void | write_length_unit_log () |
| static rtx | simplify_cond (rtx exp, int insn_code, int insn_index) |
| static void | remove_insn_ent (struct attr_value *av, struct insn_ent *ie) |
| static void | insert_insn_ent (struct attr_value *av, struct insn_ent *ie) |
| static rtx | insert_right_side (enum rtx_code code, rtx exp, rtx term, int insn_code, int insn_index) |
| static int | compute_alternative_mask (rtx exp, enum rtx_code code) |
| static rtx | make_alternative_compare (int mask) |
| static rtx | evaluate_eq_attr (rtx exp, rtx value, int insn_code, int insn_index) |
| static rtx | simplify_and_tree (rtx exp, rtx *pterm, int insn_code, int insn_index) |
| static rtx | simplify_or_tree (rtx exp, rtx *pterm, int insn_code, int insn_index) |
| static int | attr_rtx_cost (rtx x) |
| static rtx | simplify_test_exp_in_temp (rtx exp, int insn_code, int insn_index) |
| static rtx | simplify_test_exp (rtx exp, int insn_code, int insn_index) |
| static void | optimize_attrs () |
| static rtx | simplify_by_exploding (rtx exp) |
| static int | find_and_mark_used_attributes (rtx exp, rtx *terms, int *nterms) |
| static void | unmark_used_attributes (rtx list, struct dimension *space, int ndim) |
| static int | add_values_to_cover (struct dimension *dim) |
| static int | increment_current_value (struct dimension *space, int ndim) |
| static rtx | test_for_current_value (struct dimension *space, int ndim) |
| static rtx | simplify_with_current_value (rtx exp, struct dimension *space, int ndim) |
| static rtx | simplify_with_current_value_aux (rtx exp) |
| static void | clear_struct_flag (rtx x) |
| static int | count_sub_rtxs (rtx x, int max) |
| static void | gen_attr (rtx exp, int lineno) |
| static int | count_alternatives (rtx exp) |
| static int | compares_alternatives_p (rtx exp) |
| static int | contained_in_p (rtx inner, rtx exp) |
| static void | gen_insn (rtx exp, int lineno) |
| static void | gen_delay (rtx def, int lineno) |
| static void | gen_unit (rtx def, int lineno) |
| static void | write_test_expr (rtx exp, int flags) |
| static int | max_attr_value (rtx exp, int *unknownp) |
| static int | or_attr_value (rtx exp, int *unknownp) |
| static void | walk_attr_value (rtx exp) |
| static void | write_attr_get (struct attr_desc *attr) |
| static rtx | eliminate_known_true (rtx known_true, rtx exp, int insn_code, int insn_index) |
| static void | write_attr_set (struct attr_desc *attr, int indent, rtx value, const char *prefix, const char *suffix, rtx known_true, int insn_code, int insn_index) |
| static void | write_attr_case (struct attr_desc *attr, struct attr_value *av, int write_case_lines, const char *prefix, const char *suffix, int indent, rtx known_true) |
| static int | write_expr_attr_cache (rtx p, struct attr_desc *attr) |
| static void | write_toplevel_expr (rtx p) |
| static void | write_unit_name (char *prefix, int num, const char *suffix) const |
| static void | write_attr_valueq (struct attr_desc *attr, const char *s) |
| static void | write_attr_value (struct attr_desc *attr, rtx value) |
| static void | write_upcase (char *str) const |
| static void | write_indent (int indent) |
| static void | write_eligible_delay (char *kind) const |
| static void | write_function_unit_info () |
| static void | write_complex_function (struct function_unit *unit, const char *name, const char *connection) |
| static char * | next_comma_elt (char **pstr) const |
| static struct attr_desc * | find_attr (char *name, int create) const |
| void | make_internal_attr (char *name, rtx value, int special) const |
| static struct attr_value * | find_most_used (struct attr_desc *attr) |
| static rtx | find_single_value (struct attr_desc *attr) |
| rtx | make_numeric_value (int n) |
| static void | extend_range (struct range *range, int min, int max) |
| static rtx | copy_rtx_unchanging (rtx orig) |
| static void | write_const_num_delay_slots () |
| int main | PARAMS ((int, char **)) |
| int | main (int argc, char **argv) |
| const char * | get_insn_name (code) |
Variables | |
| static struct obstack obstack1 | obstack2 |
| struct obstack * | hash_obstack = &obstack1 |
| struct obstack * | temp_obstack = &obstack2 |
| static struct attr_desc * | attrs [MAX_ATTRS_INDEX] |
| static struct insn_def * | defs |
| static struct delay_desc * | delays |
| static struct function_unit * | units |
| static int | insn_code_number |
| static int | insn_index_number |
| static int | got_define_asm_attributes |
| static int | must_extract |
| static int | must_constrain |
| static int | address_used |
| static int | length_used |
| static int | num_delays |
| static int | have_annul_true |
| static int | have_annul_false |
| static int | num_units |
| static int | num_unit_opclasses |
| static int | num_insn_ents |
| int | num_dfa_decls |
| static int * | insn_n_alternatives |
| static int * | insn_alternatives |
| static const char * | current_alternative_string |
| static rtx | true_rtx |
| static rtx | false_rtx |
| static char * | alternative_name |
| int | reload_completed = 0 |
| int | optimize = 0 |
| rtx | global_rtl [GR_MAX] |
| rtx | pic_offset_table_rtx |
| struct attr_hash * | attr_hash_table [RTL_HASH_SIZE] |
| #define ATTR_CURR_SIMPLIFIED_P | ( | RTX | ) | (RTX_FLAG((RTX), in_struct)) |
Definition at line 103 of file genattrtab.c.
Referenced by attr_copy_rtx(), clear_struct_flag(), copy_rtx_unchanging(), and simplify_test_exp().
| #define ATTR_EQ_ATTR_P | ( | RTX | ) | (RTX_FLAG((RTX), volatil)) |
Definition at line 105 of file genattrtab.c.
Referenced by add_values_to_cover(), attr_copy_rtx(), find_and_mark_used_attributes(), simplify_by_exploding(), simplify_with_current_value(), simplify_with_current_value_aux(), and unmark_used_attributes().
| #define ATTR_IND_SIMPLIFIED_P | ( | RTX | ) | (RTX_FLAG((RTX), unchanging)) |
Definition at line 102 of file genattrtab.c.
Referenced by attr_copy_rtx(), check_attr_test(), clear_struct_flag(), copy_rtx_unchanging(), evaluate_eq_attr(), main(), make_alternative_compare(), make_canonical(), simplify_test_exp(), simplify_test_exp_in_temp(), and walk_attr_value().
| #define ATTR_PERMANENT_P | ( | RTX | ) | (RTX_FLAG((RTX), integrated)) |
Definition at line 104 of file genattrtab.c.
Referenced by attr_copy_rtx(), attr_equal_p(), attr_rtx_1(), and main().
| #define MAX_ATTRS_INDEX 256 |
Definition at line 252 of file genattrtab.c.
Referenced by find_attr(), main(), optimize_attrs(), and write_toplevel_expr().
| #define MAX_DIGITS (HOST_BITS_PER_INT * 3 / 10 + 3) |
Definition at line 129 of file genattrtab.c.
Referenced by encode_units_mask(), expand_delays(), expand_units(), and make_numeric_value().
| #define NUM_UNITOP_CUTOFF 20 |
Referenced by expand_units().
| #define oballoc | ( | size | ) | obstack_alloc (hash_obstack, size) |
Definition at line 470 of file genattrtab.c.
Referenced by fill_attr(), find_attr(), gen_attr(), gen_bypass_1(), gen_delay(), gen_insn(), gen_insn_reserv(), gen_unit(), get_attr_value(), main(), and make_length_attrs().
| #define RTL_HASH | ( | RTL | ) | ((long) (RTL) & 0777777) |
| #define RTL_HASH_SIZE 4093 |
Definition at line 496 of file genattrtab.c.
Referenced by attr_hash_add_rtx(), attr_hash_add_string(), attr_rtx_1(), and attr_string().
| #define SIMPLIFY_ALTERNATIVE | ( | EXP | ) |
Value:
if (current_alternative_string \ && GET_CODE ((EXP)) == EQ_ATTR \ && XSTR ((EXP), 0) == alternative_name) \ (EXP) = (XSTR ((EXP), 1) == current_alternative_string \ ? true_rtx : false_rtx);
Definition at line 362 of file genattrtab.c.
Referenced by evaluate_eq_attr(), and simplify_test_exp().
| #define SIMPLIFY_TEST_EXP | ( | EXP, | |||
| INSN_CODE, | |||||
| INSN_INDEX | ) |
Value:
(ATTR_IND_SIMPLIFIED_P (EXP) || ATTR_CURR_SIMPLIFIED_P (EXP) ? (EXP) \ : simplify_test_exp (EXP, INSN_CODE, INSN_INDEX))
Definition at line 356 of file genattrtab.c.
Referenced by eliminate_known_true(), and simplify_test_exp().
| enum operator |
| PLUS_OP | |
| MINUS_OP | |
| POS_MINUS_OP | |
| EQ_OP | |
| OR_OP | |
| ORX_OP | |
| MAX_OP | |
| MIN_OP | |
| RANGE_OP | |
| PLUS_OP | |
| MINUS_OP | |
| POS_MINUS_OP | |
| EQ_OP | |
| OR_OP | |
| ORX_OP | |
| MAX_OP | |
| MIN_OP | |
| RANGE_OP |
Definition at line 319 of file genattrtab.c.
Definition at line 3908 of file genattrtab.c.
References abort, attr_eq(), ATTR_EQ_ATTR_P, attr_rtx(), false_rtx, GET_CODE, insert_right_side(), attr_value::next, NOT, prev, rtx_alloc, attr_value::value, XEXP, and XSTR.
Referenced by simplify_by_exploding().
Definition at line 845 of file genattrtab.c.
References abort, ATTR_CURR_SIMPLIFIED_P, ATTR_EQ_ATTR_P, ATTR_IND_SIMPLIFIED_P, ATTR_PERMANENT_P, copy, GET_CODE, GET_MODE, GET_RTX_FORMAT, GET_RTX_LENGTH, i, NULL, PC, PUT_MODE, REG, rtvec_alloc(), rtx_alloc, RTX_CODE, XEXP, XINT, XSTR, XVEC, XVECEXP, XVECLEN, and XWINT.
Referenced by attr_copy_rtx(), expand_units(), optimize_attrs(), and simplify_test_exp_in_temp().
| static rtx attr_eq | ( | char * | name, | |
| char * | value | |||
| ) | const [static] |
Definition at line 779 of file genattrtab.c.
References attr_rtx(), attr_string(), and strlen().
Referenced by add_values_to_cover(), check_attr_test(), and convert_set_attr_alternative().
Definition at line 833 of file genattrtab.c.
References ATTR_PERMANENT_P, and rtx_equal_p().
Referenced by insert_right_side(), simplify_and_tree(), simplify_cond(), simplify_or_tree(), and simplify_test_exp().
Definition at line 506 of file genattrtab.c.
References h, attr_hash::hashcode, attr_hash::next, obstack_alloc, attr_hash::rtl, RTL_HASH_SIZE, and attr_hash::u.
Referenced by attr_rtx_1().
| static void attr_hash_add_string | ( | int | hashcode, | |
| char * | str | |||
| ) | [static] |
Definition at line 523 of file genattrtab.c.
References h, attr_hash::hashcode, attr_hash::next, obstack_alloc, RTL_HASH_SIZE, attr_hash::str, and attr_hash::u.
Referenced by attr_string().
| static const char* attr_numeral | ( | int | n | ) | [static] |
Definition at line 787 of file genattrtab.c.
References make_numeric_value(), and XSTR.
Referenced by convert_set_attr_alternative(), and make_alternative_compare().
Definition at line 548 of file genattrtab.c.
References abort, attr_hash_add_rtx(), ATTR_PERMANENT_P, attr_string(), false_rtx, GET_CODE, GET_RTX_CLASS, GET_RTX_FORMAT, GET_RTX_LENGTH, h, attr_hash::hashcode, HOST_WIDE_INT, i, if(), attr_hash::next, NULL_RTX, attr_hash::rtl, RTL_HASH, RTL_HASH_SIZE, rtl_obstack, rtx_alloc, strlen(), true_rtx, attr_hash::u, va_arg, XEXP, XINT, XSTR, XVEC, and XWINT.
Referenced by attr_rtx(), and VPARAMS().
| static int attr_rtx_cost | ( | rtx | x | ) | [static] |
Definition at line 3182 of file genattrtab.c.
References GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, strcmp(), XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by attr_rtx_cost(), and simplify_test_exp().
| static char* attr_string | ( | char * | str, | |
| int | len | |||
| ) | const [static] |
Definition at line 797 of file genattrtab.c.
References attr_hash_add_string(), h, attr_hash::hashcode, i, memcpy, attr_hash::next, obstack_alloc, RTL_HASH_SIZE, attr_hash::str, strncmp(), attr_hash::u, and unsigned.
Referenced by attr_eq(), attr_rtx_1(), evaluate_eq_attr(), find_attr(), gen_bypass_1(), main(), next_comma_elt(), and VPARAMS().
Definition at line 942 of file genattrtab.c.
Referenced by check_attr_test(), check_attr_value(), expand_units(), gen_insn_reserv(), and process_decls().
Definition at line 1091 of file genattrtab.c.
References AND, attr_rtx(), check_attr_test(), COND, DIV, find_attr(), attr_desc::first_value, GET_CODE, GET_RTX_NAME, have_error, i, INTVAL, attr_desc::is_const, attr_desc::is_numeric, ISDIGIT, attr_desc::lineno, message_with_line(), MINUS, MOD, attr_desc::name, attr_desc::negative_ok, attr_value::next, NULL, p, PLUS, strcmp(), attr_value::value, XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by check_attr_value(), check_defs(), expand_units(), gen_attr(), main(), and make_canonical().
Definition at line 1333 of file genattrtab.c.
References check_attr_value(), convert_set_attr(), convert_set_attr_alternative(), insn_def::def, find_attr(), GET_CODE, GET_RTX_NAME, have_error, i, insn_def::lineno, message_with_line(), insn_def::next, NULL, NULL_RTX, SET, insn_def::vec_idx, XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by main().
Definition at line 4125 of file genattrtab.c.
References ATTR_CURR_SIMPLIFIED_P, ATTR_IND_SIMPLIFIED_P, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, PC, REG, XEXP, XVECEXP, and XVECLEN.
Referenced by clear_struct_flag(), evaluate_eq_attr(), and optimize_attrs().
| static int compares_alternatives_p | ( | rtx | exp | ) | [static] |
Definition at line 4351 of file genattrtab.c.
References alternative_name, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by compares_alternatives_p(), and get_attr_value().
Definition at line 2814 of file genattrtab.c.
References alternative_name, AND, atoi(), GET_CODE, NOT, XEXP, and XSTR.
Referenced by compute_alternative_mask(), and simplify_test_exp().
Definition at line 4383 of file genattrtab.c.
References GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, rtx_equal_p(), XEXP, XVECEXP, and XVECLEN.
Referenced by contained_in_p(), and write_complex_function().
Definition at line 1299 of file genattrtab.c.
References attr_rtx(), convert_set_attr_alternative(), n, n_comma_elts(), next_comma_elt(), NULL, p, rtvec_alloc(), rtx_alloc, SET, XSTR, XVEC, and XVECEXP.
Referenced by check_defs().
Definition at line 1260 of file genattrtab.c.
References alternative_name, attr_eq(), attr_numeral(), attr_rtx(), COND, have_error, i, insn_def::lineno, message_with_line(), NULL_RTX, p, rtvec_alloc(), rtx_alloc, SET, XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by check_defs(), and convert_set_attr().
Definition at line 1536 of file genattrtab.c.
References AND, attr_rtx(), GET_CODE, and XEXP.
Referenced by copy_boolean(), and make_canonical().
Definition at line 5983 of file genattrtab.c.
References ATTR_CURR_SIMPLIFIED_P, ATTR_IND_SIMPLIFIED_P, copy, GET_CODE, GET_MODE, GET_RTX_LENGTH, memcpy, PUT_MODE, rtx_alloc, RTX_CODE, and XEXP.
Referenced by evaluate_eq_attr(), and simplify_test_exp().
| static int count_alternatives | ( | rtx | exp | ) | [static] |
Definition at line 4313 of file genattrtab.c.
References GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, n, n_comma_elts(), NULL, XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by count_alternatives(), and gen_insn().
| static int count_sub_rtxs | ( | rtx | x, | |
| int | max | |||
| ) | [static] |
Definition at line 4183 of file genattrtab.c.
References GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, PC, REG, XEXP, XVECEXP, and XVECLEN.
Referenced by count_sub_rtxs(), and optimize_attrs().
Definition at line 5093 of file genattrtab.c.
References AND, GET_CODE, simplify_and_tree(), SIMPLIFY_TEST_EXP, and XEXP.
Referenced by eliminate_known_true(), and write_attr_set().
Definition at line 2276 of file genattrtab.c.
References abort, atoi(), attr_printf(), attr_rtx(), GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, MAX_DIGITS, PC, REG, XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by encode_units_mask(), and expand_units().
Definition at line 2870 of file genattrtab.c.
References abort, address_used, AND, ATTR_IND_SIMPLIFIED_P, attr_rtx(), attr_string(), clear_struct_flag(), COND, copy_rtx_unchanging(), current_alternative_string, EQ, false_rtx, GET_CODE, insert_right_side(), NOT, SIMPLIFY_ALTERNATIVE, simplify_test_exp_in_temp(), strcat(), strcmp(), strcpy, strlen(), TOUPPER, true_rtx, walk_attr_value(), XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by evaluate_eq_attr(), simplify_test_exp(), and write_test_expr().
Definition at line 1604 of file genattrtab.c.
References attr_printf(), attr_rtx(), COND, delay_desc::def, delay(), false_rtx, have_annul_false, have_annul_true, make_internal_attr(), make_numeric_value(), MAX_DIGITS, delay_desc::next, delay_desc::num, num_delays, rtvec_alloc(), rtx_alloc, XEXP, XVEC, XVECEXP, and XVECLEN.
Referenced by main().
| static void expand_units | ( | ) | [static] |
Definition at line 1892 of file genattrtab.c.
References atoi(), attr_copy_rtx(), attr_printf(), attr_rtx(), check_attr_test(), check_attr_value(), COND, function_unit::condexp, function_unit_op::condexp, function_unit_op::conflict_exp, encode_units_mask(), EQ_OP, false_rtx, function_unit::first_lineno, GET_CODE, insert_right_side(), function_unit::issue_delay, function_unit_op::issue_delay, function_unit_op::issue_exp, function_unit_op::lineno, make_canonical(), make_internal_attr(), make_numeric_value(), range::max, max_attr_value(), function_unit::max_blockage, MAX_DIGITS, MAX_OP, memcpy, range::min, MIN_OP, function_unit::name, function_unit::needs_blockage_function, function_unit::needs_conflict_function, function_unit::needs_range_function, function_unit::next, function_unit_op::next, NULL_ATTR, function_unit_op::num, function_unit::num, function_unit::num_opclasses, num_unit_opclasses, NUM_UNITOP_CUTOFF, num_units, op_array, operate_exp(), function_unit::ops, OR_OP, ORX_OP, RANGE_OP, function_unit_op::ready, rtvec_alloc(), rtx_alloc, simplify_by_exploding(), simplify_knowing(), str, strlen(), true_rtx, unknown, XEXP, xmalloc(), XSTR, XVEC, and XVECEXP.
Referenced by main().
Definition at line 5971 of file genattrtab.c.
Definition at line 2344 of file genattrtab.c.
References insn_def::def, get_attr_value(), insert_insn_ent(), insn_ent::insn_code, insn_def::insn_code, insn_ent::insn_index, insn_def::next, NULL, oballoc, strcmp(), insn_def::vec_idx, XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by main().
Definition at line 3832 of file genattrtab.c.
References AND, ATTR_EQ_ATTR_P, COND, GET_CODE, NOT, rtx_alloc, XEXP, XVECEXP, and XVECLEN.
Referenced by find_and_mark_used_attributes(), and simplify_by_exploding().
Definition at line 5842 of file genattrtab.c.
References alternative_name, attr_string(), attr_desc::blockage_p, attr_desc::default_val, attr_desc::first_value, attr_desc::func_units_p, index(), attr_desc::is_const, attr_desc::is_numeric, attr_desc::is_special, MAX_ATTRS_INDEX, attr_desc::name, attr_desc::negative_ok, attr_desc::next, NULL, oballoc, strcmp(), strlen(), and attr_desc::unsigned_p.
Referenced by check_attr_test(), check_attr_value(), check_defs(), gen_attr(), make_internal_attr(), make_length_attrs(), simplify_by_exploding(), simplify_test_exp(), write_attr_value(), write_complex_function(), write_const_num_delay_slots(), write_eligible_delay(), write_length_unit_log(), and write_test_expr().
| static struct attr_value* find_most_used | ( | struct attr_desc * | attr | ) | [static, read] |
Definition at line 5905 of file genattrtab.c.
References attr_value::next, NULL, and attr_value::num_insns.
Referenced by write_attr_get(), write_complex_function(), and write_eligible_delay().
Definition at line 5926 of file genattrtab.c.
References attr_value::next, NULL, attr_value::num_insns, and attr_value::value.
Referenced by write_complex_function().
Definition at line 4243 of file genattrtab.c.
References attr_rtx(), check_attr_value(), CONST, attr_desc::default_val, find_attr(), attr_value::first_insn, attr_desc::first_value, get_attr_value(), GET_CODE, attr_value::has_asm_insn, have_error, attr_desc::is_const, attr_desc::is_numeric, attr_desc::lineno, message_with_line(), attr_desc::name, attr_value::next, next_comma_elt(), NULL, attr_value::num_insns, oballoc, strcmp(), attr_value::value, XEXP, and XSTR.
Definition at line 4465 of file genattrtab.c.
References delay_desc::def, delay(), have_annul_false, have_annul_true, have_error, delay_desc::lineno, message_with_line(), delay_desc::next, delay_desc::num, num_delays, oballoc, XVECEXP, and XVECLEN.
Referenced by main().
Definition at line 4416 of file genattrtab.c.
References abort, count_alternatives(), insn_def::def, GET_CODE, got_define_asm_attributes, insn_code_number, insn_index_number, insn_def::num_alternatives, and oballoc.
Referenced by main().
Definition at line 4503 of file genattrtab.c.
References function_unit::condexp, function_unit_op::condexp, function_unit_op::conflict_exp, extend_range(), false_rtx, function_unit::first_lineno, have_error, insert_right_side(), function_unit::issue_delay, function_unit_op::issue_delay, function_unit_op::lineno, MAX, range::max, message_with_line(), range::min, function_unit::multiplicity, function_unit::name, function_unit::next, function_unit_op::next, function_unit_op::num, function_unit::num, function_unit::num_opclasses, num_unit_opclasses, num_units, oballoc, function_unit::ops, function_unit_op::ready, function_unit::simultaneity, strcmp(), true_rtx, XEXP, XINT, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by main().
| static struct attr_value* get_attr_value | ( | rtx | value, | |
| struct attr_desc * | attr, | |||
| int | insn_code | |||
| ) | [static, read] |
Definition at line 1555 of file genattrtab.c.
References compares_alternatives_p(), fatal(), attr_value::first_insn, attr_desc::first_value, attr_value::has_asm_insn, insn_alternatives, insn_ent::insn_code, make_canonical(), attr_value::next, NULL, attr_value::num_insns, oballoc, rtx_equal_p(), and attr_value::value.
Referenced by fill_attr(), gen_attr(), make_internal_attr(), make_length_attrs(), optimize_attrs(), and print_attribute().
| const char* get_insn_name | ( | code | ) |
Definition at line 3973 of file genattrtab.c.
References XEXP.
Referenced by simplify_by_exploding().
| static void insert_insn_ent | ( | struct attr_value * | av, | |
| struct insn_ent * | ie | |||
| ) | [static] |
Definition at line 2725 of file genattrtab.c.
References insn_ent::insn_code, insn_ent::next, and num_insn_ents.
Referenced by fill_attr(), make_length_attrs(), and optimize_attrs().
| static rtx insert_right_side | ( | enum rtx_code | code, | |
| rtx | exp, | |||
| rtx | term, | |||
| int | insn_code, | |||
| int | insn_index | |||
| ) | [static] |
Definition at line 2748 of file genattrtab.c.
References AND, attr_equal_p(), attr_rtx(), false_rtx, GET_CODE, simplify_test_exp_in_temp(), true_rtx, and XEXP.
Referenced by add_values_to_cover(), check_attr_test(), evaluate_eq_attr(), expand_units(), gen_unit(), insert_right_side(), simplify_cond(), test_for_current_value(), and write_attr_set().
| int main | ( | int argc | , | |
| char ** | argv | |||
| ) |
Definition at line 6061 of file genattrtab.c.
References alternative_name, ATTR_IND_SIMPLIFIED_P, ATTR_PERMANENT_P, attr_string(), check_attr_value(), check_defs(), attr_desc::default_val, expand_automata(), expand_delays(), expand_units(), false_rtx, fatal(), FATAL_EXIT_CODE, ferror(), fflush(), fill_attr(), gen_absence_set(), gen_attr(), gen_automata_option(), gen_automaton(), gen_bypass(), gen_cpu_unit(), gen_delay(), gen_excl_set(), gen_insn(), gen_insn_reserv(), gen_presence_set(), gen_query_cpu_unit(), gen_reserv(), gen_unit(), GET_CODE, got_define_asm_attributes, have_annul_false, have_annul_true, have_error, init_md_reader_args(), initiate_automaton_gen(), insn_alternatives, insn_def::insn_code, insn_code_number, insn_index_number, insn_n_alternatives, attr_desc::is_const, attr_desc::is_special, lineno, make_length_attrs(), MAX_ATTRS_INDEX, insn_def::next, attr_desc::next, NULL, num_delays, num_dfa_decls, num_units, oballoc, obstack_init, optimize_attrs(), printf(), progname, read_md_rtx(), rtvec_alloc(), rtx_alloc, strlen(), SUCCESS_EXIT_CODE, true_rtx, attr_value::value, write_attr_get(), write_automata(), write_const_num_delay_slots(), write_eligible_delay(), write_function_unit_info(), write_length_unit_log(), XVEC, and XWINT.
| static rtx make_alternative_compare | ( | int | mask | ) | [static] |
Definition at line 2844 of file genattrtab.c.
References alternative_name, ATTR_IND_SIMPLIFIED_P, attr_numeral(), and attr_rtx().
Referenced by simplify_test_exp().
Definition at line 1448 of file genattrtab.c.
References ATTR_IND_SIMPLIFIED_P, check_attr_value(), COND, cond, copy_boolean(), fatal(), GET_CODE, INTVAL, make_numeric_value(), rtvec_alloc(), rtx_alloc, rtx_equal_p(), strcmp(), XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by expand_units(), get_attr_value(), and make_canonical().
Definition at line 5881 of file genattrtab.c.
References abort, attr_desc::blockage_p, attr_desc::default_val, find_attr(), attr_desc::func_units_p, get_attr_value(), attr_desc::is_const, attr_desc::is_numeric, attr_desc::is_special, attr_desc::negative_ok, and attr_desc::unsigned_p.
Referenced by expand_delays(), expand_units(), make_automaton_attrs(), make_bypass_attr(), make_default_insn_latency_attr(), make_insn_alts_attr(), make_internal_dfa_insn_code_attr(), and make_length_attrs().
Definition at line 2468 of file genattrtab.c.
References ARRAY_SIZE, attr_desc::default_val, fatal(), find_attr(), attr_value::first_insn, attr_desc::first_value, get_attr_value(), identity_fn(), insert_insn_ent(), insn_ent::insn_code, insn_ent::insn_index, attr_desc::is_const, attr_desc::is_numeric, attr_desc::is_special, make_internal_attr(), max_fn(), insn_ent::next, attr_value::next, oballoc, one_fn(), PARAMS, substitute_address(), attr_value::value, and zero_fn().
Referenced by main().
| static rtx make_numeric_value | ( | int | n | ) |
Definition at line 5948 of file genattrtab.c.
Referenced by attr_numeral(), expand_delays(), expand_units(), make_automaton_attrs(), make_bypass_attr(), make_canonical(), make_default_insn_latency_attr(), make_insn_alts_attr(), make_internal_dfa_insn_code_attr(), max_fn(), min_fn(), one_fn(), operate_exp(), simplify_knowing(), write_complex_function(), write_function_unit_info(), and zero_fn().
| static int max_attr_value | ( | rtx | exp, | |
| int * | unknownp | |||
| ) | [static] |
Definition at line 4843 of file genattrtab.c.
References atoi(), COND, GET_CODE, INT_MAX, n, XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by expand_units(), max_attr_value(), max_fn(), and simplify_knowing().
Definition at line 2539 of file genattrtab.c.
References make_numeric_value(), max_attr_value(), and unknown.
Referenced by make_length_attrs().
| static char* next_comma_elt | ( | char ** | pstr | ) | const [static] |
Definition at line 5825 of file genattrtab.c.
References attr_string(), NULL, scan_comma_elt(), and start.
Referenced by check_attr_test(), convert_set_attr(), and gen_attr().
| static rtx one_fn | ( | exp | ) | [static] |
Definition at line 2532 of file genattrtab.c.
References make_numeric_value().
Referenced by make_length_attrs().
Definition at line 1696 of file genattrtab.c.
References abort, atoi(), attr_rtx(), COND, EQ_OP, fatal(), GET_CODE, HOST_BITS_PER_INT, make_numeric_value(), MAX_OP, MIN_OP, MINUS_OP, NULL, OR_OP, ORX_OP, PLUS_OP, POS_MINUS_OP, RANGE_OP, rtvec_alloc(), rtx_alloc, rtx_equal_p(), XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by expand_units(), and operate_exp().
Definition at line 3533 of file genattrtab.c.
References abort, attr_copy_rtx(), clear_struct_flag(), COND, count_sub_rtxs(), attr_value::first_insn, attr_desc::first_value, free(), get_attr_value(), GET_CODE, insert_insn_ent(), insn_ent::insn_code, insn_code_number, insn_ent::insn_index, insn_n_alternatives, MAX_ATTRS_INDEX, memset, insn_ent::next, attr_value::next, next, attr_desc::next, num_insn_ents, remove_insn_ent(), rtl_obstack, simplify_cond(), attr_value::value, and xmalloc().
Referenced by main().
| static int or_attr_value | ( | rtx | exp, | |
| int * | unknownp | |||
| ) | [static] |
Definition at line 4887 of file genattrtab.c.
References atoi(), COND, GET_CODE, XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by or_attr_value(), and write_length_unit_log().
| int main PARAMS | ( | (int, char **) | ) |
| static rtx attr_eq PARAMS | ( | (const char *, const char *) | ) | [static] |
| static char* next_comma_elt PARAMS | ( | (const char **) | ) | [static] |
| static void write_complex_function PARAMS | ( | (struct function_unit *, const char *, const char *) | ) | [static] |
| static void write_upcase PARAMS | ( | (const char *) | ) | [static] |
Definition at line 635 of file mips-tfile.c.
| static void write_unit_name PARAMS | ( | (const char *, int, const char *) | ) | [static] |
| static void write_attr_case PARAMS | ( | (struct attr_desc *, struct attr_value *, int, const char *, const char *, int, rtx) | ) | [static] |
| static void write_attr_set PARAMS | ( | (struct attr_desc *, int, rtx, const char *, const char *, rtx, int, int) | ) | [static] |
| static int max_attr_value PARAMS | ( | (rtx, int *) | ) | [static] |
| static rtx make_alternative_compare PARAMS | ( | (int) | ) | [static] |
| static void remove_insn_ent PARAMS | ( | (struct attr_value *, struct insn_ent *) | ) | [static] |
| static int count_sub_rtxs PARAMS | ( | (rtx, int) | ) | [static] |
| static struct attr_value* get_attr_value PARAMS | ( | (rtx, struct attr_desc *, int) | ) | [static, read] |
Definition at line 77 of file cplus-dem.c.
| static char* attr_string PARAMS | ( | (const char *, int) | ) | [static] |
| static void attr_hash_add_string PARAMS | ( | (int, char *) | ) | [static] |
| static void remove_insn_ent | ( | struct attr_value * | av, | |
| struct insn_ent * | ie | |||
| ) | [static] |
Definition at line 2700 of file genattrtab.c.
References insn_ent::insn_code, insn_ent::next, and num_insn_ents.
Referenced by optimize_attrs().
Definition at line 2994 of file genattrtab.c.
References AND, attr_equal_p(), attr_rtx(), false_rtx, GET_CODE, NOT, simplify_test_exp_in_temp(), strcmp(), true_rtx, XEXP, and XSTR.
Referenced by eliminate_known_true(), simplify_and_tree(), and simplify_test_exp().
Definition at line 3677 of file genattrtab.c.
References abort, add_values_to_cover(), dimension::attr, ATTR_EQ_ATTR_P, COND, dimension::current_value, find_and_mark_used_attributes(), find_attr(), free(), GET_CODE, increment_current_value(), attr_desc::is_const, attr_desc::is_numeric, NULL_RTX, dimension::num_values, prev, ret, rtvec_alloc(), rtx_alloc, simplify_with_current_value(), strcmp(), test_for_current_value(), unmark_used_attributes(), dimension::values, values, XEXP, xmalloc(), XSTR, XVEC, and XVECEXP.
Referenced by expand_units(), and simplify_knowing().
Definition at line 2582 of file genattrtab.c.
References attr_equal_p(), COND, false_rtx, free(), GET_CODE, insert_right_side(), len, memcpy, obstack_finish, ret, rtl_obstack, rtvec_alloc(), rtx_alloc, simplify_test_exp_in_temp(), true_rtx, XEXP, xmalloc(), XVEC, XVECEXP, and XVECLEN.
Referenced by forward_propagate_into_cond(), optimize_attrs(), and simplify_cond().
Definition at line 2253 of file genattrtab.c.
References attr_rtx(), GET_CODE, make_numeric_value(), max, max_attr_value(), simplify_by_exploding(), and unknown.
Referenced by expand_units().
Definition at line 3113 of file genattrtab.c.
References AND, attr_equal_p(), attr_rtx(), false_rtx, GET_CODE, NOT, simplify_test_exp_in_temp(), true_rtx, XEXP, and XSTR.
Referenced by simplify_or_tree(), and simplify_test_exp().
Definition at line 3260 of file genattrtab.c.
References alternative_name, AND, ATTR_CURR_SIMPLIFIED_P, attr_equal_p(), ATTR_IND_SIMPLIFIED_P, attr_rtx(), attr_rtx_cost(), compute_alternative_mask(), copy_rtx_unchanging(), current_alternative_string, evaluate_eq_attr(), false_rtx, fatal(), find_attr(), attr_value::first_insn, attr_desc::first_value, GET_CODE, insn_alternatives, insn_ent::insn_code, make_alternative_compare(), insn_ent::next, attr_value::next, NOT, NULL, SIMPLIFY_ALTERNATIVE, simplify_and_tree(), simplify_or_tree(), SIMPLIFY_TEST_EXP, true_rtx, attr_value::value, x, XEXP, and XSTR.
Referenced by simplify_test_exp(), and simplify_test_exp_in_temp().
Definition at line 3233 of file genattrtab.c.
References attr_copy_rtx(), ATTR_IND_SIMPLIFIED_P, rtl_obstack, simplify_test_exp(), and x.
Referenced by evaluate_eq_attr(), insert_right_side(), simplify_and_tree(), simplify_cond(), and simplify_or_tree().
Definition at line 4013 of file genattrtab.c.
References ATTR_EQ_ATTR_P, GET_CODE, simplify_with_current_value_aux(), x, and XEXP.
Referenced by simplify_by_exploding().
Definition at line 4046 of file genattrtab.c.
References abort, AND, ATTR_EQ_ATTR_P, attr_rtx(), COND, cond, false_rtx, GET_CODE, NOT, true_rtx, XEXP, XVECEXP, and XVECLEN.
Referenced by simplify_with_current_value(), and simplify_with_current_value_aux().
Definition at line 2389 of file genattrtab.c.
References address_used, attr_rtx(), COND, GET_CODE, rtvec_alloc(), rtx_alloc, walk_attr_value(), XEXP, XVEC, XVECEXP, and XVECLEN.
Referenced by make_length_attrs(), and substitute_address().
Definition at line 3993 of file genattrtab.c.
References AND, insert_right_side(), true_rtx, and XEXP.
Referenced by simplify_by_exploding().
Definition at line 3885 of file genattrtab.c.
References ATTR_EQ_ATTR_P, GET_CODE, values, and XEXP.
Referenced by simplify_by_exploding(), and unmark_used_attributes().
| char* attr_printf VPARAMS | ( | (unsigned int len, const char *fmt,...) | ) |
Definition at line 751 of file genattrtab.c.
References abort, attr_string(), p, str, strlen(), VA_CLOSE, va_end, VA_FIXEDARG, VA_OPEN, VA_START, and vsprintf().
Definition at line 724 of file genattrtab.c.
References attr_rtx_1(), p, result, VA_CLOSE, va_end, VA_FIXEDARG, VA_OPEN, and VA_START.
Definition at line 4931 of file genattrtab.c.
References address_used, alternative_name, ATTR_IND_SIMPLIFIED_P, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, length_used, must_constrain, must_extract, NULL, PC, RTX_CODE, strcmp(), XEXP, XSTR, XVEC, XVECEXP, and XVECLEN.
Referenced by evaluate_eq_attr(), substitute_address(), walk_attr_value(), write_attr_case(), and write_const_num_delay_slots().
| static void write_attr_case | ( | struct attr_desc * | attr, | |
| struct attr_value * | av, | |||
| int | write_case_lines, | |||
| const char * | prefix, | |||
| const char * | suffix, | |||
| int | indent, | |||
| rtx | known_true | |||
| ) | [static] |
Definition at line 5219 of file genattrtab.c.
References address_used, attr_value::first_insn, attr_value::has_asm_insn, insn_ent::insn_code, insn_ent::insn_index, must_constrain, must_extract, insn_ent::next, attr_value::num_insns, printf(), strncmp(), attr_value::value, walk_attr_value(), write_attr_set(), and write_indent().
Referenced by write_attr_get(), write_complex_function(), and write_eligible_delay().
Definition at line 4998 of file genattrtab.c.
References find_most_used(), attr_value::first_insn, GET_CODE, insn_ent::insn_code, insn_ent::insn_index, attr_value::next, attr_value::num_insns, printf(), true_rtx, attr_value::value, write_attr_case(), write_attr_set(), write_toplevel_expr(), and XEXP.
Referenced by main().
| static void write_attr_set | ( | struct attr_desc * | attr, | |
| int | indent, | |||
| rtx | value, | |||
| const char * | prefix, | |||
| const char * | suffix, | |||
| rtx | known_true, | |||
| int | insn_code, | |||
| int | insn_index | |||
| ) | [static] |
Definition at line 5124 of file genattrtab.c.
References AND, attr_rtx(), COND, eliminate_known_true(), false_rtx, GET_CODE, insert_right_side(), NOT, printf(), true_rtx, write_attr_value(), write_indent(), write_test_expr(), XEXP, XVECEXP, and XVECLEN.
Referenced by write_attr_case(), write_attr_get(), write_attr_set(), and write_complex_function().
Definition at line 5439 of file genattrtab.c.
References abort, DIV, find_attr(), fputs(), GET_CODE, HOST_WIDE_INT_PRINT_DEC, INTVAL, attr_desc::is_const, MINUS, MOD, attr_desc::name, PLUS, printf(), putchar(), write_attr_valueq(), XEXP, and XSTR.
Referenced by write_attr_set(), and write_attr_value().
Definition at line 5392 of file genattrtab.c.
References atoi(), HOST_BITS_PER_INT, function_unit::num, printf(), write_unit_name(), and write_upcase().
Referenced by write_attr_value(), and write_test_expr().
| static void write_complex_function | ( | struct function_unit * | unit, | |
| const char * | name, | |||
| const char * | connection | |||
| ) | [static] |
Definition at line 5725 of file genattrtab.c.
References abort, contained_in_p(), find_attr(), find_most_used(), find_single_value(), attr_desc::first_value, make_numeric_value(), attr_value::next, attr_value::num_insns, printf(), sprintf(), str, strlen(), true_rtx, attr_value::value, write_attr_case(), and write_attr_set().
Referenced by write_function_unit_info().
Definition at line 6025 of file genattrtab.c.
References find_attr(), attr_value::first_insn, attr_desc::first_value, insn_ent::insn_code, length_used, insn_ent::next, attr_value::next, printf(), attr_value::value, and walk_attr_value().
Referenced by main().
| static void write_eligible_delay | ( | char * | kind | ) | const [static] |
Definition at line 5532 of file genattrtab.c.
References abort, delay_desc::def, delay(), find_attr(), find_most_used(), attr_desc::first_value, max_slots, delay_desc::next, attr_value::next, delay_desc::num, num_delays, printf(), sprintf(), str, true_rtx, write_attr_case(), and XVECLEN.
Referenced by main().
Definition at line 5290 of file genattrtab.c.
References GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, attr_desc::is_numeric, attr_desc::name, printf(), attr_desc::unsigned_p, XEXP, XSTR, XVECEXP, and XVECLEN.
Referenced by write_expr_attr_cache(), and write_toplevel_expr().
| static void write_function_unit_info | ( | ) | [static] |
Definition at line 5654 of file genattrtab.c.
References function_unit::default_cost, function_unit::issue_delay, make_numeric_value(), range::max, function_unit::max_blockage, function_unit::multiplicity, function_unit::name, function_unit::needs_blockage_function, function_unit::needs_conflict_function, function_unit::needs_range_function, function_unit::next, function_unit::num, num_units, printf(), function_unit::simultaneity, write_complex_function(), and XSTR.
Referenced by main().
| static void write_indent | ( | int | indent | ) | [static] |
Definition at line 5509 of file genattrtab.c.
References printf().
Referenced by write_attr_case(), write_attr_set(), and write_insn_cases().
Definition at line 2547 of file genattrtab.c.
References attr_desc::default_val, find_attr(), attr_value::first_insn, attr_desc::first_value, length_unit_log, insn_ent::next, attr_value::next, or_attr_value(), printf(), unknown, and attr_value::value.
Referenced by main().
Definition at line 4596 of file genattrtab.c.
References abort, ABS, alternative_name, AND, comparison_operator(), attr_desc::default_val, DIV, EQ, evaluate_eq_attr(), fatal(), find_attr(), GE, GET_CODE, GET_MODE, GET_MODE_NAME, GET_RTX_NAME, GT, HOST_WIDE_INT_PRINT_DEC, attr_desc::is_const, LE, LT, MINUS, MOD, attr_desc::name, NE, NOT, NULL, PC, PLUS, printf(), RTX_CODE, attr_value::value, write_attr_valueq(), XEXP, XINT, XOR, XSTR, and XWINT.
Referenced by write_attr_set(), write_test_expr(), and write_toplevel_expr().
Definition at line 5341 of file genattrtab.c.
References GET_CODE, attr_desc::is_const, MAX_ATTRS_INDEX, attr_desc::next, printf(), write_expr_attr_cache(), write_test_expr(), and XEXP.
Referenced by write_attr_get().
| static void write_unit_name | ( | char * | prefix, | |
| int | num, | |||
| const char * | suffix | |||
| ) | const [static] |
Definition at line 5374 of file genattrtab.c.
References function_unit::name, function_unit::next, function_unit::num, and printf().
Referenced by write_attr_valueq().
| static void write_upcase | ( | char * | str | ) | const [static] |
| static rtx zero_fn | ( | exp | ) | [static] |
Definition at line 2525 of file genattrtab.c.
References make_numeric_value().
Referenced by make_length_attrs().
int address_used [static] |
Definition at line 308 of file genattrtab.c.
Referenced by evaluate_eq_attr(), substitute_address(), walk_attr_value(), and write_attr_case().
char* alternative_name [static] |
Definition at line 342 of file genattrtab.c.
Referenced by attr_rtx_cost(), check_attr_test(), compares_alternatives_p(), compute_alternative_mask(), convert_set_attr_alternative(), find_attr(), main(), make_alternative_compare(), simplify_test_exp(), walk_attr_value(), and write_test_expr().
| struct attr_hash* attr_hash_table[RTL_HASH_SIZE] |
Definition at line 497 of file genattrtab.c.
Definition at line 253 of file genattrtab.c.
const char* current_alternative_string [static] |
Definition at line 334 of file genattrtab.c.
Referenced by evaluate_eq_attr(), and simplify_test_exp().
Definition at line 254 of file genattrtab.c.
struct delay_desc* delays [static] |
Definition at line 255 of file genattrtab.c.
Definition at line 338 of file genattrtab.c.
Referenced by add_values_to_cover(), attr_rtx_1(), check_attr_test(), combine_simplify_rtx(), evaluate_eq_attr(), expand_delays(), expand_units(), fold_rtx(), gen_unit(), insert_right_side(), main(), prepare_float_lib_cmp(), simplify_and_tree(), simplify_cond(), simplify_if_then_else(), simplify_or_tree(), simplify_set(), simplify_test_exp(), simplify_with_current_value_aux(), and write_attr_set().
| rtx global_rtl[GR_MAX] |
Definition at line 372 of file genattrtab.c.
int got_define_asm_attributes [static] |
| struct obstack* hash_obstack = &obstack1 |
Definition at line 125 of file genattrtab.c.
int have_annul_false [static] |
Definition at line 311 of file genattrtab.c.
Referenced by expand_delays(), gen_delay(), and main().
int have_annul_true [static] |
Definition at line 311 of file genattrtab.c.
Referenced by expand_delays(), gen_delay(), and main().
int* insn_alternatives [static] |
Definition at line 328 of file genattrtab.c.
Referenced by get_attr_value(), main(), and simplify_test_exp().
int insn_code_number [static] |
Definition at line 303 of file genattrtab.c.
Referenced by c4x_process_after_reload(), c4x_reorg(), final_scan_insn(), find_reloads(), gen_insn(), gen_peephole(), gen_split(), main(), optimize_attrs(), pa_can_combine_p(), recog_for_combine(), and try_combine().
int insn_index_number [static] |
int* insn_n_alternatives [static] |
int length_used [static] |
Definition at line 309 of file genattrtab.c.
Referenced by walk_attr_value(), and write_const_num_delay_slots().
int must_constrain [static] |
Definition at line 307 of file genattrtab.c.
Referenced by walk_attr_value(), and write_attr_case().
int must_extract [static] |
Definition at line 306 of file genattrtab.c.
Referenced by walk_attr_value(), and write_attr_case().
int num_delays [static] |
Definition at line 310 of file genattrtab.c.
Referenced by expand_delays(), gen_delay(), main(), and write_eligible_delay().
| int num_dfa_decls |
Definition at line 315 of file genattrtab.c.
Referenced by add_advance_cycle_insn_decl(), gen_absence_set(), gen_automaton(), gen_bypass(), gen_cpu_unit(), gen_excl_set(), gen_insn_reserv(), gen_presence_absence_set(), gen_presence_set(), gen_query_cpu_unit(), gen_reserv(), and main().
int num_insn_ents [static] |
Definition at line 313 of file genattrtab.c.
Referenced by insert_insn_ent(), optimize_attrs(), and remove_insn_ent().
int num_unit_opclasses [static] |
int num_units [static] |
Definition at line 312 of file genattrtab.c.
Referenced by expand_units(), gen_unit(), main(), and write_function_unit_info().
Definition at line 124 of file genattrtab.c.
| int optimize = 0 |
Definition at line 352 of file genattrtab.c.
Definition at line 373 of file genattrtab.c.
Referenced by alpha_gp_save_rtx(), alpha_legitimize_address(), arm_finalize_pic(), arm_load_pic_register(), bfin_expand_call(), bfin_expand_prologue(), bfin_load_pic_reg(), canon_hash(), cris_expand_epilogue(), cris_expand_pic_call_address(), cris_expand_prologue(), cris_initial_frame_pointer_offset(), cris_simple_epilogue(), emit_pic_helper(), emit_pic_move(), find_base_term(), find_lo_sum_using_gp(), force_operand(), gen_builtin_setjmp_receiver(), gen_load_gprel64(), gen_load_symptr(), gen_tablejump(), gen_tls_global_dynamic_32(), gen_tls_local_dynamic_base_32(), get_jump_table_offset(), hash_rtx(), hppa_expand_prologue(), hppa_profile_hook(), ia64_expand_call(), ia64_expand_load_address(), ia64_expand_prologue(), ia64_reload_gp(), ia64_split_call(), ix86_expand_call(), ix86_expand_prologue(), ix86_find_base_term(), ix86_output_function_epilogue(), ix86_save_reg(), legitimate_address_p(), legitimize_address(), legitimize_pic_address(), legitimize_tls_address(), load_pic_register(), loop_invariant_p(), m32r_legitimize_pic_address(), m32r_load_pic_register(), m88k_expand_prologue(), machopic_indirect_data_reference(), machopic_legitimize_pic_address(), maybe_get_pool_constant(), mips_expand_call(), mips_expand_prologue(), mips_legitimize_tls_address(), mips_load_call_address(), mips_output_function_epilogue(), mips_output_mi_thunk(), mips_restore_gp(), mips_rewrite_small_data_1(), nonzero_address_p(), print_operand_address(), rs6000_got_register(), rs6000_legitimize_reload_address(), rtx_addr_can_trap_p(), rtx_addr_can_trap_p_1(), rtx_unstable_p(), rtx_varies_p(), s390_emit_call(), s390_emit_prologue(), scan_loop(), skip_pic_restore(), sparc_tls_got(), and split_small_symbolic_operand_1().
| int reload_completed = 0 |
Definition at line 347 of file genattrtab.c.
Definition at line 126 of file genattrtab.c.
Definition at line 338 of file genattrtab.c.
Referenced by attr_rtx_1(), check_attr_test(), combine_simplify_rtx(), evaluate_eq_attr(), expand_units(), fold_rtx(), gen_unit(), insert_right_side(), main(), prepare_float_lib_cmp(), simplify_and_tree(), simplify_cond(), simplify_if_then_else(), simplify_or_tree(), simplify_set(), simplify_test_exp(), simplify_with_current_value_aux(), test_for_current_value(), write_attr_get(), write_attr_set(), write_complex_function(), and write_eligible_delay().
struct function_unit* units [static] |
Definition at line 256 of file genattrtab.c.
Referenced by arm_assemble_integer(), block_move_loop(), block_move_no_loop(), build_zero_vector(), canon_hash(), const_vector_from_tree(), cselib_hash_rtx(), decode_rtx_const(), easy_vector_constant(), easy_vector_same(), ffedata_gather_(), ffedata_value_(), gen_const_vector(), gen_const_vector_0(), gen_easy_vector_constant_add_self(), hash_expr_1(), hash_rtx(), main(), make_tree(), output_constant_pool(), output_constant_pool_2(), output_get_cpu_unit_code_func(), rtl_expr_nonnegative_p(), and simplify_relational_operation().
1.5.6