diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-09-23 12:01:59 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-09-23 12:01:59 -0700 |
commit | 6e774ef541114d1cff4926192dc5221c4f43c52e (patch) | |
tree | 04e98076be710d59ab018299ac535775cc0e43b7 /src/opt | |
parent | a50a38155cd4e99e76775c36987e8bc41c61f0c6 (diff) | |
download | abc-6e774ef541114d1cff4926192dc5221c4f43c52e.tar.gz abc-6e774ef541114d1cff4926192dc5221c4f43c52e.tar.bz2 abc-6e774ef541114d1cff4926192dc5221c4f43c52e.zip |
Cleaing AIG manager by removing pointers to HAIG.
Diffstat (limited to 'src/opt')
-rw-r--r-- | src/opt/dar/darBalance.c | 23 | ||||
-rw-r--r-- | src/opt/dar/darScript.c | 35 |
2 files changed, 0 insertions, 58 deletions
diff --git a/src/opt/dar/darBalance.c b/src/opt/dar/darBalance.c index 75f0eaf4..f31c6fc7 100644 --- a/src/opt/dar/darBalance.c +++ b/src/opt/dar/darBalance.c @@ -532,19 +532,6 @@ Aig_Obj_t * Dar_Balance_rec( Aig_Man_t * pNew, Aig_Obj_t * pObjOld, Vec_Vec_t * // make sure the balanced node is not assigned // assert( pObjOld->Level >= Aig_Regular(pObjNew)->Level ); assert( pObjOld->pData == NULL ); - if ( pNew->pManHaig != NULL ) - { - Aig_Obj_t * pObjNewR = Aig_Regular(pObjNew); -// printf( "Balancing HAIG node %d equivalent to HAIG node %d (over = %d).\n", -// pObjNewR->pHaig->Id, pObjOld->pHaig->Id, pObjNewR->pHaig->pHaig != NULL ); - assert( pObjNewR->pHaig != NULL ); - assert( !Aig_IsComplement(pObjNewR->pHaig) ); - assert( pNew->pManHaig->vEquPairs != NULL ); - Vec_IntPush( pNew->pManHaig->vEquPairs, pObjNewR->pHaig->Id ); - Vec_IntPush( pNew->pManHaig->vEquPairs, pObjOld->pHaig->Id ); - } - else - Aig_Regular(pObjNew)->pHaig = pObjOld->pHaig; return (Aig_Obj_t *)(pObjOld->pData = pObjNew); } @@ -574,12 +561,6 @@ Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel ) pNew->nConstrs = p->nConstrs; if ( p->vFlopNums ) pNew->vFlopNums = Vec_IntDup( p->vFlopNums ); - // pass the HAIG manager - if ( p->pManHaig != NULL ) - { - pNew->pManHaig = p->pManHaig; p->pManHaig = NULL; - Aig_ManConst1(pNew)->pHaig = Aig_ManConst1(pNew->pManHaig); - } // map the PI nodes Aig_ManCleanData( p ); Aig_ManConst1(p)->pData = Aig_ManConst1(pNew); @@ -598,7 +579,6 @@ Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel ) // copy the PI pObjNew = Aig_ObjCreateCi(pNew); pObj->pData = pObjNew; - pObjNew->pHaig = pObj->pHaig; // set the arrival time of the new PI arrTime = Tim_ManGetCiArrival( (Tim_Man_t *)p->pManTime, Aig_ObjCioId(pObj) ); pObjNew->Level = (int)arrTime; @@ -614,7 +594,6 @@ Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel ) Tim_ManSetCoArrival( (Tim_Man_t *)p->pManTime, Aig_ObjCioId(pObj), arrTime ); // create PO pObjNew = Aig_ObjCreateCo( pNew, pObjNew ); - pObjNew->pHaig = pObj->pHaig; } else assert( 0 ); @@ -629,7 +608,6 @@ Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel ) pObjNew = Aig_ObjCreateCi(pNew); pObjNew->Level = pObj->Level; pObj->pData = pObjNew; - pObjNew->pHaig = pObj->pHaig; } Aig_ManForEachCo( p, pObj, i ) { @@ -637,7 +615,6 @@ Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel ) pObjNew = Dar_Balance_rec( pNew, Aig_Regular(pDriver), vStore, 0, fUpdateLevel ); pObjNew = Aig_NotCond( pObjNew, Aig_IsComplement(pDriver) ); pObjNew = Aig_ObjCreateCo( pNew, pObjNew ); - pObjNew->pHaig = pObj->pHaig; } } Vec_VecFree( vStore ); diff --git a/src/opt/dar/darScript.c b/src/opt/dar/darScript.c index b3830cc3..583ca563 100644 --- a/src/opt/dar/darScript.c +++ b/src/opt/dar/darScript.c @@ -134,27 +134,6 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose ) /**Function************************************************************* - Synopsis [Performs one iteration of AIG rewriting.] - - Description [] - - SideEffects [] - - SeeAlso [] - -***********************************************************************/ -void Dar_ManHaigPrintStats( Aig_Man_t * pAig ) -{ - Aig_Obj_t * pObj; - int Counter, i; - Counter = 0; - Aig_ManForEachNode( pAig, pObj, i ) - Counter += (pObj->pHaig != NULL); - printf( "Total nodes = %6d. Equiv nodes = %6d.\n", Aig_ManNodeNum(pAig), Counter ); -} - -/**Function************************************************************* - Synopsis [Reproduces script "compress".] Description [] @@ -352,34 +331,20 @@ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateL //alias resyn2 "b; rw; rf; b; rw; rwz; b; rfz; rwz; b" { Vec_Ptr_t * vAigs; - Aig_Obj_t * pObj; - int i; vAigs = Vec_PtrAlloc( 3 ); pAig = Aig_ManDupDfs(pAig); Vec_PtrPush( vAigs, pAig ); - Aig_ManForEachObj( pAig, pObj, i ) - pObj->pHaig = pObj; - pAig = Dar_ManCompress(pAig, fBalance, fUpdateLevel, fPower, fVerbose); Vec_PtrPush( vAigs, pAig ); //Aig_ManPrintStats( pAig ); - Aig_ManForEachObj( pAig, pObj, i ) - { - pObj->pNext = pObj->pHaig; - pObj->pHaig = pObj; - } - pAig = Dar_ManCompress2(pAig, fBalance, fUpdateLevel, 1, fPower, fVerbose); Vec_PtrPush( vAigs, pAig ); //Aig_ManPrintStats( pAig ); pAig = (Aig_Man_t *)Vec_PtrEntry( vAigs, 1 ); - Aig_ManForEachObj( pAig, pObj, i ) - pObj->pHaig = pObj->pNext; - return vAigs; } |