From 3e5e7a254426bac5b5f9634ff5f087faf275c2c1 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 29 Feb 2012 10:51:05 -0800 Subject: Added skipping &iso when there is only one PO. --- src/aig/gia/giaIso.c | 2 ++ src/base/abci/abc.c | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/aig/gia/giaIso.c b/src/aig/gia/giaIso.c index c5210545..5e47c9b7 100644 --- a/src/aig/gia/giaIso.c +++ b/src/aig/gia/giaIso.c @@ -977,6 +977,8 @@ Gia_Man_t * Gia_ManIsoReduce( Gia_Man_t * p, Vec_Ptr_t ** pvPosEquivs, int fVerb // create preliminary equivalences vEquivs = Gia_IsoDeriveEquivPos( p, 1, fVeryVerbose ); + if ( vEquivs == NULL ) + return NULL; // printf( "Reduced %d outputs to %d outputs. ", Gia_ManPoNum(p), Vec_PtrSize(vEquivs) ); // Abc_PrintTime( 1, "Time", clock() - clk ); diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 0eabe4c7..c8090460 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -27966,6 +27966,11 @@ int Abc_CommandAbc9Iso( Abc_Frame_t * pAbc, int argc, char ** argv ) return 1; } 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 Abc_FrameReplacePoEquivs( pAbc, &vPosEquivs ); // update the AIG -- cgit v1.2.3