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]

[PATCH 0/3] Improvements to switch expansion code


Hi.

With my rapid simplification of balanced tree emission we regressed
on number of tests needed (PR 86847). Apart from that profile info
was missing (INV) for jump tables and bit tests. That's fixed in another
2 patches. I'm explaining details of the patches in corresponding emails.

Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.

marxin (3):
  Fix probabilities for jump table (PR tree-optimization/86702).
  Fix probability for bit-tests.
  Improve switch code emission for a balanced tree (PR
    tree-optimization/86847).

 gcc/testsuite/gcc.dg/tree-ssa/switch-2.c |  25 ++
 gcc/testsuite/gcc.dg/tree-ssa/switch-3.c |  20 ++
 gcc/testsuite/gcc.dg/tree-ssa/vrp105.c   |  37 ---
 gcc/tree-switch-conversion.c             | 329 +++++++++++++++++++----
 gcc/tree-switch-conversion.h             |  47 +++-
 5 files changed, 366 insertions(+), 92 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/switch-2.c
 create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/switch-3.c
 delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/vrp105.c

-- 
2.18.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]