Undid the fix for bug #519584
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 4 Apr 2003 13:24:15 +0000 (13:24 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 4 Apr 2003 13:24:15 +0000 (13:24 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2479 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCloop.c

index 55021f34798aa1a0d80e920e8a9a29bd86e22f6a..f43e48373dcb31f3d42fb12b71aae3101e9177f4 100644 (file)
@@ -259,11 +259,8 @@ DEFSETFUNC (createLoop)
 {
   edge *ep = item;
   V_ARG (set **, allRegion);
-  V_ARG (eBBlock **,ebbs);
-  V_ARG (int,count);
   region *aloop = newRegion ();
   eBBlock *block;
-  int dfMin = count ,dfMax =0, i;
 
   /* make sure regionStack is empty */
   while (!STACK_EMPTY (regionStack))
@@ -283,32 +280,6 @@ DEFSETFUNC (createLoop)
 
   aloop->entry = ep->to;
 
-  /* set max & min dfNum for loopRegion */
-  for ( block = setFirstItem(aloop->regBlocks); block; 
-       block = setNextItem(aloop->regBlocks)) {
-      if (block->dfnum > dfMax) dfMax = block->dfnum;
-      if (block->dfnum < dfMin) dfMin = block->dfnum;
-  }
-
-  /* all blocks that have dfnumbers between dfMin & dfMax are also
-     part of loop */
-  for (i = 0 ; i < count ; i++) {
-    if (ebbs[i]->dfnum > dfMin && 
-          ebbs[i]->dfnum < dfMax &&
-         !isinSet(aloop->regBlocks,ebbs[i])) {
-         if (!ebbs[i]->partOfLoop) {
-           ebbs[i]->partOfLoop = aloop;
-         }
-      }
-  }
-
-  /* and if this is a conditional block, the other side of the IFX 
-     (if any, that could have a greater dfnum) is too */
-  {
-    // just a burp, but I'm getting close :)
-  }
-  
-
   /* now add it to the set */
   addSetHead (allRegion, aloop);
   return 0;
@@ -1183,7 +1154,7 @@ createLoopRegions (eBBlock ** ebbs, int count)
 
   /* for each of these back edges get the blocks that */
   /* constitute the loops                             */
-  applyToSet (bEdges, createLoop, &allRegion, ebbs,count);
+  applyToSet (bEdges, createLoop, &allRegion);
 
   /* now we will create regions from these loops               */
   /* loops with the same entry points are considered to be the */