diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-03-27 14:17:12 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-03-27 14:17:12 -0700 |
commit | 6c01e8b9f040d591f72882aff08ed21446fbb567 (patch) | |
tree | 71f04dae22291d7321e5bb244462ab1145c47ee6 /src/aig/saig | |
parent | 1ec437d04b2fcb42054f068525c2a1b21b69fe53 (diff) | |
download | abc-6c01e8b9f040d591f72882aff08ed21446fbb567.tar.gz abc-6c01e8b9f040d591f72882aff08ed21446fbb567.tar.bz2 abc-6c01e8b9f040d591f72882aff08ed21446fbb567.zip |
Fixed a number of small bugs and memory leaks.
Diffstat (limited to 'src/aig/saig')
-rw-r--r-- | src/aig/saig/saigBmc2.c | 4 | ||||
-rw-r--r-- | src/aig/saig/saigConstr.c | 4 | ||||
-rw-r--r-- | src/aig/saig/saigPhase.c | 2 | ||||
-rw-r--r-- | src/aig/saig/saigWnd.c | 2 |
4 files changed, 9 insertions, 3 deletions
diff --git a/src/aig/saig/saigBmc2.c b/src/aig/saig/saigBmc2.c index 9c36deb3..8e537142 100644 --- a/src/aig/saig/saigBmc2.c +++ b/src/aig/saig/saigBmc2.c @@ -751,7 +751,7 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax Aig_Man_t * pNew; Cnf_Dat_t * pCnf; int nOutsSolved = 0; - int Iter, RetValue, clk = clock(), clk2, clkTotal = clock(); + int Iter, RetValue = -1, clk = clock(), clk2, clkTotal = clock(); int Status = -1; /* Vec_Ptr_t * vSimInfo; @@ -801,9 +801,9 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax if ( nTimeOut && ((float)nTimeOut <= (float)(clock()-clkTotal)/(float)(CLOCKS_PER_SEC)) ) { printf( "Reached timeout (%d seconds).\n", nTimeOut ); - Saig_BmcManStop( p ); if ( piFrames ) *piFrames = p->iFrameLast-1; + Saig_BmcManStop( p ); return Status; } } diff --git a/src/aig/saig/saigConstr.c b/src/aig/saig/saigConstr.c index b4024634..d58074e3 100644 --- a/src/aig/saig/saigConstr.c +++ b/src/aig/saig/saigConstr.c @@ -57,7 +57,11 @@ Aig_Man_t * Saig_ManDupUnfoldConstrs( Aig_Man_t * pAig ) int i, RetValue; RetValue = Saig_ManDetectConstr( pAig, &vOuts, &vCons ); if ( RetValue == 0 ) + { + Vec_PtrFreeP( &vOuts ); + Vec_PtrFreeP( &vCons ); return Aig_ManDupDfs( pAig ); + } // start the new manager pAigNew = Aig_ManStart( Aig_ManNodeNum(pAig) ); pAigNew->pName = Aig_UtilStrsav( pAig->pName ); diff --git a/src/aig/saig/saigPhase.c b/src/aig/saig/saigPhase.c index fad77020..1c288407 100644 --- a/src/aig/saig/saigPhase.c +++ b/src/aig/saig/saigPhase.c @@ -665,7 +665,7 @@ void Saig_ManAnalizeControl( Aig_Man_t * p, int Reg ) ***********************************************************************/ int Saig_ManFindRegisters( Saig_Tsim_t * pTsi, int nFrames, int fIgnore, int fVerbose ) { - int Values[257]; + int Values[257] = {0}; unsigned * pState; int r, i, k, Reg, Value; int nTests = pTsi->nPrefix + 2 * pTsi->nCycle; diff --git a/src/aig/saig/saigWnd.c b/src/aig/saig/saigWnd.c index eeacb44e..c11798ea 100644 --- a/src/aig/saig/saigWnd.c +++ b/src/aig/saig/saigWnd.c @@ -802,6 +802,8 @@ Aig_Man_t * Saig_ManWindowExtractMiter( Aig_Man_t * p0, Aig_Man_t * p1 ) } Aig_ManSetRegNum( pNew, nRegCount ); Aig_ManCleanup( pNew ); + Vec_PtrFree( vNodes0 ); + Vec_PtrFree( vNodes1 ); return pNew; } |