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