public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "amker.cheng at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/54133] regrename introduces additional dependencies
Date: Thu, 02 Aug 2012 10:18:00 -0000	[thread overview]
Message-ID: <bug-54133-4-Jis3j488zZ@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-54133-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133

--- Comment #7 from amker.cheng <amker.cheng at gmail dot com> 2012-08-02 10:18:41 UTC ---
(In reply to comment #6)
> > In experiment, if I disable r0/r1 from renaming, most regressions observed in
> > CSiBE are gone.
> > 
> > So how should this be fixed? Thanks.
> 
> The choice of the renaming register can be parameterized at the class level,
> but I'm not sure this would work here.  You could also try to add some
> additional heuristics for this choice, as it seems to be clearly
> counter-productive here.

My bad that I did not mention details of the method by disabling r0/r1 from
renaming.
When comparing to trunk(where regrename is disabled for Os), the method fixes
most of regrenaming regressions, which is good.
But it is too conservertive that some renaming opportunities are missed. From
the view of code size: data show that this method has 700/440 bytes
benefit/regression against the current implemention of regrename. This means
only 250 bytes benefit overall.
The data is collected from CSiBE on arm cortex-m0.

Giving that the regressions may cross basic_block, it's hard to fix them in
regrenaming without missing renaming opportunities.

Is it possible to run regcprop pass both before and after regrenaming?


  parent reply	other threads:[~2012-08-02 10:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-31  6:59 [Bug rtl-optimization/54133] New: " amker.cheng at gmail dot com
2012-07-31  8:01 ` [Bug rtl-optimization/54133] " steven at gcc dot gnu.org
2012-08-01  7:50 ` amker.cheng at gmail dot com
2012-08-01 10:14 ` steven at gcc dot gnu.org
2012-08-01 11:58 ` steven at gcc dot gnu.org
2012-08-01 13:49 ` amker.cheng at gmail dot com
2012-08-02  7:22 ` ebotcazou at gcc dot gnu.org
2012-08-02 10:18 ` amker.cheng at gmail dot com [this message]
2012-09-25  7:45 ` amker.cheng at gmail dot com

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-54133-4-Jis3j488zZ@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: link
Be 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).