From d5276971ebdb7617447a6b057d6e5843b3aab3fb Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 3 Dec 2019 15:01:52 -0800 Subject: Accidentally losing flop info while rehashing AIG. --- src/aig/gia/giaAiger.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/aig') 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; -- cgit v1.2.3