diff --git a/src/aig/dch/dchChoice.c b/src/aig/dch/dchChoice.c index 09bbf2fb7..ee1ce034f 100644 --- a/src/aig/dch/dchChoice.c +++ b/src/aig/dch/dchChoice.c @@ -81,11 +81,18 @@ int Dch_DeriveChoiceCountEquivs( Aig_Man_t * pAig ) // remove referenced node from equivalence class assert( pAig->pEquivs[pPrev->Id] == pTemp ); pAig->pEquivs[pPrev->Id] = pAig->pEquivs[pTemp->Id]; + pAig->pEquivs[pTemp->Id] = NULL; + // how about the need to continue iterating over the list? + // pPrev = pTemp ??? Counter++; } nEquivs++; } } + printf( "Removed %d classes.\n", Counter ); + + if ( Counter ) + Dch_DeriveChoiceCountEquivs( pAig ); // if ( Counter ) // printf( "Removed %d equiv nodes because of non-zero ref counter.\n", Counter ); return nEquivs; diff --git a/src/map/pcm/module.make b/src/map/pcm/module.make new file mode 100644 index 000000000..e69de29bb diff --git a/src/map/ply/module.make b/src/map/ply/module.make new file mode 100644 index 000000000..e69de29bb