public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "hubicka at kam dot mff.cuni.cz" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/103227] [12 Regression] 58% exchange2 regression with -Ofast -march=native on zen3 since r12-5223-gecdf414bd89e6ba251f6b3f494407139b4dbae0e Date: Sat, 20 Nov 2021 12:32:35 +0000 [thread overview] Message-ID: <bug-103227-4-k73JEv40Wt@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-103227-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103227 --- Comment #8 from hubicka at kam dot mff.cuni.cz --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103227 > > --- Comment #7 from Martin Jambor <jamborm at gcc dot gnu.org> --- > (In reply to hubicka from comment #5) > > > I like the idea of transformation phases better than putting > > > everything into tree-inline (and by extension ipa-param-manipulation) > > > but perhaps we have to do aggregate constant replacements there too? > > > > So the situation is that we inline call A->B (where both A and B are > > clones of the main function) and while we place uses of the constant > > parmater in A we miss replacement in B because transform is not run on > > it. > > No, we miss it everywhere, even in A (see that the code above is from > BB 2) or probably also without any cloning whatsoever. This happens > when IPA-SRA does its thing on the same parameter on which IPA-CP > decided to propagate aggregate constants. > > In the IPA analysis stage (which creates the virtual clones), IPA-CP > runs before IPA-SRA. But in the transformation phase, it is > apparently the other way round - well, not exactly, IPA-SRA does not > formally have a transformation phase, it happens as part of > tree_function_versioning, but the effect is the same. OK, so the problem is that we don't do ipa-sra changes "in place" as a well behaved transform pass but it i merged into versioning code while ipa-cp is the other way around. So one fix would be alo to make ipa-cp understand that changes to signature happened and update its summary just like we do for modref? We will need it also for ... > > > > > I think proper solution here (discussed also few years ago) is to keep > > the optimization summaries and teach value numbering to look up the > > constant from the summary. > > > > Yes, but this is another (but different) problem that we probably also > should try to solve now. ... fixing this problem properly. I just loked into thi again and we already have code that preserves propagates bits on pointer parmeters (since these do not have value ranges). Same way we need to preserve the known partial aggregates and hook it up into sccvn's vn_reference_lookup_2 and _3. Honza
next prev parent reply other threads:[~2021-11-20 12:32 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-13 21:05 [Bug tree-optimization/103227] New: 58% exchange2 regression with -Ofast -march=native on zen3 between g:1ae8edf5f73ca5c3 and g:2af63f0f53a12a72 hubicka at gcc dot gnu.org 2021-11-13 22:00 ` [Bug ipa/103227] " hubicka at gcc dot gnu.org 2021-11-13 22:11 ` hubicka at gcc dot gnu.org 2021-11-13 22:15 ` hubicka at gcc dot gnu.org 2021-11-15 9:04 ` [Bug ipa/103227] [12 Regression] 58% exchange2 regression with -Ofast -march=native on zen3 since r12-5223-gecdf414bd89e6ba251f6b3f494407139b4dbae0e rguenth at gcc dot gnu.org 2021-11-19 18:18 ` jamborm at gcc dot gnu.org 2021-11-19 21:12 ` hubicka at kam dot mff.cuni.cz 2021-11-19 21:22 ` hubicka at gcc dot gnu.org 2021-11-19 23:21 ` jamborm at gcc dot gnu.org 2021-11-20 12:32 ` hubicka at kam dot mff.cuni.cz [this message] 2021-11-20 12:39 ` hubicka at kam dot mff.cuni.cz 2021-11-21 15:16 ` cvs-commit at gcc dot gnu.org 2021-11-23 17:02 ` jamborm at gcc dot gnu.org 2021-11-24 12:52 ` jamborm at gcc dot gnu.org 2021-11-25 17:17 ` cvs-commit at gcc dot gnu.org 2021-11-26 9:19 ` hubicka at gcc dot gnu.org 2021-11-28 18:56 ` hubicka at gcc dot gnu.org 2022-12-14 0:04 ` cvs-commit at gcc dot gnu.org 2023-08-15 15:45 ` jamborm at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-103227-4-k73JEv40Wt@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).