Author: meiye
Date: 2011-08-09 18:07:25 -0400 (Tue, 09 Aug 2011)
New Revision: 3714

Modified:
   trunk/osprey/be/com/cxx_template.h
   trunk/osprey/be/opt/opt_proactive.cxx
Log:
Bug fixes. Avoid illegal code motion coupled with if-merging.  Correct a wrong 
usage of loop index.  CR: Sun Chan.

Modified: trunk/osprey/be/com/cxx_template.h
===================================================================
--- trunk/osprey/be/com/cxx_template.h  2011-08-09 08:35:42 UTC (rev 3713)
+++ trunk/osprey/be/com/cxx_template.h  2011-08-09 22:07:25 UTC (rev 3714)
@@ -227,7 +227,7 @@
   {
     if (idx < _lastidx) {
        for (int iter = idx; iter < _lastidx; iter++) {
-          _array[idx] = _array[idx+1];
+          _array[iter] = _array[iter+1];
        }
        Decidx();
     }

Modified: trunk/osprey/be/opt/opt_proactive.cxx
===================================================================
--- trunk/osprey/be/opt/opt_proactive.cxx       2011-08-09 08:35:42 UTC (rev 
3713)
+++ trunk/osprey/be/opt/opt_proactive.cxx       2011-08-09 22:07:25 UTC (rev 
3714)
@@ -3357,6 +3357,9 @@
       return FALSE;
     else if (_action == DO_IFFLIP)
       return FALSE;
+    // Make sure sc1 and sc2 are control equivalent if they are not adjacent 
to each other.
+    else if ((count > 0) && !sc1->Is_ctrl_equiv(sc2))
+      return FALSE;
     else
       return TRUE;
   }


------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to