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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

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

commit r11-6922-gefc9ccbfd0ca4da6bf0aba913df6f77f56044dc2
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed Jan 27 10:08:46 2021 +0100

    varpool: Restore GENERIC TREE_READONLY automatic var optimization [PR7260]

    In 4.8 and earlier we used to fold the following to 0 during GENERIC
folding,
    but we don't do that anymore because ctor_for_folding etc. has been turned
into a
    GIMPLE centric API, but as the testcase shows, it is invoked even during
    GENERIC folding and there the automatic vars still should have meaningful
    initializers.  I've verified that the C++ FE drops TREE_READONLY on
    automatic vars with const qualified types if they require non-constant
    (runtime) initialization.

    2021-01-27  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/97260
            * varpool.c: Include tree-pass.h.
            (ctor_for_folding): In GENERIC return DECL_INITIAL for
TREE_READONLY
            non-TREE_SIDE_EFFECTS automatic variables.

            * gcc.dg/tree-ssa/pr97260.c: New test.

Reply via email to