00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef LEGOUTIL_SEARCH_HEADER
00016 #define LEGOUTIL_SEARCH_HEADER
00017
00018 #include "lego.H"
00019
00020 legoOp *FindMaxOpId (legoModule *);
00021 legoOp *FindMaxOpId (legoProc *);
00022
00023 int FindMaxRegNum (legoProc *);
00024 int FindMaxRegNum (legoProc *,enum fileTypes);
00025 int FindMaxEdgeAttrId (legoProc *);
00026
00027 legoRegion *FindParentRegionType (legoRegion *, enum regionTypes);
00028 legoRegion *FindParentRegionType (legoOp *, enum regionTypes);
00029 legoRegion *FindParentRegionType (enum regionTypes, legoRegion *);
00030 legoRegion *FindParentRegionType (enum regionTypes, legoOp *);
00031
00032 legoOp *FindFirstBranch (legoRegion *);
00033 int IsFallThrough (legoOp *, legoOp *);
00034
00035 opEdges *FindControlEdge (legoOp *, legoOp *, int = 0);
00036
00037 attrs *FindLcAttribute (char *, legoRegion *);
00038 attrs *FindLcAttribute (char *, legoOp *);
00039 attrs *FindLcAttribute (char *, opEdges *);
00040 attrs *FindLiveAttribute (opEdges *);
00041 attrList *FindFreqAttribute (opEdges *);
00042
00043 int FindEdgeFrequency (opEdges *);
00044 double FindOpWeight (legoOp *);
00045 legoOprd *FindReturnMacro (legoOp *);
00046
00047 flags *FindFlag (flags *, int);
00048 flags *FindFlag (legoOp *, int);
00049 flags *FindFlag (legoRegion *, int);
00050 flags *FindFlag (int, flags *);
00051 flags *FindFlag (int, legoOp *);
00052 flags *FindFlag (int, legoRegion *);
00053
00054 int IsIntegerOp (legoOp *);
00055 int IsFloatOp (legoOp *);
00056 int IsCompareOp (legoOp *);
00057 int IsBranchOp (legoOp *);
00058 int IsBranchOpButNotBRL (legoOp *);
00059 int IsLoadOp (legoOp *);
00060 int IsStoreOp (legoOp *);
00061 int IsMemoryOp (legoOp *);
00062
00063 bool SameOpcode(legoOp *op1, legoOp *op2);
00064
00065
00066 legoOp * find_op(legoRegion * region, int opid);
00067 bool legoAudit(legoModule * Module);
00068
00069
00070 int FindFirstOutGoingReg(legoProc *Proc);
00071 int FindLastOutGoingReg(legoProc *Proc);
00072 #endif // LEGOUTIL_SEARCH_HEADER
00073