summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/aig/gia/giaIf.c5
-rw-r--r--src/base/abci/abcIf.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c
index 5f5a7c07..57cc988f 100644
--- a/src/aig/gia/giaIf.c
+++ b/src/aig/gia/giaIf.c
@@ -717,7 +717,7 @@ int Gia_ManBuildFromMini( Gia_Man_t * pNew, If_Man_t * pIfMan, If_Cut_t * pCut,
Gia_Man_t * Gia_ManFromIfAig( If_Man_t * pIfMan )
{
int fHash = 0;
- Gia_Man_t * pNew;
+ Gia_Man_t * pNew, * pTemp;
If_Obj_t * pIfObj, * pIfLeaf;
If_Cut_t * pCutBest;
Vec_Int_t * vLeaves;
@@ -762,7 +762,8 @@ Gia_Man_t * Gia_ManFromIfAig( If_Man_t * pIfMan )
}
Vec_IntFree( vAig );
Vec_IntFree( vLeaves );
- Gia_ManHashStop( pNew );
+ pNew = Gia_ManRehash( pTemp = pNew, 0 );
+ Gia_ManStop( pTemp );
return pNew;
}
diff --git a/src/base/abci/abcIf.c b/src/base/abci/abcIf.c
index 8131a64a..11707760 100644
--- a/src/base/abci/abcIf.c
+++ b/src/base/abci/abcIf.c
@@ -113,7 +113,7 @@ if ( pIfMan->pPars->fVerbose )
***********************************************************************/
Abc_Ntk_t * Abc_NtkIf( Abc_Ntk_t * pNtk, If_Par_t * pPars )
{
- Abc_Ntk_t * pNtkNew;
+ Abc_Ntk_t * pNtkNew, * pTemp;
If_Man_t * pIfMan;
assert( Abc_NtkIsStrash(pNtk) );
@@ -160,7 +160,12 @@ Abc_Ntk_t * Abc_NtkIf( Abc_Ntk_t * pNtk, If_Par_t * pPars )
if ( pNtkNew == NULL )
return NULL;
If_ManStop( pIfMan );
- if ( pPars->fBidec && pPars->nLutSize <= 8 )
+ if ( pPars->fDelayOpt || pPars->fDsdBalance || pPars->fUserRecLib )
+ {
+ pNtkNew = Abc_NtkStrash( pTemp = pNtkNew, 0, 0, 0 );
+ Abc_NtkDelete( pTemp );
+ }
+ else if ( pPars->fBidec && pPars->nLutSize <= 8 )
Abc_NtkBidecResyn( pNtkNew, 0 );
// duplicate EXDC