[Bug debug/105627] -fcompare-debug failure at -Og for powerpc64le-unknown-linux-gnu

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 24 06:08:58 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105627

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kewen Lin <linkw@gcc.gnu.org>:

https://gcc.gnu.org/g:149d04ccbb908b3a251485b43faf204752942b9f

commit r13-720-g149d04ccbb908b3a251485b43faf204752942b9f
Author: Kewen Lin <linkw@linux.ibm.com>
Date:   Tue May 24 01:00:22 2022 -0500

    rs6000: Skip debug insns for union [PR105627]

    As PR105627 exposes, pass analyze_swaps should skip debug
    insn when doing unionfind_union.  One debug insn can use
    several pseudos, if we take debug insn into account, we can
    union those insns defining them and generate some unexpected
    unions.

    Based on the assumption that it's impossible to have one
    pseudo which is defined by one debug insn but is used by one
    nondebug insn, we just asserts debug insn never shows up in
    function union_defs.

            PR target/105627

    gcc/ChangeLog:

            * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn
can't
            be a debug insn.
            (union_uses): Skip debug use_insn.

    gcc/testsuite/ChangeLog:

            * gcc.target/powerpc/pr105627.c: New test.


More information about the Gcc-bugs mailing list