X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCloop.c;h=f43e48373dcb31f3d42fb12b71aae3101e9177f4;hb=ef3a5fe6c031ef73a217dd88e8e2da6562ea8b55;hp=55021f34798aa1a0d80e920e8a9a29bd86e22f6a;hpb=784a6b87948d0175947cad8d22613e8f67d3638c;p=fw%2Fsdcc diff --git a/src/SDCCloop.c b/src/SDCCloop.c index 55021f34..f43e4837 100644 --- a/src/SDCCloop.c +++ b/src/SDCCloop.c @@ -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 */