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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Jambor <jamb...@gcc.gnu.org>:

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

commit r14-3226-gd073e2d75d9ed492de9a8dc6970e5b69fae20e5a
Author: Martin Jambor <mjam...@suse.cz>
Date:   Tue Aug 15 17:26:13 2023 +0200

    Feed results of IPA-CP into tree value numbering

    PRs 68930 and 92497 show that when IPA-CP figures out constants in
    aggregate parameters or when passed by reference but the loads happen
    in an inlined function the information is lost.  This happens even
    when the inlined function itself was known to have - or even cloned to
    have - such constants in incoming parameters because the transform
    phase of IPA passes is not run on them.  See discussion in the bugs
    for reasons why.

    Honza suggested that we can plug the results of IPA-CP analysis into
    value numbering, so that FRE can figure out that some loads fetch
    known constants.  This is what this patch attempts to do.  The patch
    does not attempt to populate partial_defs with information from
    IPA-CP, this can be hopefully added as a follow-up.

    gcc/ChangeLog:

    2023-08-11  Martin Jambor  <mjam...@suse.cz>

            PR ipa/68930
            PR ipa/92497
            * ipa-prop.h (ipcp_get_aggregate_const): Declare.
            * ipa-prop.cc (ipcp_get_aggregate_const): New function.
            (ipcp_transform_function): Do not deallocate transformation info.
            * tree-ssa-sccvn.cc: Include alloc-pool.h, symbol-summary.h and
            ipa-prop.h.
            (vn_reference_lookup_2): When hitting default-def vuse, query
            IPA-CP transformation info for any known constants.

    gcc/testsuite/ChangeLog:

    2023-06-07  Martin Jambor  <mjam...@suse.cz>

            PR ipa/68930
            PR ipa/92497
            * gcc.dg/ipa/pr92497-1.c: New test.
            * gcc.dg/ipa/pr92497-2.c: Likewise.
  • [Bug ipa/68930] Aggregate repla... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to