Commit 3e5e7a25 by Alan Mishchenko

Added skipping &iso when there is only one PO.

parent 1bf2b035
...@@ -977,6 +977,8 @@ Gia_Man_t * Gia_ManIsoReduce( Gia_Man_t * p, Vec_Ptr_t ** pvPosEquivs, int fVerb ...@@ -977,6 +977,8 @@ Gia_Man_t * Gia_ManIsoReduce( Gia_Man_t * p, Vec_Ptr_t ** pvPosEquivs, int fVerb
// create preliminary equivalences // create preliminary equivalences
vEquivs = Gia_IsoDeriveEquivPos( p, 1, fVeryVerbose ); vEquivs = Gia_IsoDeriveEquivPos( p, 1, fVeryVerbose );
if ( vEquivs == NULL )
return NULL;
// printf( "Reduced %d outputs to %d outputs. ", Gia_ManPoNum(p), Vec_PtrSize(vEquivs) ); // printf( "Reduced %d outputs to %d outputs. ", Gia_ManPoNum(p), Vec_PtrSize(vEquivs) );
// Abc_PrintTime( 1, "Time", clock() - clk ); // Abc_PrintTime( 1, "Time", clock() - clk );
......
...@@ -27966,6 +27966,11 @@ int Abc_CommandAbc9Iso( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -27966,6 +27966,11 @@ int Abc_CommandAbc9Iso( Abc_Frame_t * pAbc, int argc, char ** argv )
return 1; return 1;
} }
pAig = Gia_ManIsoReduce( pAbc->pGia, &vPosEquivs, fVerbose ); pAig = Gia_ManIsoReduce( pAbc->pGia, &vPosEquivs, fVerbose );
if ( pAig == NULL )
{
Abc_Print( -1, "Abc_CommandAbc9Iso(): Transformation has failed.\n" );
return 1;
}
// update the internal storage of PO equivalences // update the internal storage of PO equivalences
Abc_FrameReplacePoEquivs( pAbc, &vPosEquivs ); Abc_FrameReplacePoEquivs( pAbc, &vPosEquivs );
// update the AIG // update the AIG
......
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