Author: meiye
Date: 2011-05-23 20:18:06 -0400 (Mon, 23 May 2011)
New Revision: 3619

Modified:
   trunk/osprey/be/opt/opt_proactive.cxx
Log:
Fix successor list in Do_tail_duplication. CR: Sun Chan

Modified: trunk/osprey/be/opt/opt_proactive.cxx
===================================================================
--- trunk/osprey/be/opt/opt_proactive.cxx       2011-05-23 22:52:35 UTC (rev 
3618)
+++ trunk/osprey/be/opt/opt_proactive.cxx       2011-05-24 00:18:06 UTC (rev 
3619)
@@ -4946,6 +4946,8 @@
   MAP_LIST * map_lst;
   SC_NODE * sc_blk;
   WN * branch_wn;
+  BB_NODE *pred;
+  BB_LIST_ITER bb_iter;
 
   switch (type) {
   case SC_LOOP:
@@ -5102,7 +5104,11 @@
 
     if (cfg->Feedback())
       cfg->Feedback()->Delete_edge(old_exit->Id(), tmp2->Id());
-    
+
+    FOR_ALL_ELEM (pred, bb_iter, Init(tmp2->Pred())) {
+      pred->Set_succ(pred->Succ()->Remove(tmp2, pool));
+    }
+
     bb_list = tmp2->Pred();
     while (bb_list) {
       bb_list = bb_list->Remove(bb_list->Node(), pool);


------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to