public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "law at redhat dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/21829] [4.1/4.2 Regression] missed jump threading after unroller Date: Thu, 30 Mar 2006 17:15:00 -0000 [thread overview] Message-ID: <20060330171535.29215.qmail@sourceware.org> (raw) In-Reply-To: <bug-21829-6528@http.gcc.gnu.org/bugzilla/> ------- Comment #14 from law at redhat dot com 2006-03-30 17:15 ------- Just a note on the compile-time regressions for tramp3d... After fixing the timevars it was pretty clear that it isn't the cprop code itself that is slow, it is in fact very fast. THe slowdowns for tramp3d are in operand scanning and incremental SSA updates. I built a little instrumentation code and was rewarded with some insight into why tramp3d behaves differently for operand scanning. When we propagate into a statement, we (of course) fold and rescan the operands for the use statement. Clearly if we propagate several distinct copies into a single use statement, then we end up wasting time rescanning the use statement. My instrumentation recorded how often we perform more than one propagation into a statement vs how often we only propagate into a statement one time. In my test bucket that ratio is a little less than 1:1. I would have expected significantly smaller, but it is what it is. What's interesting is that for tramp3d that ratio is about 3:1 -- primarily from copy propagating into VUSE and V_MAY_DEF operands. I'm currently experimenting with some code to queue folding/rescanning of use statements in cases where there's a reasonable chance we're going to do more than one propagation into the statement. Initial experiments are showing a measurable compile-time improvement for both tramp3d as well as my testbucket. [ Note that Diego's memory tag rewrite work may make all this moot one day... ] Jeff -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21829
prev parent reply other threads:[~2006-03-30 17:15 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-21829-6528@http.gcc.gnu.org/bugzilla/> 2005-10-29 15:52 ` [Bug tree-optimization/21829] [4.1 " pinskia at gcc dot gnu dot org 2005-10-30 23:32 ` pinskia at gcc dot gnu dot org 2006-02-09 3:20 ` [Bug tree-optimization/21829] [4.1/4.2 " law at redhat dot com 2006-02-11 0:59 ` pinskia at gcc dot gnu dot org 2006-02-28 20:39 ` mmitchel at gcc dot gnu dot org 2006-03-21 5:09 ` law at redhat dot com 2006-03-21 5:10 ` law at redhat dot com 2006-03-22 11:14 ` richard dot guenther at gmail dot com 2006-03-22 14:01 ` law at redhat dot com 2006-03-22 15:06 ` richard dot guenther at gmail dot com 2006-03-22 15:36 ` law at redhat dot com 2006-03-28 19:14 ` law at redhat dot com 2006-03-30 17:15 ` law at redhat dot com [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=20060330171535.29215.qmail@sourceware.org \ --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).