diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/aig/gia/giaJf.c | 5 | ||||
-rw-r--r-- | src/opt/dau/dauGia.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/aig/gia/giaJf.c b/src/aig/gia/giaJf.c index f8146406..286d2d71 100644 --- a/src/aig/gia/giaJf.c +++ b/src/aig/gia/giaJf.c @@ -1440,7 +1440,7 @@ void Jf_ManDeriveMapping( Jf_Man_t * p ) ***********************************************************************/ Gia_Man_t * Jf_ManDeriveGia( Jf_Man_t * p ) { - Gia_Man_t * pNew; + Gia_Man_t * pNew, * pTemp; Gia_Obj_t * pObj; Vec_Int_t * vCopies = Vec_IntStartFull( Gia_ManObjNum(p->pGia) ); Vec_Int_t * vCover = Vec_IntAlloc( 1 << 16 ); @@ -1516,6 +1516,9 @@ Gia_Man_t * Jf_ManDeriveGia( Jf_Man_t * p ) Gia_ManHashStop( pNew ); Gia_ManSetRegNum( pNew, Gia_ManRegNum(p->pGia) ); // Dsm_ManReportStats(); + // perform cleanup + pNew = Gia_ManCleanup( pTemp = pNew ); + Gia_ManStop( pTemp ); return pNew; } diff --git a/src/opt/dau/dauGia.c b/src/opt/dau/dauGia.c index 54cd4782..7e7d9094 100644 --- a/src/opt/dau/dauGia.c +++ b/src/opt/dau/dauGia.c @@ -161,11 +161,10 @@ int Dau_DsdToGia_rec( Gia_Man_t * pGia, char * pStr, char ** p, int * pMatches, } if ( (**p >= 'A' && **p <= 'F') || (**p >= '0' && **p <= '9') ) { - word Func; + Vec_Int_t vLeaves; char * q; + word pFunc[DAU_DSD_MAX_VAR > 6 ? (1 << (DAU_DSD_MAX_VAR-6)) : 1]; int Fanins[DAU_DSD_MAX_VAR], Res; - Vec_Int_t vLeaves; - char * q; - int i, nVars = Abc_TtReadHex( &Func, *p ); + int i, nVars = Abc_TtReadHex( pFunc, *p ); *p += Abc_TtHexDigitNum( nVars ); q = pStr + pMatches[ *p - pStr ]; assert( **p == '{' && *q == '}' ); @@ -177,7 +176,7 @@ int Dau_DsdToGia_rec( Gia_Man_t * pGia, char * pStr, char ** p, int * pMatches, vLeaves.nCap = nVars; vLeaves.nSize = nVars; vLeaves.pArray = Fanins; - Res = Kit_TruthToGia( pGia, (unsigned *)&Func, nVars, vCover, &vLeaves, 1 ); + Res = Kit_TruthToGia( pGia, (unsigned *)pFunc, nVars, vCover, &vLeaves, 1 ); m_Non1Step++; return Abc_LitNotCond( Res, fCompl ); } |