summaryrefslogtreecommitdiffstats
path: root/src/map/if/ifMap.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-03-20 11:21:33 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-03-20 11:21:33 -0700
commitb581e16f32cd1ad68a65fd94d9f2b997da443721 (patch)
tree60550ee6a2254498f8e38b71b8f4347d8f0c5b1f /src/map/if/ifMap.c
parentd44d9e292788efa2d933ffdeeaa058e4bc416e90 (diff)
downloadabc-b581e16f32cd1ad68a65fd94d9f2b997da443721.tar.gz
abc-b581e16f32cd1ad68a65fd94d9f2b997da443721.tar.bz2
abc-b581e16f32cd1ad68a65fd94d9f2b997da443721.zip
Experiments with cut caching.
Diffstat (limited to 'src/map/if/ifMap.c')
-rw-r--r--src/map/if/ifMap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index 5a2cd99d..fe4b146b 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -219,6 +219,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
// p->timeTruth += Abc_Clock() - clk;
if ( p->pPars->fUseDsd )
{
+ extern void If_ManCacheRecord( If_Man_t * p, int iDsd0, int iDsd1, int nShared, int iDsd );
int truthId = Abc_Lit2Var(pCut->iCutFunc);
if ( Vec_IntSize(p->vTtDsds) <= truthId || Vec_IntEntry(p->vTtDsds, truthId) == -1 )
{
@@ -239,6 +240,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
for ( v = 0; v < (int)pCut->nLeaves; v++ )
pCut->pPerm[v] = (unsigned char)Vec_StrEntry( p->vTtPerms, truthId * p->pPars->nLutSize + v );
}
+ If_ManCacheRecord( p, pCut0->iCutDsd, pCut1->iCutDsd, p->nShared, pCut->iCutDsd );
}
// run user functions
pCut->fUseless = 0;