aboutsummaryrefslogtreecommitdiff
path: root/gcc/gensupport.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2011-04-01 08:15:08 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2011-04-01 08:15:08 +0000
commite792559ab3d6fdb933e91bb0a317554d5920d58a (patch)
treeb2cbc294126307fb76a53c640bd8728491e2e875 /gcc/gensupport.h
parent90630d1932caf1b04df0fb082c36717fa25d2bf3 (diff)
downloadgcc-e792559ab3d6fdb933e91bb0a317554d5920d58a.zip
gcc-e792559ab3d6fdb933e91bb0a317554d5920d58a.tar.gz
gcc-e792559ab3d6fdb933e91bb0a317554d5920d58a.tar.bz2
gensupport.h (pattern_stats): New structure.
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. From-SVN: r171821
Diffstat (limited to 'gcc/gensupport.h')
-rw-r--r--gcc/gensupport.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/gensupport.h b/gcc/gensupport.h
index 999c222..5ae32d5 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 */