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
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel