public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/92706] SRA confuses FRE
[not found] <bug-92706-4@http.gcc.gnu.org/bugzilla/>
@ 2022-10-19 12:59 ` cvs-commit at gcc dot gnu.org
2022-11-16 12:13 ` cvs-commit at gcc dot gnu.org
1 sibling, 0 replies; 2+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-10-19 12:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92706
--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Jambor <jamborm@gcc.gnu.org>:
https://gcc.gnu.org/g:f6c168f8c06047bfaa3005e570126831b8855dcc
commit r13-3378-gf6c168f8c06047bfaa3005e570126831b8855dcc
Author: Martin Jambor <mjambor@suse.cz>
Date: Wed Oct 19 14:43:04 2022 +0200
SRA: Limit replacement creation for accesses propagated from LHSs
PR 107206 is fallout from the fix to PR 92706 where we started
propagating accesses across assignments also from LHS to RHS of
assignments so that we would not do harmful total scalarization of the
aggregates on the RHS.
But this can lead to new scalarization of these aggregates and in the
testcase of PR 107206 these can appear in superfluous uses of
un-initialized values and spurious warnings.
Fixed by making sure the the accesses created by propagation in this
direction are only used as a basis for replacements when the structure
would be totally scalarized anyway.
gcc/ChangeLog:
2022-10-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/107206
* tree-sra.cc (struct access): New field
grp_result_of_prop_from_lhs.
(analyze_access_subtree): Do not create replacements for accesses
with
this flag when not toally scalarizing.
(propagate_subaccesses_from_lhs): Set the new flag.
gcc/testsuite/ChangeLog:
2022-10-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/107206
* g++.dg/tree-ssa/pr107206.C: New test.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug tree-optimization/92706] SRA confuses FRE
[not found] <bug-92706-4@http.gcc.gnu.org/bugzilla/>
2022-10-19 12:59 ` [Bug tree-optimization/92706] SRA confuses FRE cvs-commit at gcc dot gnu.org
@ 2022-11-16 12:13 ` cvs-commit at gcc dot gnu.org
1 sibling, 0 replies; 2+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-11-16 12:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92706
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Martin Jambor
<jamborm@gcc.gnu.org>:
https://gcc.gnu.org/g:985a8962712a56d1c9418cf05e1761f8bd20cf8f
commit r12-8913-g985a8962712a56d1c9418cf05e1761f8bd20cf8f
Author: Martin Jambor <mjambor@suse.cz>
Date: Wed Nov 16 13:11:27 2022 +0100
SRA: Limit replacement creation for accesses propagated from LHSs
PR 107206 is fallout from the fix to PR 92706 where we started
propagating accesses across assignments also from LHS to RHS of
assignments so that we would not do harmful total scalarization of the
aggregates on the RHS.
But this can lead to new scalarization of these aggregates and in the
testcase of PR 107206 these can appear in superfluous uses of
un-initialized values and spurious warnings.
Fixed by making sure the the accesses created by propagation in this
direction are only used as a basis for replacements when the structure
would be totally scalarized anyway.
gcc/ChangeLog:
2022-10-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/107206
* tree-sra.cc (struct access): New field
grp_result_of_prop_from_lhs.
(analyze_access_subtree): Do not create replacements for accesses
with
this flag when not toally scalarizing.
(propagate_subaccesses_from_lhs): Set the new flag.
gcc/testsuite/ChangeLog:
2022-10-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/107206
* g++.dg/tree-ssa/pr107206.C: New test.
(cherry picked from commit f6c168f8c06047bfaa3005e570126831b8855dcc)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-11-16 12:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-92706-4@http.gcc.gnu.org/bugzilla/>
2022-10-19 12:59 ` [Bug tree-optimization/92706] SRA confuses FRE cvs-commit at gcc dot gnu.org
2022-11-16 12:13 ` cvs-commit at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).