summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaScl.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-12-11 11:14:04 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-12-11 11:14:04 -0800
commitac7633c5a4c874bd6f29827017ee23fc23613ad5 (patch)
tree9b2dd262555a62ceb0ae078c895de86e2a575874 /src/aig/gia/giaScl.c
parent4f940de51880c83228b1923fe245af33de1fe346 (diff)
downloadabc-ac7633c5a4c874bd6f29827017ee23fc23613ad5.tar.gz
abc-ac7633c5a4c874bd6f29827017ee23fc23613ad5.tar.bz2
abc-ac7633c5a4c874bd6f29827017ee23fc23613ad5.zip
Integrating barrier buffers.
Diffstat (limited to 'src/aig/gia/giaScl.c')
-rw-r--r--src/aig/gia/giaScl.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/aig/gia/giaScl.c b/src/aig/gia/giaScl.c
index 3aaf91dc..70bc9fe8 100644
--- a/src/aig/gia/giaScl.c
+++ b/src/aig/gia/giaScl.c
@@ -33,7 +33,7 @@ ABC_NAMESPACE_IMPL_START
/**Function*************************************************************
- Synopsis [Marks unreachable internal nodes and returned their number.]
+ Synopsis [Marks unreachable internal nodes and returns their number.]
Description []
@@ -50,30 +50,21 @@ int Gia_ManCombMarkUsed_rec( Gia_Man_t * p, Gia_Obj_t * pObj )
return 0;
pObj->fMark0 = 0;
assert( Gia_ObjIsAnd(pObj) );
+ assert( !Gia_ObjIsBuf(pObj) );
return 1 + Gia_ManCombMarkUsed_rec( p, Gia_ObjFanin0(pObj) )
+ Gia_ManCombMarkUsed_rec( p, Gia_ObjFanin1(pObj) )
+ (p->pNexts ? Gia_ManCombMarkUsed_rec( p, Gia_ObjNextObj(p, Gia_ObjId(p, pObj)) ) : 0)
+ (p->pSibls ? Gia_ManCombMarkUsed_rec( p, Gia_ObjSiblObj(p, Gia_ObjId(p, pObj)) ) : 0)
+ (p->pMuxes ? Gia_ManCombMarkUsed_rec( p, Gia_ObjFanin2(p, pObj) ) : 0);
}
-
-/**Function*************************************************************
-
- Synopsis [Marks unreachable internal nodes and returned their number.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
int Gia_ManCombMarkUsed( Gia_Man_t * p )
{
Gia_Obj_t * pObj;
int i, nNodes = 0;
Gia_ManForEachObj( p, pObj, i )
- pObj->fMark0 = Gia_ObjIsAnd(pObj);
+ pObj->fMark0 = Gia_ObjIsAnd(pObj) && !Gia_ObjIsBuf(pObj);
+ Gia_ManForEachBuf( p, pObj, i )
+ nNodes += Gia_ManCombMarkUsed_rec( p, Gia_ObjFanin0(pObj) );
Gia_ManForEachCo( p, pObj, i )
nNodes += Gia_ManCombMarkUsed_rec( p, Gia_ObjFanin0(pObj) );
return nNodes;