summaryrefslogtreecommitdiffstats
path: root/src/aig/gia
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-07-12 19:33:46 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-07-12 19:33:46 -0700
commit7efe9f2afd033b4e9d171e87317d29d195255dc4 (patch)
treecca9eef9643290e403549ef75781c39a68ecf51e /src/aig/gia
parent634dd6d030f5f54cfd0032be83ab10ec064530f1 (diff)
downloadabc-7efe9f2afd033b4e9d171e87317d29d195255dc4.tar.gz
abc-7efe9f2afd033b4e9d171e87317d29d195255dc4.tar.bz2
abc-7efe9f2afd033b4e9d171e87317d29d195255dc4.zip
New technology mapper.
Diffstat (limited to 'src/aig/gia')
-rw-r--r--src/aig/gia/giaIf.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c
index 5e6746b9..72c65da0 100644
--- a/src/aig/gia/giaIf.c
+++ b/src/aig/gia/giaIf.c
@@ -584,6 +584,12 @@ int Gia_ManFromIfLogicCreateLut( Gia_Man_t * pNew, word * pRes, Vec_Int_t * vLea
{
int i, iLit, iObjLit1;
iObjLit1 = Kit_TruthToGia( pNew, (unsigned *)pRes, Vec_IntSize(vLeaves), vCover, vLeaves, 0 );
+ // do not create LUT in the simple case
+ if ( Abc_Lit2Var(iObjLit1) == 0 )
+ return iObjLit1;
+ Vec_IntForEachEntry( vLeaves, iLit, i )
+ if ( Abc_Lit2Var(iObjLit1) == Abc_Lit2Var(iLit) )
+ return iObjLit1;
// write mapping
Vec_IntSetEntry( vMapping, Abc_Lit2Var(iObjLit1), Vec_IntSize(vMapping2) );
Vec_IntPush( vMapping2, Vec_IntSize(vLeaves) );