]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
r110128@banpei: zack | 2006-01-22 14:50:42 -0800
authorZack Weinberg <zackw@panix.com>
Mon, 23 Jan 2006 15:16:00 +0000 (15:16 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Mon, 23 Jan 2006 15:16:00 +0000 (15:16 +0000)
 r110128@banpei:  zack | 2006-01-22 14:50:42 -0800
  * genautomata.c (output_reserved_units_table): Emit nothing if
  description->query_units_num is zero.  Remove extra blank line.
  (output_cpu_unit_reservation_p): Short circuit
  if description->query_units_num is zero.

From-SVN: r110124

gcc/ChangeLog
gcc/genautomata.c

index 12b58aac295650c48dbf0143db35e92bcfb4ec38..d453d59fe551ab8e9af766b60c2b1dce9782b2b2 100644 (file)
@@ -1,3 +1,10 @@
+2006-01-22  Zack Weinberg  <zackw@panix.com>
+
+       * genautomata.c (output_reserved_units_table): Emit nothing if
+       description->query_units_num is zero.  Remove extra blank line.
+       (output_cpu_unit_reservation_p): Short circuit
+       if description->query_units_num is zero.
+
 2006-01-22  Zack Weinberg  <zackw@panix.com>
 
        * genattrtab.c: Don't include genattrtab.h.  Define ATTR_NONE
index 75cb8c7e870dae234941c8dde7c0299b4dcc96df..14165d6c3dbb786cf69db2e15bf4de31fd2b604d 100644 (file)
@@ -7533,6 +7533,9 @@ output_reserved_units_table (automaton_t automaton)
   size_t n;
   int i;
 
+  if (description->query_units_num == 0)
+    return;
+
   /* Create vect of pointers to states.  */
   output_states_vect = 0;
   pass_states (automaton, add_states_vect_el);
@@ -7568,8 +7571,7 @@ output_reserved_units_table (automaton_t automaton)
   output_reserved_units_table_name (output_file, automaton);
   fprintf (output_file, "[] = {\n");
   output_vect (reserved_units_table);
-  fprintf (output_file, "};\n");
-  fprintf (output_file, "\n#endif /* #if %s */\n\n",
+  fprintf (output_file, "};\n#endif /* #if %s */\n\n",
           CPU_UNITS_QUERY_MACRO_NAME);
 
   VEC_free (state_t,heap, output_states_vect);
@@ -8316,19 +8318,20 @@ output_cpu_unit_reservation_p (void)
   fprintf (output_file, "{\n  gcc_assert (%s >= 0 && %s < %d);\n",
           CPU_CODE_PARAMETER_NAME, CPU_CODE_PARAMETER_NAME,
           description->query_units_num);
-  for (automaton = description->first_automaton;
-       automaton != NULL;
-       automaton = automaton->next_automaton)
-    {
-      fprintf (output_file, "  if ((");
-      output_reserved_units_table_name (output_file, automaton);
-      fprintf (output_file, " [((struct %s *) %s)->", CHIP_NAME, STATE_NAME);
-      output_chip_member_name (output_file, automaton);
-      fprintf (output_file, " * %d + %s / 8] >> (%s %% 8)) & 1)\n",
-              (description->query_units_num + 7) / 8,
-              CPU_CODE_PARAMETER_NAME, CPU_CODE_PARAMETER_NAME);
-      fprintf (output_file, "    return 1;\n");
-    }
+  if (description->query_units_num > 0)
+    for (automaton = description->first_automaton;
+        automaton != NULL;
+        automaton = automaton->next_automaton)
+      {
+       fprintf (output_file, "  if ((");
+       output_reserved_units_table_name (output_file, automaton);
+       fprintf (output_file, " [((struct %s *) %s)->", CHIP_NAME, STATE_NAME);
+       output_chip_member_name (output_file, automaton);
+       fprintf (output_file, " * %d + %s / 8] >> (%s %% 8)) & 1)\n",
+                (description->query_units_num + 7) / 8,
+                CPU_CODE_PARAMETER_NAME, CPU_CODE_PARAMETER_NAME);
+       fprintf (output_file, "    return 1;\n");
+      }
   fprintf (output_file, "  return 0;\n}\n\n");
 }