aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.cc
diff options
context:
space:
mode:
authorDimitar Dimitrov <dimitar@dinux.eu>2025-12-05 21:57:58 -0700
committerJeff Law <jlaw@ventanamicro.com>2025-12-05 21:57:58 -0700
commit528df313f6d941cde12c12bdeb20d6d24e05ba4b (patch)
treecb061b7b919b236500f218ea09f9f37234d08df0 /gcc/fortran/expr.cc
parent83aab2f73661ac8aa1643d58d2fbfed87d5c1601 (diff)
downloadgcc-528df313f6d941cde12c12bdeb20d6d24e05ba4b.zip
gcc-528df313f6d941cde12c12bdeb20d6d24e05ba4b.tar.gz
gcc-528df313f6d941cde12c12bdeb20d6d24e05ba4b.tar.bz2
[PATCH v3] rtl-optimization: Fix BB edge ordering [PR122675]
Starting with r16-4438-ga93f80feeef744, the edge sorting order was switched to lowest execution frequency first. But the "bbro" optimization pass chooses the first edge as a fallthrough. Thus the most unlikely branches were optimized to fallthroughs. Fix by restoring the sorting order prior to r16-4438-ga93f80feeef744. Now the branches most likely to be executed are picked as fallthroughs. There are no regressions for C and C++ on x86_64-pc-linux-gnu. The new tests fail for the respective targets without this patch, and pass with it. PR rtl-optimization/122675 gcc/ChangeLog: * bb-reorder.cc (edge_order): Fix BB edge ordering to be descending. gcc/testsuite/ChangeLog: * gcc.target/aarch64/pr122675-1.c: New test. * gcc.target/i386/pr122675-1.c: New test. * gcc.target/riscv/pr122675-1.c: New test. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
Diffstat (limited to 'gcc/fortran/expr.cc')
0 files changed, 0 insertions, 0 deletions