bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02-fyi-closure-pessimize.patch


From: Akim Demaille
Subject: 02-fyi-closure-pessimize.patch
Date: Wed, 28 Nov 2001 15:51:36 +0100

Index: ChangeLog
from  Akim Demaille  <address@hidden>
        * src/closure.c (closure): No longer optimize the special case
        where all the bits of `ruleset[r]' are set to 0, to make the code
        clearer.
        
        
Index: src/closure.c
--- src/closure.c Tue, 27 Nov 2001 23:40:46 +0100 akim
+++ src/closure.c Tue, 27 Nov 2001 23:43:03 +0100 akim
@@ -273,31 +273,24 @@
   c = 0;
   for (r = 0; r < rulesetsize; ++r)
     {
-      if (ruleset[r] == 0)
-       {
-         ruleno += BITS_PER_WORD;
-       }
-      else
-       {
-         int b;
+      int b;
 
-         for (b = 0; b < BITS_PER_WORD; b++)
+      for (b = 0; b < BITS_PER_WORD; b++)
+       {
+         if (ruleset[r] & (1 << b))
            {
-             if (ruleset[r] & (1 << b))
+             itemno = rule_table[ruleno].rhs;
+             while (c < n && core[c] < itemno)
                {
-                 itemno = rule_table[ruleno].rhs;
-                 while (c < n && core[c] < itemno)
-                   {
-                     itemset[itemsetsize] = core[c];
-                     itemsetsize++;
-                     c++;
-                   }
-                 itemset[itemsetsize] = itemno;
+                 itemset[itemsetsize] = core[c];
                  itemsetsize++;
+                 c++;
                }
-
-             ruleno++;
+             itemset[itemsetsize] = itemno;
+             itemsetsize++;
            }
+
+         ruleno++;
        }
     }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]