Author: yiran
Date: 2011-04-20 04:20:21 -0400 (Wed, 20 Apr 2011)
New Revision: 3565

Modified:
   trunk/osprey/be/cg/cflow.cxx
Log:
If the compare instruction has an operator in memory, it is not possible to 
evaluate it at compile time.



Modified: trunk/osprey/be/cg/cflow.cxx
===================================================================
--- trunk/osprey/be/cg/cflow.cxx        2011-04-20 08:18:24 UTC (rev 3564)
+++ trunk/osprey/be/cg/cflow.cxx        2011-04-20 08:20:21 UTC (rev 3565)
@@ -2686,6 +2686,14 @@
   tn1 = BBINFO_condval1(bp); 
   tn2 = BBINFO_condval2(bp); 
   compare_op = BBINFO_compare_op(bp);
+
+#ifdef TARG_X8664
+  /* load execute TOP access memory, so is not possible to be evaluated 
+   * at compile time. */
+  if (TOP_is_load_exe(OP_code(compare_op)))
+    return FALSE;
+#endif
+
 #ifdef TARG_LOONGSON
   /* for loongson, there are some branch instructions with only one operand, 
such as:
        "mipsbgez",


------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to