Commit 2f3a9f91 by Alan Mishchenko

Bug fix when &vta returns empty absraction.

parent 5d5ff3b9
...@@ -854,6 +854,7 @@ int Gia_GlaPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars ) ...@@ -854,6 +854,7 @@ int Gia_GlaPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
pPars->fDumpVabs = nDumpOld; pPars->fDumpVabs = nDumpOld;
// create gate classes // create gate classes
Vec_IntFreeP( &pAig->vGateClasses ); Vec_IntFreeP( &pAig->vGateClasses );
if ( pAig->vObjClasses )
pAig->vGateClasses = Gia_VtaConvertToGla( pAig, pAig->vObjClasses ); pAig->vGateClasses = Gia_VtaConvertToGla( pAig, pAig->vObjClasses );
Vec_IntFreeP( &pAig->vObjClasses ); Vec_IntFreeP( &pAig->vObjClasses );
} }
......
...@@ -1630,6 +1630,10 @@ finish: ...@@ -1630,6 +1630,10 @@ finish:
// analize the results // analize the results
if ( pCex == NULL ) if ( pCex == NULL )
{ {
if ( Vec_PtrSize(p->vCores) == 0 )
Abc_Print( 1, "Abstraction is not produced because first frame is not solved. " );
else
{
assert( Vec_PtrSize(p->vCores) > 0 ); assert( Vec_PtrSize(p->vCores) > 0 );
if ( pAig->vObjClasses != NULL ) if ( pAig->vObjClasses != NULL )
Abc_Print( 1, "Replacing the old abstraction by a new one.\n" ); Abc_Print( 1, "Replacing the old abstraction by a new one.\n" );
...@@ -1649,6 +1653,7 @@ finish: ...@@ -1649,6 +1653,7 @@ finish:
else else
Abc_Print( 1, "SAT solver completed %d frames and produced an abstraction. ", f ); Abc_Print( 1, "SAT solver completed %d frames and produced an abstraction. ", f );
} }
}
else else
{ {
ABC_FREE( p->pGia->pCexSeq ); ABC_FREE( p->pGia->pCexSeq );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment