summaryrefslogtreecommitdiffstats
path: root/src/map/if/ifMap.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-04-03 12:23:49 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-04-03 12:23:49 -0700
commit7669c99605b6c7ea4a3e560d99861e57da4e8f54 (patch)
treefb8dfa49bd541eaa2451ad38222ff1a072a17591 /src/map/if/ifMap.c
parent3db3be2d6130324f9c8d685c4dc04d7069fcab12 (diff)
downloadabc-7669c99605b6c7ea4a3e560d99861e57da4e8f54.tar.gz
abc-7669c99605b6c7ea4a3e560d99861e57da4e8f54.tar.bz2
abc-7669c99605b6c7ea4a3e560d99861e57da4e8f54.zip
Improvements to technology mapping.
Diffstat (limited to 'src/map/if/ifMap.c')
-rw-r--r--src/map/if/ifMap.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index fc9c6ebe..8b81003a 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -176,7 +176,7 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
}
else
{
- if ( !If_CutMergeOrdered( p, pCut0R, pCut1R, pCut ) )
+ if ( !If_CutMergeOrdered( p, pCut0, pCut1, pCut ) )
continue;
}
if ( pObj->fSpec && pCut->nLeaves == (unsigned)p->pPars->nLutSize )
@@ -187,19 +187,20 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
if ( !p->pPars->fSkipCutFilter && If_CutFilter( pCutSet, pCut ) )
continue;
// compute the truth table
- pCut->fCompl = 0;
pCut->iCutFunc = -1;
pCut->iCutDsd = -1;
+ pCut->fCompl = 0;
if ( p->pPars->fTruth )
{
-// abctime clk = Abc_Clock();
+// int nShared = pCut0->nLeaves + pCut1->nLeaves - pCut->nLeaves;
+ abctime clk = Abc_Clock();
if ( p->pPars->fUseTtPerm )
fChange = If_CutComputeTruthPerm( p, pCut, pCut0R, pCut1R, fFunc0R, fFunc1R );
else
fChange = If_CutComputeTruth( p, pCut, pCut0, pCut1, pObj->fCompl0, pObj->fCompl1 );
+ p->timeCache[4] += Abc_Clock() - clk;
if ( !p->pPars->fSkipCutFilter && fChange && If_CutFilter( pCutSet, pCut ) )
continue;
-// 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 );
@@ -223,7 +224,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, pCut0R->iCutDsd, pCut1R->iCutDsd, p->nShared, pCut->iCutDsd );
+// If_ManCacheRecord( p, pCut0->iCutDsd, pCut1->iCutDsd, nShared, pCut->iCutDsd );
}
// run user functions
pCut->fUseless = 0;