diff options
Diffstat (limited to 'src/opt/dau')
-rw-r--r-- | src/opt/dau/dauGia.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/opt/dau/dauGia.c b/src/opt/dau/dauGia.c index cc8ca23e..b75ded61 100644 --- a/src/opt/dau/dauGia.c +++ b/src/opt/dau/dauGia.c @@ -494,8 +494,15 @@ void * Dsm_ManDeriveGia( void * pGia, int fUseMuxes ) vCover = Vec_IntAlloc( 1 << 16 ); Gia_ManHashStart( pNew ); Gia_ObjComputeTruthTableStart( p, Gia_ManLutSizeMax(p) ); - Gia_ManForEachLut( p, iLut ) + Gia_ManForEachAnd( p, pObj, iLut ) { + if ( Gia_ObjIsBuf(pObj) ) + { + pObj->Value = Gia_ManAppendBuf( pNew, Gia_ObjFanin0Copy(pObj) ); + continue; + } + if ( !Gia_ObjIsLut(p, iLut) ) + continue; // collect leaves Vec_IntClear( vLeaves ); Gia_LutForEachFanin( p, iLut, iVar, k ) |