diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-07-07 09:49:08 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-07-07 09:49:08 -0700 |
commit | 31d85e732b2648049171abfb906216dfe31449f3 (patch) | |
tree | 60cbeb56bcc719706f9635002869fbcc87290d87 | |
parent | 00eafb2325ba53bc73f633257edcc7066e662b32 (diff) | |
download | abc-31d85e732b2648049171abfb906216dfe31449f3.tar.gz abc-31d85e732b2648049171abfb906216dfe31449f3.tar.bz2 abc-31d85e732b2648049171abfb906216dfe31449f3.zip |
Added warning for GIA reader when input AIG has dangling nodes.
-rw-r--r-- | src/aig/gia/giaAiger.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/aig/gia/giaAiger.c b/src/aig/gia/giaAiger.c index a0adce33..1f36cfdc 100644 --- a/src/aig/gia/giaAiger.c +++ b/src/aig/gia/giaAiger.c @@ -1039,27 +1039,20 @@ Gia_Man_t * Gia_ReadAigerFromMemory( char * pContents, int nFileSize, int fCheck Vec_IntFreeP( &vPoTypes ); } + if ( Gia_ManHasDangling(pNew) ) { Vec_Int_t * vFlopMap, * vGateMap, * vObjMap; vFlopMap = pNew->vFlopClasses; pNew->vFlopClasses = NULL; vGateMap = pNew->vGateClasses; pNew->vGateClasses = NULL; vObjMap = pNew->vObjClasses; pNew->vObjClasses = NULL; pNew = Gia_ManCleanup( pTemp = pNew ); + if ( (vGateMap || vObjMap) && (Gia_ManObjNum(pNew) < Gia_ManObjNum(pTemp)) ) + printf( "Cleanup removed objects after reading. Old gate/object abstraction maps are invalid!\n" ); Gia_ManStop( pTemp ); pNew->vFlopClasses = vFlopMap; pNew->vGateClasses = vGateMap; pNew->vObjClasses = vObjMap; } -/* - { - extern Vec_Int_t * Vta_ManFramesToAbs( Vec_Vec_t * vFrames ); - extern Vec_Ptr_t * Vta_ManAbsToFrames( Vec_Int_t * vAbs ); - Vec_Vec_t * vAbs = (Vec_Vec_t *)Gia_ManUnrollAbs( pNew ); - assert( pNew->vObjClasses == NULL ); - pNew->vObjClasses = Vta_ManFramesToAbs( vAbs ); - Vec_VecFree( vAbs ); - } -*/ return pNew; } |