[Bug tree-optimization/98953] Failure to optimize two reads from adjacent addresses into one

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 22 18:17:31 GMT 2021


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

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

https://gcc.gnu.org/g:a944b5dec3adb28ed199234d2116145ca9010d6a

commit r12-5453-ga944b5dec3adb28ed199234d2116145ca9010d6a
Author: Roger Sayle <roger@nextmovesoftware.com>
Date:   Mon Nov 22 18:15:36 2021 +0000

    tree-optimization/103345: Improved load merging.

    This patch implements PR tree-optimization/103345 to merge adjacent
    loads when combined with addition or bitwise xor.  The current code
    in gimple-ssa-store-merging.c's find_bswap_or_nop alreay handles ior,
    so that all that's required is to treat PLUS_EXPR and BIT_XOR_EXPR in
    the same way at BIT_IOR_EXPR.  Many thanks to Andrew Pinski for
    pointing out that this also resolves PR target/98953.

    2021-11-22  Roger Sayle  <roger@nextmovesoftware.com>

    gcc/ChangeLog
            PR tree-optimization/98953
            PR tree-optimization/103345
            * gimple-ssa-store-merging.c (find_bswap_or_nop_1): Handle
            BIT_XOR_EXPR and PLUS_EXPR the same as BIT_IOR_EXPR.
            (pass_optimize_bswap::execute): Likewise.

    gcc/testsuite/ChangeLog
            PR tree-optimization/98953
            PR tree-optimization/103345
            * gcc.dg/tree-ssa/pr98953.c: New test case.
            * gcc.dg/tree-ssa/pr103345.c: New test case.


More information about the Gcc-bugs mailing list