summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/aig/gia/giaIf.c5
-rw-r--r--src/misc/vec/vecMem.h8
2 files changed, 11 insertions, 2 deletions
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c
index e316a2ee..1af21299 100644
--- a/src/aig/gia/giaIf.c
+++ b/src/aig/gia/giaIf.c
@@ -363,6 +363,7 @@ void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile )
pLevels[i] = Abc_MaxInt( pLevels[i], pLevels[pFanins[2]] );
LevelMax = Abc_MaxInt( LevelMax, pLevels[i] );
nMuxF7++;
+ nFanins++;
continue;
}
nLuts++;
@@ -406,8 +407,8 @@ void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile )
Abc_Print( 1, "\n" );
#endif
- Gia_ManCountDupLut6( p );
-
+ if ( nMuxF7 )
+ Gia_ManCountDupLut6( p );
if ( pDumpFile )
{
diff --git a/src/misc/vec/vecMem.h b/src/misc/vec/vecMem.h
index 716d939f..c4868807 100644
--- a/src/misc/vec/vecMem.h
+++ b/src/misc/vec/vecMem.h
@@ -391,6 +391,14 @@ static inline Vec_Mem_t * Vec_MemAllocForTT( int nVars, int fCompl )
ABC_FREE( uTruth );
return vTtMem;
}
+static inline void Vec_MemAddMuxTT( Vec_Mem_t * p, int nVars )
+{
+ int Value, nWords = (nVars <= 6 ? 1 : (1 << (nVars - 6)));
+ word * uTruth = ABC_ALLOC( word, nWords );
+ memset( uTruth, 0xCA, sizeof(word) * nWords );
+ Value = Vec_MemHashInsert( p, uTruth ); assert( Value == 2 );
+ ABC_FREE( uTruth );
+}
static inline void Vec_MemDumpTruthTables( Vec_Mem_t * p, char * pName, int nLutSize )
{
FILE * pFile;