summaryrefslogtreecommitdiffstats
path: root/src/map/if/ifMap.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2011-05-07 20:19:45 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2011-05-07 20:19:45 -0700
commit27bb2a684d0888f47bfc2f0ee99399c25989f383 (patch)
tree3049340093a2c8beb9b580a25de98e4179142247 /src/map/if/ifMap.c
parentb8b75cf14fd361c02c00ae3792537a0dab7a243f (diff)
downloadabc-27bb2a684d0888f47bfc2f0ee99399c25989f383.tar.gz
abc-27bb2a684d0888f47bfc2f0ee99399c25989f383.tar.bz2
abc-27bb2a684d0888f47bfc2f0ee99399c25989f383.zip
Updated technology mapping.
Diffstat (limited to 'src/map/if/ifMap.c')
-rw-r--r--src/map/if/ifMap.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index f5d1356f..1a7b6ea7 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -135,14 +135,16 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
if ( p->pPars->fTruth )
{
// int clk = clock();
- If_CutComputeTruth( p, pCut, pCut0, pCut1, pObj->fCompl0, pObj->fCompl1 );
+ int RetValue = If_CutComputeTruth( p, pCut, pCut0, pCut1, pObj->fCompl0, pObj->fCompl1 );
// p->timeTruth += clock() - clk;
- if ( p->pPars->pFuncCell )
+ pCut->fUseless = 0;
+ if ( p->pPars->pFuncCell && RetValue < 2 )
{
- assert( pCut->nLimit >= 4 && pCut->nLimit <= 6 );
+ assert( pCut->nLimit >= 4 && pCut->nLimit <= 7 );
pCut->fUseless = !p->pPars->pFuncCell( If_CutTruth(pCut), pCut->nLimit, pCut->nLeaves );
p->nCutsUseless += pCut->fUseless;
}
+
}
// compute the application-specific cost and depth
pCut->fUser = (p->pPars->pFuncCost != NULL);