public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/49749] Reassociation rank algorithm does not include all non-NULL operands Date: Tue, 28 Sep 2021 12:11:42 +0000 [thread overview] Message-ID: <bug-49749-4-A46gEWInom@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-49749-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49749 --- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Ilya Leoshkevich <iii@gcc.gnu.org>: https://gcc.gnu.org/g:dbed1c8693c6b5cb02c903cea91db574200bd513 commit r12-3922-gdbed1c8693c6b5cb02c903cea91db574200bd513 Author: Ilya Leoshkevich <iii@linux.ibm.com> Date: Wed Jun 24 01:30:47 2020 +0200 reassoc: Propagate PHI_LOOP_BIAS along single uses PR tree-optimization/49749 introduced code that shortens dependency chains containing loop accumulators by placing them last on operand lists of associative operations. 456.hmmer benchmark on s390 could benefit from this, however, the code that needs it modifies loop accumulator before using it, and since only so-called loop-carried phis are are treated as loop accumulators, the code in the present form doesn't really help. According to Bill Schmidt - the original author - such a conservative approach was chosen so as to avoid unnecessarily swapping operands, which might cause unpredictable effects. However, giving special treatment to forms of loop accumulators is acceptable. The definition of loop-carried phi is: it's a single-use phi, which is used in the same innermost loop it's defined in, at least one argument of which is defined in the same innermost loop as the phi itself. Given this, it seems natural to treat single uses of such phis as phis themselves. gcc/ChangeLog: * tree-ssa-reassoc.c (biased_names): New global. (propagate_bias_p): New function. (loop_carried_phi): Remove. (propagate_rank): Propagate bias along single uses. (get_rank): Update biased_names when needed.
prev parent reply other threads:[~2021-09-28 12:11 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-07-14 16:51 [Bug tree-optimization/49749] New: " wschmidt at gcc dot gnu.org 2011-07-14 19:23 ` [Bug tree-optimization/49749] " wschmidt at gcc dot gnu.org 2011-07-14 19:23 ` wschmidt at gcc dot gnu.org 2011-07-14 19:27 ` wschmidt at gcc dot gnu.org 2011-07-14 19:28 ` wschmidt at gcc dot gnu.org 2011-07-14 19:30 ` wschmidt at gcc dot gnu.org 2011-07-15 20:16 ` wschmidt at gcc dot gnu.org 2011-07-15 20:21 ` wschmidt at gcc dot gnu.org 2011-07-18 9:11 ` rguenth at gcc dot gnu.org 2011-07-20 16:30 ` wschmidt at gcc dot gnu.org 2011-07-20 16:39 ` wschmidt at gcc dot gnu.org 2011-07-20 19:02 ` wschmidt at gcc dot gnu.org 2011-07-21 12:07 ` rguenth at gcc dot gnu.org 2011-07-21 18:09 ` wschmidt at gcc dot gnu.org 2011-07-21 20:28 ` wschmidt at gcc dot gnu.org 2011-07-29 18:41 ` wschmidt at gcc dot gnu.org 2011-07-31 19:00 ` wschmidt at gcc dot gnu.org 2011-07-31 19:01 ` wschmidt at gcc dot gnu.org 2021-09-28 12:11 ` cvs-commit at gcc dot gnu.org [this message]
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-49749-4-A46gEWInom@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).