Making selecting duplication procedure creates a smaller AIG.

This commit is contained in:
Alan Mishchenko 2013-09-05 02:15:36 -07:00
parent e5ae3f28f7
commit eddb194ce0
1 changed files with 7 additions and 2 deletions

View File

@ -906,8 +906,11 @@ Gia_Man_t * Gia_ManDupMarked( Gia_Man_t * p )
Gia_Man_t * pNew;
Gia_Obj_t * pObj;
int i, nRos = 0, nRis = 0;
int CountMarked = 0;
Gia_ManForEachObj1( p, pObj, i )
CountMarked += pObj->fMark0;
Gia_ManFillValue( p );
pNew = Gia_ManStart( Gia_ManObjNum(p) );
pNew = Gia_ManStart( Gia_ManObjNum(p) - CountMarked );
if ( p->pMuxes )
pNew->pMuxes = ABC_CALLOC( unsigned, pNew->nObjsAlloc );
pNew->nConstrs = p->nConstrs;
@ -917,8 +920,10 @@ Gia_Man_t * Gia_ManDupMarked( Gia_Man_t * p )
Gia_ManForEachObj1( p, pObj, i )
{
if ( pObj->fMark0 )
{
pObj->fMark0 = 0;
continue;
pObj->fMark0 = 0;
}
if ( Gia_ObjIsAnd(pObj) )
{
if ( Gia_ObjIsXor(pObj) )