diff options
Diffstat (limited to 'src/aig/gia')
-rw-r--r-- | src/aig/gia/gia.h | 1 | ||||
-rw-r--r-- | src/aig/gia/giaBalance.c | 6 | ||||
-rw-r--r-- | src/aig/gia/giaMuxes.c | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index 463f11e6..bc6fae06 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -252,6 +252,7 @@ struct Jf_Par_t_ int nRounds; int nRoundsEla; int nRelaxRatio; + int nCoarseLimit; int nVerbLimit; int DelayTarget; int fAreaOnly; diff --git a/src/aig/gia/giaBalance.c b/src/aig/gia/giaBalance.c index 749a7c1e..abb6dd19 100644 --- a/src/aig/gia/giaBalance.c +++ b/src/aig/gia/giaBalance.c @@ -1046,7 +1046,11 @@ Gia_Man_t * Gia_ManAigSyn2( Gia_Man_t * p, int fOldAlgo, int fCoarsen, int fCutM else pNew = Lf_ManPerformMapping( pTemp = pNew, pPars ); if ( fVerbose ) Gia_ManPrintStats( pNew, NULL ); -// Gia_ManStop( pTemp ); + if ( pTemp != pNew ) + { + Gia_ManAigTransferPiLevels( pNew, pTemp ); + Gia_ManStop( pTemp ); + } // perform balancing pNew = Gia_ManAreaBalance( pTemp = pNew, 0, ABC_INFINITY, fVeryVerbose, 0 ); if ( fVerbose ) Gia_ManPrintStats( pNew, NULL ); diff --git a/src/aig/gia/giaMuxes.c b/src/aig/gia/giaMuxes.c index db44e219..85db6e76 100644 --- a/src/aig/gia/giaMuxes.c +++ b/src/aig/gia/giaMuxes.c @@ -97,6 +97,7 @@ Gia_Man_t * Gia_ManDupMuxes( Gia_Man_t * p, int Limit ) Gia_Obj_t * pObj, * pFan0, * pFan1, * pFanC; int i; assert( p->pMuxes == NULL ); + assert( Limit >= 2 ); ABC_FREE( p->pRefs ); Gia_ManCreateRefs( p ); // start the new manager |