public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "mmitchel at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/32044] [4.3/4.4 Regression] final value replacement too aggressive for e.g. targets with no native div/mod insns
Date: Thu, 11 Dec 2008 00:43:00 -0000	[thread overview]
Message-ID: <20081211004210.14008.qmail@sourceware.org> (raw)
In-Reply-To: <bug-32044-11706@http.gcc.gnu.org/bugzilla/>



------- Comment #62 from mmitchel at gcc dot gnu dot org  2008-12-11 00:42 -------
I take Zdenek's point about the transformation from division to a loop being
profitable only if x is small.  But, that might argue that if we see the loop,
we still transform it into the division form -- but with a note that allows the
value-profiling code to turn it back.  The advantage to that is we can then
take advantage of the fact that it's division otherwise; for example, CSE it
with a manually written division, or eliminate it if multiplied by the same
value we divided by, etc.

There are a bunch of issues somewhat tangled up in here.  In any case, I am
also concerned about the fact that if the user writes division and modulus
manually, we're not taking advantage of the ABI divmod function.  IIUC, it
sounds like we could fix that by having the ARM back end always use the divmod
function as on x86.  Is that right?

-- Mark


-- 


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


  parent reply	other threads:[~2008-12-11  0:43 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-22 16:20 [Bug c/32044] New: udivdi3 counterproductive, unwarranted use malitzke at metronets dot com
2007-05-22 16:27 ` [Bug c/32044] " malitzke at metronets dot com
2007-05-22 16:37 ` malitzke at metronets dot com
2007-05-22 20:11 ` spark at gcc dot gnu dot org
2007-05-22 21:04 ` [Bug middle-end/32044] " pinskia at gcc dot gnu dot org
2007-05-22 22:18 ` ian at airs dot com
2007-05-23  0:06 ` malitzke at metronets dot com
2007-05-23  1:09 ` malitzke at metronets dot com
2007-05-23 10:17 ` rguenth at gcc dot gnu dot org
2007-05-23 12:15 ` manu at gcc dot gnu dot org
2007-05-23 12:18 ` malitzke at metronets dot com
2007-05-23 13:51 ` malitzke at metronets dot com
2007-05-23 14:13 ` rguenth at gcc dot gnu dot org
2007-05-24 13:09 ` malitzke at metronets dot com
2007-05-24 15:27 ` manu at gcc dot gnu dot org
2007-05-24 15:37 ` manu at gcc dot gnu dot org
2007-06-17  6:39 ` rakdver at gcc dot gnu dot org
2007-10-12 13:44 ` rguenth at gcc dot gnu dot org
2007-11-08 13:47 ` [Bug middle-end/32044] [4.3 regression] " manu at gcc dot gnu dot org
2007-11-08 14:22 ` manu at gcc dot gnu dot org
2007-11-08 14:47 ` rakdver at kam dot mff dot cuni dot cz
2007-11-09 16:26 ` bunk at stusta dot de
2007-11-09 16:33 ` rguenther at suse dot de
2007-11-09 17:09 ` bunk at stusta dot de
2007-11-09 17:11 ` rguenther at suse dot de
2007-11-10  7:41 ` bunk at stusta dot de
2007-11-19  6:06 ` pinskia at gcc dot gnu dot org
2007-11-20 21:19 ` ismail at pardus dot org dot tr
2007-11-27  5:51 ` mmitchel at gcc dot gnu dot org
2007-11-27  5:56 ` ismail at pardus dot org dot tr
2007-11-27  9:43 ` rguenth at gcc dot gnu dot org
2007-11-27 18:59 ` mark at codesourcery dot com
2007-11-27 19:16 ` bunk at stusta dot de
2007-11-27 19:31 ` bunk at stusta dot de
2007-11-27 19:42 ` rakdver at kam dot mff dot cuni dot cz
2007-11-27 19:44 ` jakub at gcc dot gnu dot org
2007-11-27 19:46 ` mark at codesourcery dot com
2007-12-26  1:29 ` pinskia at gcc dot gnu dot org
2008-01-02 23:30 ` mmitchel at gcc dot gnu dot org
2008-01-04  5:01 ` fche at redhat dot com
2008-01-04  7:03 ` mark at codesourcery dot com
2008-01-15  5:39 ` stevenyi at 163 dot com
2008-01-15  5:47 ` ismail at pardus dot org dot tr
2008-01-15  8:23 ` pinskia at gcc dot gnu dot org
2008-03-15  0:41 ` [Bug middle-end/32044] [4.3/4.4 " jsm28 at gcc dot gnu dot org
2008-06-06 14:58 ` rguenth at gcc dot gnu dot org
2008-08-27 22:04 ` jsm28 at gcc dot gnu dot org
2008-12-10 11:29 ` steven at gcc dot gnu dot org
2008-12-10 11:44 ` steven at gcc dot gnu dot org
2008-12-10 11:48 ` [Bug middle-end/32044] [4.3/4.4 Regression] " rguenth at gcc dot gnu dot org
2008-12-10 11:49 ` [Bug middle-end/32044] [4.3/4.4 regression] " steven at gcc dot gnu dot org
2008-12-10 12:32 ` [Bug middle-end/32044] [4.3/4.4 Regression] " steven at gcc dot gnu dot org
2008-12-10 15:50 ` [Bug tree-optimization/32044] [4.3/4.4 Regression] final value replacement too aggressive for e.g. targets with no native div/mod insns dsilvers at digital-scurf dot org
2008-12-10 17:13 ` mmitchel at gcc dot gnu dot org
2008-12-10 18:16 ` rakdver at kam dot mff dot cuni dot cz
2008-12-10 18:24 ` rakdver at kam dot mff dot cuni dot cz
2008-12-10 21:29 ` steven at gcc dot gnu dot org
2008-12-10 21:35 ` rakdver at gcc dot gnu dot org
2008-12-10 21:45 ` steven at gcc dot gnu dot org
2008-12-10 22:03 ` rakdver at kam dot mff dot cuni dot cz
2008-12-10 22:56 ` rakdver at gcc dot gnu dot org
2008-12-11  0:16 ` mmitchel at gcc dot gnu dot org
2008-12-11  0:29 ` steven at gcc dot gnu dot org
2008-12-11  0:30 ` rakdver at kam dot mff dot cuni dot cz
2008-12-11  0:43 ` mmitchel at gcc dot gnu dot org [this message]
2008-12-11  7:05 ` steven at gcc dot gnu dot org
2008-12-11 17:38 ` mmitchel at gcc dot gnu dot org
2008-12-12 20:35 ` rakdver at gcc dot gnu dot org
2008-12-12 20:43 ` rakdver at gcc dot gnu dot org
2009-01-24 10:20 ` rguenth at gcc dot gnu dot org
2009-02-03 16:32 ` [Bug tree-optimization/32044] [4.3 " bonzini at gnu dot org
2009-04-22 15:15 ` rguenth at gcc dot gnu dot org
2009-05-26 10:17 ` rguenth at gcc dot gnu dot org
2009-05-26 10:18 ` rguenth at gcc dot gnu dot 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=20081211004210.14008.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: 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).