Author: laijx
Date: 2010-12-20 14:43:33 -0500 (Mon, 20 Dec 2010)
New Revision: 3441

Modified:
   trunk/osprey/be/opt/opt_dce.cxx
Log:
Fix bug #659. The BB9 is unreachable in the first pass of DCE and
connected to fake entry. In the second pass of DCE, BB9 is deleted but
the DOM is not updated. Thia patch set the change_cflow to recompute the
DOM.

Code review by Sun.


Modified: trunk/osprey/be/opt/opt_dce.cxx
===================================================================
--- trunk/osprey/be/opt/opt_dce.cxx     2010-12-20 19:32:42 UTC (rev 3440)
+++ trunk/osprey/be/opt/opt_dce.cxx     2010-12-20 19:43:33 UTC (rev 3441)
@@ -1826,6 +1826,10 @@
          nextsucc = succ_ref->Next();
          changed_cflow |= Update_predecessor_lists( succ_ref->Node() );
        }
+        if (bb->Pred() == NULL) {
+          // bb from fake entry is removed, cfg is changed
+          changed_cflow = TRUE;
+        }
            
        _cfg->Remove_bb(bb);
 #ifdef Is_True_On


------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to