summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2019-12-03 15:01:52 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2019-12-03 15:01:52 -0800
commitd5276971ebdb7617447a6b057d6e5843b3aab3fb (patch)
treea2aceec5573e6d4e8eb77bb9a7f2465e907a479b
parentd1462693cfc83886e390a1612d98bc2c96e0d639 (diff)
downloadabc-d5276971ebdb7617447a6b057d6e5843b3aab3fb.tar.gz
abc-d5276971ebdb7617447a6b057d6e5843b3aab3fb.tar.bz2
abc-d5276971ebdb7617447a6b057d6e5843b3aab3fb.zip
Accidentally losing flop info while rehashing AIG.
-rw-r--r--src/aig/gia/giaAiger.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/aig/gia/giaAiger.c b/src/aig/gia/giaAiger.c
index 7d68a485..3abfb563 100644
--- a/src/aig/gia/giaAiger.c
+++ b/src/aig/gia/giaAiger.c
@@ -794,15 +794,19 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fGiaSi
if ( !fGiaSimple && !fSkipStrash && Gia_ManHasDangling(pNew) )
{
Tim_Man_t * pManTime;
- Vec_Int_t * vFlopMap, * vGateMap, * vObjMap;
- vFlopMap = pNew->vFlopClasses; pNew->vFlopClasses = NULL;
- vGateMap = pNew->vGateClasses; pNew->vGateClasses = NULL;
- vObjMap = pNew->vObjClasses; pNew->vObjClasses = NULL;
- pManTime = (Tim_Man_t *)pNew->pManTime; pNew->pManTime = NULL;
+ Vec_Int_t * vFlopMap, * vGateMap, * vObjMap, * vRegClasses, * vRegInits;
+ vRegClasses = pNew->vRegClasses; pNew->vRegClasses = NULL;
+ vRegInits = pNew->vRegInits; pNew->vRegInits = NULL;
+ vFlopMap = pNew->vFlopClasses; pNew->vFlopClasses = NULL;
+ vGateMap = pNew->vGateClasses; pNew->vGateClasses = NULL;
+ vObjMap = pNew->vObjClasses; pNew->vObjClasses = NULL;
+ pManTime = (Tim_Man_t *)pNew->pManTime; pNew->pManTime = 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->vRegClasses = vRegClasses;
+ pNew->vRegInits = vRegInits;
pNew->vFlopClasses = vFlopMap;
pNew->vGateClasses = vGateMap;
pNew->vObjClasses = vObjMap;