+2002-06-18 Vladimir Makarov <vmakarov@redhat.com>
+
+ * rtl.def (DEFINE_AUTOMATON): Add description of new options
+ `time' and `v'. Fix incorrect description of option `w'.
+
+ * doc/md.texi: Ditto.
+
+ * genautomata.c (TIME_OPTION, V_OPTION): New macros.
+ (gen_automata_option): Process the new options.
+ (transform_2, transform_3): Initialize some variables.
+ (initiate_automaton_gen): Use the new macros.
+
2002-06-18 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
reservations in an automaton state.
@item
-@dfn{w} means a generation of the file describing the result
-automaton. The file can be used to verify the description.
+@dfn{time} means printing additional time statistics about
+generation of automata.
+
+@item
+@dfn{v} means a generation of the file describing the result automata.
+The file has suffix @samp{.dfa} and can be used for the description
+verification and debugging.
+
+@item
+@dfn{w} means a generation of warning instead of error for
+non-critical errors.
@item
@dfn{ndfa} makes nondeterministic finite state automata. This affects
#define NO_MINIMIZATION_OPTION "-no-minimization"
+#define TIME_OPTION "-time"
+
+#define V_OPTION "-v"
+
#define W_OPTION "-w"
#define NDFA_OPTION "-ndfa"
{
if (strcmp ((char *) XSTR (def, 0), NO_MINIMIZATION_OPTION + 1) == 0)
no_minimization_flag = 1;
+ else if (strcmp ((char *) XSTR (def, 0), TIME_OPTION + 1) == 0)
+ time_flag = 1;
+ else if (strcmp ((char *) XSTR (def, 0), V_OPTION + 1) == 0)
+ v_flag = 1;
else if (strcmp ((char *) XSTR (def, 0), W_OPTION + 1) == 0)
w_flag = 1;
else if (strcmp ((char *) XSTR (def, 0), NDFA_OPTION + 1) == 0)
{
if (regexp->mode == rm_sequence)
{
- regexp_t sequence;
+ regexp_t sequence = NULL;
regexp_t result;
- int sequence_index;
+ int sequence_index = 0;
int i, j;
for (i = 0; i < regexp->regexp.sequence.regexps_num; i++)
}
else if (regexp->mode == rm_allof)
{
- regexp_t allof;
+ regexp_t allof = NULL;
regexp_t result;
- int allof_index;
+ int allof_index = 0;
int i, j;
for (i = 0; i < regexp->regexp.allof.regexps_num; i++)
}
else if (regexp->mode == rm_oneof)
{
- regexp_t oneof;
+ regexp_t oneof = NULL;
regexp_t result;
- int oneof_index;
+ int oneof_index = 0;
int i, j;
for (i = 0; i < regexp->regexp.oneof.regexps_num; i++)
{
if (regexp->mode == rm_sequence)
{
- regexp_t oneof;
- int oneof_index;
+ regexp_t oneof = NULL;
+ int oneof_index = 0;
regexp_t result;
regexp_t sequence;
int i, j;
}
else if (regexp->mode == rm_allof)
{
- regexp_t oneof, seq;
- int oneof_index, max_seq_length, allof_length;
+ regexp_t oneof = NULL, seq;
+ int oneof_index = 0, max_seq_length, allof_length;
regexp_t result;
- regexp_t allof, allof_op;
+ regexp_t allof = NULL, allof_op;
int i, j;
for (i = 0; i < regexp->regexp.allof.regexps_num; i++)
for (i = 2; i < argc; i++)
if (strcmp (argv [i], NO_MINIMIZATION_OPTION) == 0)
no_minimization_flag = 1;
- else if (strcmp (argv [i], "-time") == 0)
+ else if (strcmp (argv [i], TIME_OPTION) == 0)
time_flag = 1;
- else if (strcmp (argv [i], "-v") == 0)
+ else if (strcmp (argv [i], V_OPTION) == 0)
v_flag = 1;
else if (strcmp (argv [i], W_OPTION) == 0)
w_flag = 1;
is only worth to do when we are going to query CPU functional
unit reservations in an automaton state.
- o "w" which means generation of file describing the result
- automaton. The file can be used for the description verification.
+ o "time" which means printing additional time statistics about
+ generation of automata.
+
+ o "v" which means generation of file describing the result
+ automata. The file has suffix `.dfa' and can be used for the
+ description verification and debugging.
+
+ o "w" which means generation of warning instead of error for
+ non-critical errors.
o "ndfa" which makes nondeterministic finite state automata. */
DEF_RTL_EXPR(AUTOMATA_OPTION, "automata_option", "s", 'x')