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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

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

commit r13-1794-gb2e99bb6900f33f46a0f4ca6ae94b8a39b0b9bb1
Author: Richard Biener <rguent...@suse.de>
Date:   Fri Jul 22 09:57:38 2022 +0200

    tree-optimization/106397 - array prefetch and LC SSA

    The following fixes maintaining LC SSA when array prefetch inserts
    mfence instructions on loop exits that do not use memory.  It also
    fixes the latent issue that it might split exit edges for this
    which will break LC SSA for non-virtuals as well.  It should also
    make the process cheaper by accumulating the required (LC) SSA
    update until the end of the pass.

            PR tree-optimization/106397
            * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
            not update SSA form here.
            (mark_nontemporal_stores): Return whether we marked any
            non-temporal stores and inserted mfence.
            (loop_prefetch_arrays): Note when we need to update SSA.
            (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
            at the end of the pass.

            * gcc.dg/pr106397.c: New testcase.

Reply via email to