diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-07-14 23:12:05 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-07-14 23:12:05 -0700 |
commit | dd29ca30a6afe0ba384a8985957a5bbead031911 (patch) | |
tree | c34dac29afa1b2d7fef39d0cfd93f885b62fd409 /src/aig/gia/giaIf.c | |
parent | c0ac159888963dae8dabeb2ee9215f3efdf48a1a (diff) | |
download | abc-dd29ca30a6afe0ba384a8985957a5bbead031911.tar.gz abc-dd29ca30a6afe0ba384a8985957a5bbead031911.tar.bz2 abc-dd29ca30a6afe0ba384a8985957a5bbead031911.zip |
New technology mapper.
Diffstat (limited to 'src/aig/gia/giaIf.c')
-rw-r--r-- | src/aig/gia/giaIf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c index 72c65da0..f3820ab4 100644 --- a/src/aig/gia/giaIf.c +++ b/src/aig/gia/giaIf.c @@ -409,6 +409,7 @@ If_Man_t * Gia_ManToIf( Gia_Man_t * p, If_Par_t * pPars ) // create levels with choices Gia_ManChoiceLevel( p ); // mark representative nodes + if ( p->pSibls ) Gia_ManMarkFanoutDrivers( p ); // start the mapping manager and set its parameters pIfMan = If_ManStart( pPars ); @@ -445,12 +446,13 @@ If_Man_t * Gia_ManToIf( Gia_Man_t * p, If_Par_t * pPars ) { Gia_Obj_t * pSibl, * pPrev; for ( pPrev = pObj, pSibl = Gia_ObjSiblObj(p, i); pSibl; pPrev = pSibl, pSibl = Gia_ObjSiblObj(p, Gia_ObjId(p, pSibl)) ) - If_ObjSetChoice( If_ManObj(pIfMan, Gia_ObjValue(pObj)), If_ManObj(pIfMan, Gia_ObjValue(pSibl)) ); + If_ObjSetChoice( If_ManObj(pIfMan, Gia_ObjValue(pPrev)), If_ManObj(pIfMan, Gia_ObjValue(pSibl)) ); If_ManCreateChoice( pIfMan, If_ManObj(pIfMan, Gia_ObjValue(pObj)) ); pPars->fExpRed = 0; } // assert( If_ObjLevel(pIfObj) == Gia_ObjLevel(pNode) ); } + if ( p->pSibls ) Gia_ManCleanMark0( p ); return pIfMan; } |