diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-04-19 18:41:45 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-04-19 18:41:45 -0700 |
commit | e868d057bbc6d0d0a0a32bd39f0b90698c50428d (patch) | |
tree | f250d0314498f608e4ec644dc328e899833ed1e8 /src | |
parent | eb960a91d570e3f1cba1010fd2edab2af299301e (diff) | |
download | abc-e868d057bbc6d0d0a0a32bd39f0b90698c50428d.tar.gz abc-e868d057bbc6d0d0a0a32bd39f0b90698c50428d.tar.bz2 abc-e868d057bbc6d0d0a0a32bd39f0b90698c50428d.zip |
Added structural hashing by default after if -g and &if -g.
Diffstat (limited to 'src')
-rw-r--r-- | src/aig/gia/giaIf.c | 5 | ||||
-rw-r--r-- | src/base/abci/abcIf.c | 9 |
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 |