This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, This is an updated version of https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02196.html. Patch to fix PR66726 missed optimization, factor conversion out of COND_EXPR caused a regression for targets with branch cost greater than i.e., testcase gcc.dg/pr46309.c failed for these targets. I posted a patch for this which had some issues. Please find an updated version of this patch that now passes regression. This patch makes optimize_range_tests understand the factored out COND_EXPR. i.e., Updated the final_range_test_p to look for the new pattern. Changed the maybe_optimize_range_tests (which does the inter basic block range test optimization) accordingly. Bootstrapped and regression tested on x86_64-none-linux-gnu with no new regressions. And also regression tested on arm-none-linux-gnu and aarch64-none-linux-gnu with no new regressions. Is this Ok for trunk? Thanks, Kugan gcc/ChangeLog: 2016-01-19 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/66726 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt whose result is used in PHI. (maybe_optimize_range_tests): Likewise. (final_range_test_p): Lokweise.
Attachment:
p.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |