That's an alternative for
https://gcc.gnu.org/pipermail/gcc-patches/2024-April/648856.html, based on
the feedback.

Konstantinos.

On Fri, Dec 5, 2025 at 6:53 PM Konstantinos Eleftheriou <
[email protected]> wrote:

>
> This patch series updates the tail-merging pass so that sequential
> comparisons
> leading to equal blocks can be merged, allowing the generation of a ccmp
> instruction on targets that support it.
>
> We needed to use ifcombine's `same_phi_args_p` and `recognize_if_then_else`
> functions. So, a new header file 'tree-ssa-ifcombine.h', with the
> functions'
> prototypes, has been added and 'static' has been removed from the function
> signatures in 'ifcombine'.
>
> Bootstrapped/regtested on AArch64 and x86_64.
>
>
> Konstantinos Eleftheriou (2):
>   ifcombine: Add tree-ssa-ifcombine.h and update function signatures
>   tail-merge: Combine sequential comparisons leading to the merged block
>
>  gcc/testsuite/gcc.dg/guality/pr54693-2.c   |   2 +-
>  gcc/testsuite/gcc.dg/tree-ssa/pr102793-1.c |  50 ++++
>  gcc/testsuite/gcc.dg/tree-ssa/pr102793-2.c |  51 ++++
>  gcc/tree-ssa-ifcombine.cc                  |   7 +-
>  gcc/tree-ssa-ifcombine.h                   |  28 +++
>  gcc/tree-ssa-tail-merge.cc                 | 258 +++++++++++++++++++++
>  6 files changed, 392 insertions(+), 4 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr102793-1.c
>  create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr102793-2.c
>  create mode 100644 gcc/tree-ssa-ifcombine.h
>
> --
> 2.51.1
>
>

Reply via email to