summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2017-01-09 11:16:28 +0700
committerAlan Mishchenko <alanmi@berkeley.edu>2017-01-09 11:16:28 +0700
commit902377a45d9fe9ab7939f31d848b48f40a612480 (patch)
tree6a9e9b1d8a3b4968e802d8476e9a872d62f92ef7 /src
parent9514c327e3d8703775d138fe029b247adbf06099 (diff)
downloadabc-902377a45d9fe9ab7939f31d848b48f40a612480.tar.gz
abc-902377a45d9fe9ab7939f31d848b48f40a612480.tar.bz2
abc-902377a45d9fe9ab7939f31d848b48f40a612480.zip
Delay-oriented performance improvement in &dch.
Diffstat (limited to 'src')
-rw-r--r--src/aig/gia/giaAig.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/aig/gia/giaAig.c b/src/aig/gia/giaAig.c
index 3cf01c70..cbfe86a4 100644
--- a/src/aig/gia/giaAig.c
+++ b/src/aig/gia/giaAig.c
@@ -22,6 +22,7 @@
#include "proof/fra/fra.h"
#include "proof/dch/dch.h"
#include "opt/dar/dar.h"
+#include "opt/dau/dau.h"
ABC_NAMESPACE_IMPL_START
@@ -576,11 +577,16 @@ Gia_Man_t * Gia_ManCompress2( Gia_Man_t * p, int fUpdateLevel, int fVerbose )
***********************************************************************/
Gia_Man_t * Gia_ManPerformDch( Gia_Man_t * p, void * pPars )
{
- Gia_Man_t * pGia;
+ Gia_Man_t * pGia, * pGia1;
Aig_Man_t * pNew;
if ( p->pManTime && p->vLevels == NULL )
Gia_ManLevelWithBoxes( p );
- pNew = Gia_ManToAig( p, 0 );
+ if ( Gia_ManHasMapping(p) )
+ pGia1 = (Gia_Man_t *)Dsm_ManDeriveGia( p, 0 );
+ else
+ pGia1 = Gia_ManDup( p );
+ pNew = Gia_ManToAig( pGia1, 0 );
+ Gia_ManStop( pGia1 );
pNew = Dar_ManChoiceNew( pNew, (Dch_Pars_t *)pPars );
// pGia = Gia_ManFromAig( pNew );
pGia = Gia_ManFromAigChoices( pNew );