X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCloop.h;h=34566f26006a34c1172cd43c8c31e1769515624c;hb=fd94924a3d743c1c82f4b370d9401d7239172789;hp=1027b4a14003817e3657dad44ee7cb6de882566d;hpb=29779804200986ce903b5086441b49265a122dc5;p=fw%2Fsdcc diff --git a/src/SDCCloop.h b/src/SDCCloop.h index 1027b4a1..34566f26 100644 --- a/src/SDCCloop.h +++ b/src/SDCCloop.h @@ -8,19 +8,19 @@ under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + In other words, you are welcome to use, share and improve this program. You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! + what you give them. Help stamp out software-hoarding! -------------------------------------------------------------------------*/ #include "SDCCBBlock.h" #include "SDCCcse.h" @@ -32,6 +32,7 @@ typedef struct region { unsigned int merged:1; + unsigned int visited:1; eBBlock *entry; /* entry Block */ int containsLoops; /* contains other loops */ set *regBlocks; /* set of all blocks */ @@ -50,15 +51,7 @@ typedef struct induction } induction; -DEFSETFUNC (backEdges); -DEFSETFUNC (pregion); -DEFSETFUNC (pinduction); -int loopOptimizations (hTab *, eBBlock **, int); -int addressTaken (set *, operand *); -hTab *createLoopRegions (eBBlock **, int); -iCode *findDefInRegion (set *, operand *, eBBlock **); -int hasIncomingDefs (region *, operand *); -int findLoopEndSeq (region *); - +int loopOptimizations (hTab *, ebbIndex *); +hTab *createLoopRegions (ebbIndex *); #endif