60 Abc_Print( 1,
"E: Del = %7.2f. Ar = %9.1f. Edge = %8d. ",
82 Vec_Ptr_t * vFront, * vFrontOld, * vVisited;
112 if ( pFanin->
nRefs == 0 )
132 int CostBef, CostAft, i;
133 float DelayOld, AreaBef, AreaAft;
137 if ( pObj->
nRefs == 0 )
140 DelayOld = pCut->
Delay;
153 assert( CostBef >= CostAft );
166 assert( AreaAft == AreaBef );
167 pCut->
Delay = DelayOld;
291 if ( pObj->
nRefs == 0 )
319 if ( !pFanin->
fMark )
326 if ( !pFanin->
fMark )
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static void If_ManImproveNodeUpdate(If_Man_t *p, If_Obj_t *pObj, Vec_Ptr_t *vFront)
#define If_ManForEachNode(p, pObj, i)
int If_ManImproveNodeWillGrow(If_Man_t *p, If_Obj_t *pObj)
float If_CutAreaDeref(If_Man_t *p, If_Cut_t *pCut)
static void If_ManImproveNodePrepare(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vFrontOld, Vec_Ptr_t *vVisited)
static int If_ObjIsAnd(If_Obj_t *pObj)
#define If_CutForEachLeaf(p, pCut, pLeaf, i)
static void If_ManImproveNodeExpand(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vFrontOld, Vec_Ptr_t *vVisited)
void If_ManComputeRequired(If_Man_t *p)
void If_ManImproveMark_rec(If_Man_t *p, If_Obj_t *pObj, Vec_Ptr_t *vVisited)
void If_ManImproveMapping(If_Man_t *p)
FUNCTION DEFINITIONS ///.
int If_ManImproveNodeFaninCompact0(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vVisited)
static If_Obj_t * If_ObjFanin0(If_Obj_t *pObj)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
int If_ManImproveNodeFaninCompact2(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vVisited)
static int If_ObjIsCi(If_Obj_t *pObj)
static If_Cut_t * If_ObjCutBest(If_Obj_t *pObj)
static abctime Abc_Clock()
static int Vec_PtrSize(Vec_Ptr_t *p)
void If_CutOrder(If_Cut_t *pCut)
static void Vec_PtrRemove(Vec_Ptr_t *p, void *Entry)
void If_ManImproveNodeFaninUpdate(If_Man_t *p, If_Obj_t *pObj, Vec_Ptr_t *vFront, Vec_Ptr_t *vVisited)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
static unsigned If_ObjCutSignCompute(If_Cut_t *p)
int If_ManImproveNodeFaninCost(If_Man_t *p, If_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static If_Obj_t * If_ObjFanin1(If_Obj_t *pObj)
int If_ManImproveNodeFaninCompact1(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vVisited)
static void Abc_Print(int level, const char *format,...)
#define ABC_NAMESPACE_IMPL_START
int If_ManImproveCutCost(If_Man_t *p, Vec_Ptr_t *vFront)
static void If_ManImproveNodeFaninCompact(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vVisited)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
float If_CutDelay(If_Man_t *p, If_Obj_t *pObj, If_Cut_t *pCut)
static ABC_NAMESPACE_IMPL_START void If_ManImproveExpand(If_Man_t *p, int nLimit)
DECLARATIONS ///.
int If_ManImproveNodeFaninCompact_int(If_Man_t *p, If_Obj_t *pObj, int nLimit, Vec_Ptr_t *vFront, Vec_Ptr_t *vVisited)
static void Vec_PtrClear(Vec_Ptr_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
float If_CutAreaRefed(If_Man_t *p, If_Cut_t *pCut)
float If_CutAreaRef(If_Man_t *p, If_Cut_t *pCut)
static void Vec_PtrFree(Vec_Ptr_t *p)