[Bug ipa/103246] [12 Regression] 416.gamess miscompare with -O2 -g -flto=auto since r12-5223-gecdf414bd89e6ba251f6b3f494407139b4dbae0e

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 18 19:10:18 GMT 2021


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

--- Comment #25 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jan Hubicka
<hubicka@gcc.gnu.org>:

https://gcc.gnu.org/g:9d3f1435a348bece9e11787df982bd465db74ed8

commit r11-9248-g9d3f1435a348bece9e11787df982bd465db74ed8
Author: Jan Hubicka <jh@suse.cz>
Date:   Wed Nov 17 22:04:26 2021 +0100

    Fix modref summary streaming

    Fixes bug in streaming in modref access tree that now cause a failure
    of gamess benchmark.  The bug is quite old (present in GCC11 release) but
it
    needs quite interesting series of events to manifest. In particular
     1) At lto time ISRA turns some parameters passed by reference to scalar
     2) At lto time modref computes summaries for old parameters and then
updates
        them but does so quite stupidly believing that the load from parameters
        are now unkonwn loads (rather than optimized out).
        This renders summary not very useful since it thinks every memory
aliasing
        int is now accssed (as opposed as parameter dereference)
     3) At stream in we notice too early that summary is useless, set
every_access
        flag and drop the list.  However while reading rest of the summary we
        overwrite the flag back to 0 which makes us to lose part of summary.
     4) right selection of partitions needs to be done to avoid late modref
from
        recalculating and thus fixing the summary.

    This patch fixes the stream in bug, however we also should fix updating of
    summaries.

    gcc/ChangeLog:

    2021-11-17  Jan Hubicka  <hubicka@ucw.cz>

            PR ipa/103246
            * ipa-modref.c (read_modref_records): Fix streaminig in of
every_access
            flag.

    (cherry picked from commit 425369bf3068a9f840d1c2f04a4d4c38e924d4dc)


More information about the Gcc-bugs mailing list