diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2017-11-06 22:08:54 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2017-11-06 22:08:54 -0800 |
commit | 5fd6dc0fca7f15d87f1fbd6401c3caa2c993834a (patch) | |
tree | 73b0e3d71a2de7e7a598ca20b9f8740083513241 /src/aig/gia | |
parent | 716969190a4d6d944cfa24a085c9e7069d868dab (diff) | |
download | abc-5fd6dc0fca7f15d87f1fbd6401c3caa2c993834a.tar.gz abc-5fd6dc0fca7f15d87f1fbd6401c3caa2c993834a.tar.bz2 abc-5fd6dc0fca7f15d87f1fbd6401c3caa2c993834a.zip |
Profiling quantification and other changes.
Diffstat (limited to 'src/aig/gia')
-rw-r--r-- | src/aig/gia/gia.h | 5 | ||||
-rw-r--r-- | src/aig/gia/giaMan.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index 920ebb06..c8b64a16 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -148,6 +148,7 @@ struct Gia_Man_t_ Abc_Cex_t * pCexSeq; // sequential counter-example Vec_Ptr_t * vSeqModelVec; // sequential counter-examples Vec_Int_t vCopies; // intermediate copies + Vec_Int_t vCopies2; // intermediate copies Vec_Int_t * vTruths; // used for truth table computation Vec_Int_t * vFlopClasses; // classes of flops for retiming/merging/etc Vec_Int_t * vGateClasses; // classes of gates for abstraction @@ -532,6 +533,10 @@ static inline int Gia_ObjCopyArray( Gia_Man_t * p, int iObj ) static inline void Gia_ObjSetCopyArray( Gia_Man_t * p, int iObj, int iLit ) { Vec_IntWriteEntry(&p->vCopies, iObj, iLit); } static inline void Gia_ManCleanCopyArray( Gia_Man_t * p ) { Vec_IntFill( &p->vCopies, Gia_ManObjNum(p), -1 ); } +static inline int Gia_ObjCopy2Array( Gia_Man_t * p, int iObj ) { return Vec_IntEntry(&p->vCopies2, iObj); } +static inline void Gia_ObjSetCopy2Array( Gia_Man_t * p, int iObj, int iLit ) { Vec_IntWriteEntry(&p->vCopies2, iObj, iLit); } +static inline void Gia_ManCleanCopy2Array( Gia_Man_t * p ) { Vec_IntFill( &p->vCopies2, Gia_ManObjNum(p), -1 ); } + static inline int Gia_ObjFanin0CopyF( Gia_Man_t * p, int f, Gia_Obj_t * pObj ) { return Abc_LitNotCond(Gia_ObjCopyF(p, f, Gia_ObjFanin0(pObj)), Gia_ObjFaninC0(pObj)); } static inline int Gia_ObjFanin1CopyF( Gia_Man_t * p, int f, Gia_Obj_t * pObj ) { return Abc_LitNotCond(Gia_ObjCopyF(p, f, Gia_ObjFanin1(pObj)), Gia_ObjFaninC1(pObj)); } static inline int Gia_ObjFanin0CopyArray( Gia_Man_t * p, Gia_Obj_t * pObj ) { return Abc_LitNotCond(Gia_ObjCopyArray(p, Gia_ObjFaninId0p(p,pObj)), Gia_ObjFaninC0(pObj)); } diff --git a/src/aig/gia/giaMan.c b/src/aig/gia/giaMan.c index 6ff822c3..a8b03207 100644 --- a/src/aig/gia/giaMan.c +++ b/src/aig/gia/giaMan.c @@ -117,6 +117,7 @@ void Gia_ManStop( Gia_Man_t * p ) Vec_IntFreeP( &p->vLevels ); Vec_IntFreeP( &p->vTruths ); Vec_IntErase( &p->vCopies ); + Vec_IntErase( &p->vCopies2 ); Vec_IntFreeP( &p->vTtNums ); Vec_IntFreeP( &p->vTtNodes ); Vec_WrdFreeP( &p->vTtMemory ); |