summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaAiger.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-07-07 09:49:08 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-07-07 09:49:08 -0700
commit31d85e732b2648049171abfb906216dfe31449f3 (patch)
tree60cbeb56bcc719706f9635002869fbcc87290d87 /src/aig/gia/giaAiger.c
parent00eafb2325ba53bc73f633257edcc7066e662b32 (diff)
downloadabc-31d85e732b2648049171abfb906216dfe31449f3.tar.gz
abc-31d85e732b2648049171abfb906216dfe31449f3.tar.bz2
abc-31d85e732b2648049171abfb906216dfe31449f3.zip
Added warning for GIA reader when input AIG has dangling nodes.
Diffstat (limited to 'src/aig/gia/giaAiger.c')
-rw-r--r--src/aig/gia/giaAiger.c13
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;
}