Hi All,

Could a gatekeeper please review this patch?

It is about to find out constant branches. If the compare instruction
has an operator in memory, it is not possible to evaluate it at
compile time.

Best Regards,
Yiran

Index: osprey/be/cg/cflow.cxx
===================================================================
--- osprey/be/cg/cflow.cxx      (revision 1251)
+++ osprey/be/cg/cflow.cxx      (revision 1252)
@@ -2697,6 +2697,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",

------------------------------------------------------------------------------
Forrester Wave Report - Recovery time is now measured in hours and minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to