Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

addremove.H

Go to the documentation of this file.
00001 // addremove.H
00002 
00003 /*
00004  * 5/13/97 WAH:  Created.
00005  * 11/21/97 WAH: Revamped some function calls.
00006  * 1/14/98 WAH:  Added AddBBAlongEdge.
00007  * 1/29/98 WAH:  Added AddToList and RemoveFromList.
00008  * 4/9/98 WAH:   Enhanced RemoveFromList for opLists to key on weight as well.
00009  */
00010 
00011 #ifndef LEGOUTIL_ADDREMOVE_HEADER
00012 #define LEGOUTIL_ADDREMOVE_HEADER
00013 
00014 #include "lego.H"
00015 
00016 opList          *AddToList      (opList *, legoOp *, int = 1, double = 0.0);
00017 edgeList        *AddToList      (edgeList *, opEdges *, int = 1);
00018 regionList      *AddToList      (regionList *, legoRegion *, int = 1);
00019 
00020 opList          *RemoveFromList (opList *, legoOp *, double = -1.0);
00021 edgeList        *RemoveFromList (edgeList *, opEdges *);
00022 regionList      *RemoveFromList (regionList *, legoRegion *);
00023 
00024 // Constants for edges' src/dest ports.
00025 #define EDGEPORT_DONTCARE (-1)
00026 
00027 opEdges         *AddEdge (legoOp *, legoOp *,legoProc *,enum edgeTypes,int = 0,int = 0); 
00028 opEdges         *AddEdge (legoOp *, legoOp *,enum edgeTypes, int = 0, int = 0);
00029 void            AddMidOp (legoOp *, legoOp *);
00030 int             RemoveEdge (int, int, legoProc *, enum edgeTypes,
00031                         int = EDGEPORT_DONTCARE, int = EDGEPORT_DONTCARE);
00032 int             RemoveEdge (legoOp *, legoOp *, legoProc *, enum edgeTypes,
00033                         int = EDGEPORT_DONTCARE, int = EDGEPORT_DONTCARE);
00034 int             RemoveEdge (legoOp *, legoOp *, enum edgeTypes,
00035                         int = EDGEPORT_DONTCARE, int = EDGEPORT_DONTCARE);
00036 void            RemoveMidOp     (legoOp *, legoProc *, int = 0);
00037 void            RemoveMidOp     (legoOp *, int = 0);
00038 void            RemoveLastOp    (legoOp *, int = 0); 
00039 void            RemoveFinalOp   (legoOp *, int = 0); 
00040 void            RemoveFirstOp   (legoOp *, int = 0); 
00041 void            RemoveVeryLastOp        (legoOp *, int = 0); 
00042 
00043 legoBB          *AddBBAlongEdge (opEdges *, legoProc *);
00044 legoRegion      *SplitParentBlockBeforeOp(legoOp *); 
00045 
00046 flags           *AddFlag        (int, legoRegion *);
00047 flags           *AddFlag        (int, legoOp *);
00048 void            RemoveFlag      (int, legoRegion *);
00049 void            RemoveFlag      (int, legoOp *);
00050 
00051 attrs           *AddLcAttribute (char *, legoOprd *, legoRegion *, legoProc *);
00052 attrs           *AddLcAttribute (char *, legoOprd *, legoOp *, legoProc *);
00053 attrs           *AddLcAttribute (char *, legoOprd *, opEdges *, legoProc *);
00054 void            RemoveLcAttribute (char *, legoRegion *, legoProc *);
00055 void            RemoveLcAttribute (char *, legoOp *, legoProc *);
00056 void            RemoveLcAttribute (char *, opEdges *, legoProc *);
00057 
00058 attrs           *AddLiveAttribute (legoOprd *, legoRegion *, legoProc *);
00059 attrs           *AddLiveAttribute (legoOprd *, legoOp *, legoProc *);
00060 attrs           *AddLiveAttribute (legoOprd *, opEdges *, legoProc *);
00061 void            RemoveLiveAttribute (legoRegion *, legoProc *);
00062 void            RemoveLiveAttribute (legoOp *, legoProc *);
00063 void            RemoveLiveAttribute (opEdges *, legoProc *);
00064 
00065 attrList        *AddFreqAttribute       (int, int, opEdges *);
00066 void            RemoveFreqAttribute     (opEdges *);
00067 
00068 void            ClearMarks (long long, legoRegion *);
00069 void            ClearMarks (long long, opEdges *);
00070 
00071 //Sau
00072 attrs           *AddPointerAttribute (enum attrTypes, char *, legoOprd *, 
00073                 void *object, int objtype, legoProc *);
00074 
00075 #endif // LEGOUTIL_ADDREMOVE_HEADER
00076 

Generated on Mon Jul 21 20:23:59 2003 for TINKER LEGO DOC by doxygen 1.3.2