aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2002-06-18 16:18:23 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2002-06-18 16:18:23 +0000
commite3c8eb86d193160035cb64e7284e2183cd973792 (patch)
tree4a3c915c2ddeb4d69269d349a7cbf16b63b386d8
parent83b14b884703a989f1ac97df97588fddbc979c5a (diff)
downloadgcc-e3c8eb86d193160035cb64e7284e2183cd973792.zip
gcc-e3c8eb86d193160035cb64e7284e2183cd973792.tar.gz
gcc-e3c8eb86d193160035cb64e7284e2183cd973792.tar.bz2
rtl.def (DEFINE_AUTOMATON): Add description of new options `time' and `v'.
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. From-SVN: r54748
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/doc/md.texi13
-rw-r--r--gcc/genautomata.c34
-rw-r--r--gcc/rtl.def11
4 files changed, 53 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cf4718f..ed371f7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+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.
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 24fab78d..a346a2b 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -5596,8 +5596,17 @@ only worth to do when we are going to query CPU functional unit
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
diff --git a/gcc/genautomata.c b/gcc/genautomata.c
index f2235f3..d32621a 100644
--- a/gcc/genautomata.c
+++ b/gcc/genautomata.c
@@ -638,6 +638,10 @@ static struct obstack irp;
#define NO_MINIMIZATION_OPTION "-no-minimization"
+#define TIME_OPTION "-time"
+
+#define V_OPTION "-v"
+
#define W_OPTION "-w"
#define NDFA_OPTION "-ndfa"
@@ -1639,6 +1643,10 @@ gen_automata_option (def)
{
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)
@@ -4507,9 +4515,9 @@ transform_2 (regexp)
{
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++)
@@ -4552,9 +4560,9 @@ transform_2 (regexp)
}
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++)
@@ -4596,9 +4604,9 @@ transform_2 (regexp)
}
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++)
@@ -4652,8 +4660,8 @@ transform_3 (regexp)
{
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;
@@ -4701,10 +4709,10 @@ transform_3 (regexp)
}
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++)
@@ -9157,9 +9165,9 @@ initiate_automaton_gen (argc, argv)
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;
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 270f1a8..1acbf98 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -419,8 +419,15 @@ DEF_RTL_EXPR(DEFINE_AUTOMATON, "define_automaton", "s", 'x')
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')