public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level
Date: Wed, 03 Dec 2014 10:03:00 -0000	[thread overview]
Message-ID: <bug-64164-4-dIk5C5mUZM@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-64164-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
   Last reconfirmed|2014-12-03 00:00:00         |
          Component|middle-end                  |rtl-optimization
   Target Milestone|---                         |4.9.3

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
The difference is in whether there are extra user-named variables in the end
and thus SSA coalescing decision differences:

 stm_load (volatile stm_word_t * addr)
 {
-  stm_word_t l;
-  stm_word_t value;
   stm_word_t version;
   stm_word_t l;
   struct r_entry_t * r;
-  stm_word_t now;
...
+  size_t _32;
+  size_t _33;
+  size_t _34;

...

 Conflict graph:
+1: 3
+3: 1

 After sorting:
 Sorted Coalesce list:
+(16610) _30 <-> _33
 (651) _10 <-> _30

...

-Coalesce list: (10)_10 & (30)_30 [map: 1, 2] : Success -> 1
+Coalesce list: (30)_30 & (33)_33 [map: 2, 3] : Success -> 2
+Coalesce list: (10)_10 & (30)_30 [map: 1, 2] : Fail due to conflict


So it turns out the different coalescing ends up generating worse code.
It would be interesting to see why we decide that coalescing _30 and _33
is so much more beneficial than coalescing _10 and _30.

Ah, it simply uses EDGE_FREQUENCY...  and for some reason we predicted
that _33 & 1 != 0 is 10% taken only.

So ... the theory is that the version is faster on the important path?


  parent reply	other threads:[~2014-12-03 10:03 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-03  9:33 [Bug ipa/64164] New: " patrick.marlier at gmail dot com
2014-12-03  9:44 ` [Bug middle-end/64164] " pinskia at gcc dot gnu.org
2014-12-03  9:45 ` pinskia at gcc dot gnu.org
2014-12-03 10:03 ` rguenth at gcc dot gnu.org [this message]
2014-12-03 10:06 ` [Bug rtl-optimization/64164] " rguenth at gcc dot gnu.org
2014-12-11 11:46 ` rguenth at gcc dot gnu.org
2014-12-17 11:38 ` patrick.marlier at gmail dot com
2015-03-17 18:19 ` law at redhat dot com
2015-03-17 19:55 ` amacleod at redhat dot com
2015-03-17 22:15 ` aoliva at gcc dot gnu.org
2015-03-17 22:18 ` aoliva at gcc dot gnu.org
2015-03-17 22:19 ` aoliva at gcc dot gnu.org
2015-03-17 23:01 ` aoliva at gcc dot gnu.org
2015-03-18  0:20 ` aoliva at gcc dot gnu.org
2015-03-18  5:48 ` law at redhat dot com
2015-03-18  9:02 ` rguenth at gcc dot gnu.org
2015-03-18  9:03 ` rguenth at gcc dot gnu.org
2015-03-18  9:19 ` rguenth at gcc dot gnu.org
2015-03-18 10:05 ` aoliva at gcc dot gnu.org
2015-03-18 10:16 ` rguenther at suse dot de
2015-03-18 10:18 ` aoliva at gcc dot gnu.org
2015-03-19  5:17 ` aoliva at gcc dot gnu.org
2015-03-20  8:07 ` law at redhat dot com
2015-03-20 10:03 ` rguenther at suse dot de
2015-03-20 20:44 ` law at redhat dot com
2015-03-27 18:26 ` aoliva at gcc dot gnu.org
2015-03-29 20:58 ` aoliva at gcc dot gnu.org
2015-03-30 23:06 ` patrick.marlier at gmail dot com
2015-03-30 23:09 ` law at redhat dot com
2015-03-30 23:34 ` law at redhat dot com
2015-03-31 12:21 ` rguenth at gcc dot gnu.org
2015-03-31 12:21 ` [Bug rtl-optimization/64164] [4.9/5/6 " rguenth at gcc dot gnu.org
2015-03-31 12:56 ` jakub at gcc dot gnu.org
2015-04-01  7:51 ` rguenth at gcc dot gnu.org
2015-06-09  5:06 ` aoliva at gcc dot gnu.org
2015-06-09  5:34 ` [Bug rtl-optimization/64164] [4.9/5 " aoliva at gcc dot gnu.org
2015-06-09  9:10 ` ebotcazou at gcc dot gnu.org
2015-06-09 16:35 ` dje at gcc dot gnu.org
2015-06-10  0:15 ` [Bug rtl-optimization/64164] [4.9/5/6 " aoliva at gcc dot gnu.org
2015-06-10 13:16 ` clyon at gcc dot gnu.org
2015-06-10 14:43 ` dje at gcc dot gnu.org
2015-06-10 14:45 ` dje at gcc dot gnu.org
2015-07-23 15:35 ` aoliva at gcc dot gnu.org
2015-07-24 10:37 ` schwab@linux-m68k.org
2015-07-24 10:51 ` schwab@linux-m68k.org
2015-07-24 16:57 ` sje at gcc dot gnu.org
2015-07-27  9:07 ` ro at gcc dot gnu.org
2015-07-30 18:20 ` aoliva at gcc dot gnu.org
2015-08-02 21:11 ` gary at intrepid dot com
2015-08-14 18:52 ` aoliva at gcc dot gnu.org
2015-08-15  2:24 ` aoliva at gcc dot gnu.org
2015-08-15  2:25 ` aoliva at gcc dot gnu.org
2015-08-15  2:25 ` aoliva at gcc dot gnu.org
2015-08-15  2:26 ` aoliva at gcc dot gnu.org
2015-08-15  2:26 ` aoliva at gcc dot gnu.org
2015-08-15  2:27 ` aoliva at gcc dot gnu.org
2015-08-19 17:01 ` aoliva at gcc dot gnu.org
2015-08-21 20:04 ` aoliva at gcc dot gnu.org
2015-08-21 20:05 ` aoliva at gcc dot gnu.org
2015-09-23 21:13 ` aoliva at gcc dot gnu.org
2015-09-27  9:03 ` aoliva at gcc dot gnu.org
2015-09-27 12:13 ` trippels at gcc dot gnu.org
2015-09-28  1:15 ` aoliva at gcc dot gnu.org
2015-09-28  1:16 ` aoliva at gcc dot gnu.org
2015-09-28  1:16 ` aoliva at gcc dot gnu.org
2015-10-09 12:21 ` aoliva at gcc dot gnu.org
2015-10-09 12:22 ` aoliva 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-64164-4-dIk5C5mUZM@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).