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

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alex Coplan <acop...@gcc.gnu.org>:

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

commit r14-8358-ge0374b028a665a2ea8d6eb2b4e5862774e9e85c2
Author: Alex Coplan <alex.cop...@arm.com>
Date:   Thu Jan 11 16:17:37 2024 +0000

    rtl-ssa: Run finalize_new_accesses forwards [PR113070]

    The next patch in this series exposes an interface for creating new uses
    in RTL-SSA.  The intent is that new user-created uses can consume new
    user-created defs in the same change group.  This is so that we can
    correctly update uses of memory when inserting a new store pair insn in
    the aarch64 load/store pair fusion pass (the affected uses need to
    consume the new store pair insn).

    As it stands, finalize_new_accesses is called as part of the backwards
    insn placement loop within change_insns, but if we want new uses to be
    able to depend on new defs in the same change group, we need
    finalize_new_accesses to be called on earlier insns first.  This is so
    that when we process temporary uses and turn them into permanent uses,
    we can follow the last_def link on the temporary def to ensure we end up
    with a permanent use consuming a permanent def.

    gcc/ChangeLog:

            PR target/113070
            * rtl-ssa/changes.cc (function_info::change_insns): Split out the
call
            to finalize_new_accesses from the backwards placement loop, run it
            forwards in a separate loop.

Reply via email to