On 5/16/24 6:03 AM, Richard Biener wrote:
Now that we handle pt.null conservatively we can implement the missing
tracking of constant pool entries (aka STRING_CST) and handle
ptr-ptr compares using points-to info in ptrs_compare_unequal.

Bootstrapped on x86_64-unknown-linux-gnu, (re-)testing in progress.

Richard.

        PR tree-optimization/13962
        PR tree-optimization/96564
        * tree-ssa-alias.h (pt_solution::const_pool): New flag.
        * tree-ssa-alias.cc (ptrs_compare_unequal): Handle pointer-pointer
        compares.
        (dump_points_to_solution): Dump the const_pool flag, fix guard
        of flag dumping.
        * gimple-pretty-print.cc (pp_points_to_solution): Likewise.
        * tree-ssa-structalias.cc (find_what_var_points_to): Set
        the const_pool flag for STRING.
        (pt_solution_ior_into): Handle the const_pool flag.
        (ipa_escaped_pt): Initialize it.

        * gcc.dg/tree-ssa/alias-39.c: New testcase.
        * g++.dg/vect/pr68145.cc: Use -fno-tree-pta to avoid UB
        to manifest in transforms no longer vectorizing this testcase
        for an ICE.
You might want to test this against 92539 as well. There's a nonzero chance it'll resolve that one.

jeff

Reply via email to