From 85f6d2526e82f9b7c13dd3af348c3ef5c3909358 Mon Sep 17 00:00:00 2001
From: Alan Mishchenko <alanmi@berkeley.edu>
Date: Thu, 12 Apr 2012 20:19:47 -0700
Subject: Bug fix in SOP balancing with structural choices.

---
 src/map/if/ifMap.c | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'src/map/if/ifMap.c')

diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index e2c2ff0a..570fb4ae 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -339,6 +339,8 @@ void If_ObjPerformMappingChoice( If_Man_t * p, If_Obj_t * pObj, int Mode, int fP
             // set the phase attribute
             assert( pCut->fCompl == 0 );
             pCut->fCompl ^= (pObj->fPhase ^ pTemp->fPhase); // why ^= ?
+            if ( p->pPars->fDelayOpt && pCut->fCompl )
+                continue;
             // compute area of the cut (this area may depend on the application specific cost)
             pCut->Area = (Mode == 2)? If_CutAreaDerefed( p, pCut ) : If_CutAreaFlow( p, pCut );
             if ( p->pPars->fEdge )
-- 
cgit v1.2.3