This is v2 of the predicate improvements. This is only the changed patches; rather than all of them. The main change is to use vn_valueize. But there was another change dealing with canonicalization of the comparison with constants always being on the rhs; that is why I am resending them even though they were approved with the change to use vn_valueize.
Andrew Pinski (2): VN: Handle `(a | b) !=/== 0` for predicates [PR117414] VN: Handle `(A CMP B) !=/== 0` for predicates [PR117414] .../gcc.dg/tree-ssa/fre-predicated-1.c | 53 +++++++++++++++++++ .../gcc.dg/tree-ssa/fre-predicated-2.c | 27 ++++++++++ .../gcc.dg/tree-ssa/fre-predicated-3.c | 46 ++++++++++++++++ gcc/tree-ssa-sccvn.cc | 50 +++++++++++++++++ 4 files changed, 176 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/fre-predicated-1.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/fre-predicated-2.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/fre-predicated-3.c -- 2.43.0