public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c/101474] New: -fipa-icf generates worse code for identical function @ 2021-07-16 16:33 vegard.nossum at oracle dot com 2021-07-16 16:42 ` [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) pinskia at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: vegard.nossum at oracle dot com @ 2021-07-16 16:33 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101474 Bug ID: 101474 Summary: -fipa-icf generates worse code for identical function Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: vegard.nossum at oracle dot com Target Milestone: --- Created attachment 51166 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51166&action=edit Test case I've come across a weird behaviour when using -fipa-icf, could maybe be related to bug 80277. Build with -O1 -fipa-icf and the second version of the identical function actually has worse codegen than if you have just one of them there or than if you hadn't passed -fipa-icf at all. See example: https://godbolt.org/z/n8zz947aK ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) 2021-07-16 16:33 [Bug c/101474] New: -fipa-icf generates worse code for identical function vegard.nossum at oracle dot com @ 2021-07-16 16:42 ` pinskia at gcc dot gnu.org 2021-07-19 6:21 ` rguenth at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-07-16 16:42 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101474 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|-fipa-icf generates worse |SRA sometimes produces |code for identical function |worse code with inline | |functions (seen with | |-fipa-icf sometimes) Ever confirmed|0 |1 Last reconfirmed| |2021-07-16 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This worse code generation has nothing to do with -fipa-icf really as shown by: struct t { char x; int y; }; void fn1(struct t *p, struct t v) { *p = v; } void fn3(struct t *p, struct t v) { fn1(p, v); } ------ CUT ---- What is happening is SRA decides it is best to do a full scalar replacement for the v that is inlined into fn3 (from fn1). ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) 2021-07-16 16:33 [Bug c/101474] New: -fipa-icf generates worse code for identical function vegard.nossum at oracle dot com 2021-07-16 16:42 ` [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) pinskia at gcc dot gnu.org @ 2021-07-19 6:21 ` rguenth at gcc dot gnu.org 2021-11-22 6:42 ` pinskia at gcc dot gnu.org 2021-11-22 7:03 ` pinskia at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-07-19 6:21 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101474 Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jamborm at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Yes, when SRA decomposes a copy it leaves out padding which means we later fail to apply store-merging and thus end up generating worse code for a simple aggregate copy. SRA assumes the total scalarization transform allow followup optimizations, if this doesn't happen it's hardly a profitable transform. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) 2021-07-16 16:33 [Bug c/101474] New: -fipa-icf generates worse code for identical function vegard.nossum at oracle dot com 2021-07-16 16:42 ` [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) pinskia at gcc dot gnu.org 2021-07-19 6:21 ` rguenth at gcc dot gnu.org @ 2021-11-22 6:42 ` pinskia at gcc dot gnu.org 2021-11-22 7:03 ` pinskia at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-11-22 6:42 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101474 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is a dup of bug 96252. *** This bug has been marked as a duplicate of bug 96252 *** ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) 2021-07-16 16:33 [Bug c/101474] New: -fipa-icf generates worse code for identical function vegard.nossum at oracle dot com ` (2 preceding siblings ...) 2021-11-22 6:42 ` pinskia at gcc dot gnu.org @ 2021-11-22 7:03 ` pinskia at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-11-22 7:03 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101474 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note ICF behavior and inlining is what PR 96252 is about. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-11-22 7:03 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-07-16 16:33 [Bug c/101474] New: -fipa-icf generates worse code for identical function vegard.nossum at oracle dot com 2021-07-16 16:42 ` [Bug tree-optimization/101474] SRA sometimes produces worse code with inline functions (seen with -fipa-icf sometimes) pinskia at gcc dot gnu.org 2021-07-19 6:21 ` rguenth at gcc dot gnu.org 2021-11-22 6:42 ` pinskia at gcc dot gnu.org 2021-11-22 7:03 ` pinskia 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).