summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaAbsGla2.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-08-27 13:49:53 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-08-27 13:49:53 -0700
commitc25f5dee05c24c146680c555176b827d0008a444 (patch)
treef8e5bd5913b96e61ba8d542bb9bededf549db110 /src/aig/gia/giaAbsGla2.c
parent1ba1e6574cb4421f8a7c5984aa199e4efa62c3bf (diff)
downloadabc-c25f5dee05c24c146680c555176b827d0008a444.tar.gz
abc-c25f5dee05c24c146680c555176b827d0008a444.tar.bz2
abc-c25f5dee05c24c146680c555176b827d0008a444.zip
Bug fix in &gla.
Diffstat (limited to 'src/aig/gia/giaAbsGla2.c')
-rw-r--r--src/aig/gia/giaAbsGla2.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/aig/gia/giaAbsGla2.c b/src/aig/gia/giaAbsGla2.c
index 2c628ea8..fe8c7e3d 100644
--- a/src/aig/gia/giaAbsGla2.c
+++ b/src/aig/gia/giaAbsGla2.c
@@ -1484,6 +1484,15 @@ int Ga2_ManPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
nVarsOld = p->nSatVars;
for ( c = 0; ; c++ )
{
+ // consider the special case when the target literal is implied false
+ // by implications which happened as a result of previous refinements
+ // note that incremental UNSAT core cannot be computed because there is no learned clauses
+ // in this case, we will assume that UNSAT core cannot reduce the problem
+ if ( var_is_assigned(p->pSat, Abc_Lit2Var(Lit)) )
+ {
+ Prf_ManStopP( &p->pSat->pPrf2 );
+ break;
+ }
// perform SAT solving
clk2 = clock();
Status = sat_solver2_solve( p->pSat, &Lit, &Lit+1, (ABC_INT64_T)pPars->nConfLimit, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );