Commit ba063a1b by Alan Mishchenko

Correctly handling transfer of additional AIG info when AIG has no internal nodes.

parent 2ba092e4
...@@ -460,7 +460,11 @@ Gia_Man_t * Gia_ManPerformFx( Gia_Man_t * p, int nNewNodesMax, int LitCountMax, ...@@ -460,7 +460,11 @@ Gia_Man_t * Gia_ManPerformFx( Gia_Man_t * p, int nNewNodesMax, int LitCountMax,
Vec_Wec_t * vCubes; Vec_Wec_t * vCubes;
Vec_Str_t * vCompl; Vec_Str_t * vCompl;
if ( Gia_ManAndNum(p) == 0 ) if ( Gia_ManAndNum(p) == 0 )
return Gia_ManDup(p); {
pNew = Gia_ManDup(p);
Gia_ManTransferTiming( pNew, p );
return pNew;
}
// abctime clk; // abctime clk;
assert( Gia_ManHasMapping(p) ); assert( Gia_ManHasMapping(p) );
// collect information // collect information
......
...@@ -88,7 +88,11 @@ Gia_Man_t * Gia_ManAigSyn2( Gia_Man_t * pInit, int fOldAlgo, int fCoarsen, int f ...@@ -88,7 +88,11 @@ Gia_Man_t * Gia_ManAigSyn2( Gia_Man_t * pInit, int fOldAlgo, int fCoarsen, int f
p = Gia_ManDup( pInit ); p = Gia_ManDup( pInit );
Gia_ManTransferTiming( p, pInit ); Gia_ManTransferTiming( p, pInit );
if ( Gia_ManAndNum(p) == 0 ) if ( Gia_ManAndNum(p) == 0 )
return p; {
pNew = Gia_ManDup(p);
Gia_ManTransferTiming( pNew, p );
return pNew;
}
// delay optimization // delay optimization
if ( fDelayMin && p->pManTime == NULL ) if ( fDelayMin && p->pManTime == NULL )
{ {
...@@ -157,7 +161,11 @@ Gia_Man_t * Gia_ManAigSyn3( Gia_Man_t * p, int fVerbose, int fVeryVerbose ) ...@@ -157,7 +161,11 @@ Gia_Man_t * Gia_ManAigSyn3( Gia_Man_t * p, int fVerbose, int fVeryVerbose )
pPars->nRelaxRatio = 40; pPars->nRelaxRatio = 40;
if ( fVerbose ) Gia_ManPrintStats( p, NULL ); if ( fVerbose ) Gia_ManPrintStats( p, NULL );
if ( Gia_ManAndNum(p) == 0 ) if ( Gia_ManAndNum(p) == 0 )
return Gia_ManDup(p); {
pNew = Gia_ManDup(p);
Gia_ManTransferTiming( pNew, p );
return pNew;
}
// perform balancing // perform balancing
pNew = Gia_ManAreaBalance( p, 0, ABC_INFINITY, fVeryVerbose, 0 ); pNew = Gia_ManAreaBalance( p, 0, ABC_INFINITY, fVeryVerbose, 0 );
if ( fVerbose ) Gia_ManPrintStats( pNew, NULL ); if ( fVerbose ) Gia_ManPrintStats( pNew, NULL );
...@@ -189,7 +197,11 @@ Gia_Man_t * Gia_ManAigSyn4( Gia_Man_t * p, int fVerbose, int fVeryVerbose ) ...@@ -189,7 +197,11 @@ Gia_Man_t * Gia_ManAigSyn4( Gia_Man_t * p, int fVerbose, int fVeryVerbose )
pPars->nRelaxRatio = 40; pPars->nRelaxRatio = 40;
if ( fVerbose ) Gia_ManPrintStats( p, NULL ); if ( fVerbose ) Gia_ManPrintStats( p, NULL );
if ( Gia_ManAndNum(p) == 0 ) if ( Gia_ManAndNum(p) == 0 )
return Gia_ManDup(p); {
pNew = Gia_ManDup(p);
Gia_ManTransferTiming( pNew, p );
return pNew;
}
//Gia_ManAigPrintPiLevels( p ); //Gia_ManAigPrintPiLevels( p );
// perform balancing // perform balancing
pNew = Gia_ManAreaBalance( p, 0, ABC_INFINITY, fVeryVerbose, 0 ); pNew = Gia_ManAreaBalance( p, 0, ABC_INFINITY, fVeryVerbose, 0 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment