Author: meiye
Date: 2011-05-23 20:22:24 -0400 (Mon, 23 May 2011)
New Revision: 3621

Modified:
   trunk/osprey/be/lno/outer.cxx
Log:
avoid using a deleted DO_LOOP WHIRL. CR: Sun Chan

Modified: trunk/osprey/be/lno/outer.cxx
===================================================================
--- trunk/osprey/be/lno/outer.cxx       2011-05-24 00:21:36 UTC (rev 3620)
+++ trunk/osprey/be/lno/outer.cxx       2011-05-24 00:22:24 UTC (rev 3621)
@@ -947,8 +947,13 @@
                  if (Move_Adjacent(WN_prev(wn_dep), last_use, TRUE)) {
                    // Fuse loops starting from wn_dep, and flag No_Fusion bit.
                    Outer_Loop_Fusion_Walk(wn_dep, ffi, wn2ffi); 
-                   DO_LOOP_INFO * dli_dep = Get_Do_Loop_Info(wn_dep);
-                   dli_dep->No_Fusion = TRUE;
+                   if (WN_operator(wn_dep) == OPR_DO_LOOP) {
+                     DO_LOOP_INFO * dli_dep = Get_Do_Loop_Info(wn_dep);
+                     dli_dep->No_Fusion = TRUE;
+                   }
+                   else {
+                     DevWarn("Loop may be deleted");
+                   }
                  }
                }
              }


------------------------------------------------------------------------------
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