diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-01 08:15:08 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-01 08:15:08 +0000 |
commit | 22add764ced7691b99368a28c7b194cd0b2e13e2 (patch) | |
tree | b2cbc294126307fb76a53c640bd8728491e2e875 /gcc/gensupport.h | |
parent | 69db433d2a44ce6d8898ea8396b5a2cb667fe9bb (diff) | |
download | gcc-22add764ced7691b99368a28c7b194cd0b2e13e2.tar.gz |
gcc/
* gensupport.h (pattern_stats): New structure.
* gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
* genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
(max_operand_1, max_operand_vec): Delete.
(gen_insn, gen_expand, gen_split): Use get_pattern_stats.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171821 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gensupport.h')
-rw-r--r-- | gcc/gensupport.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/gensupport.h b/gcc/gensupport.h index 999c2222ecb..5ae32d5f40d 100644 --- a/gcc/gensupport.h +++ b/gcc/gensupport.h @@ -83,4 +83,32 @@ extern void add_predicate (struct pred_data *); #define FOR_ALL_PREDICATES(p) for (p = first_predicate; p; p = p->next) +struct pattern_stats +{ + /* The largest match_operand, match_operator or match_parallel + number found. */ + int max_opno; + + /* The largest match_dup, match_op_dup or match_par_dup number found. */ + int max_dup_opno; + + /* The largest match_scratch number found. */ + int max_scratch_opno; + + /* The number of times match_dup, match_op_dup or match_par_dup appears + in the pattern. */ + int num_dups; + + /* The number of rtx arguments to the generator function. */ + int num_generator_args; + + /* The number of rtx operands in an insn. */ + int num_insn_operands; + + /* The number of operand variables that are needed. */ + int num_operand_vars; +}; + +extern void get_pattern_stats (struct pattern_stats *ranges, rtvec vec); + #endif /* GCC_GENSUPPORT_H */ |