public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: optimization/10624: unroll-loops can't unroll nested constant loops
Date: Mon, 05 May 2003 19:16:00 -0000	[thread overview]
Message-ID: <20030505191600.17271.qmail@sources.redhat.com> (raw)

The following reply was made to PR optimization/10624; it has been noted by GNATS.

From: Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
To: thome@lix.polytechnique.fr
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: optimization/10624: unroll-loops can't unroll nested constant loops
Date: Mon, 5 May 2003 21:09:48 +0200

 Hello,
 
 > /*
 >  * GCC is apparently unable to understand that this loop can be unrolled.
 >  *
 >  * That's a pity, as we would really want to avoid jumps (of course,
 >  * replace printf by some more critical code. I've got an example of such
 >  * code where ``manual'' unrolling wins 25%, and I guess that much larger
 >  * gaps can be obtained easily...)
 >  *
 >  * It is not a matter of MAX_UNROLLED_INSNS hitting the bound. The inner
 >  * loop is constant when the outer is expanded, but I guess unroll-loops
 >  * makes 1 pass only.
 >  *
 >  * Would it be prohibitive to handle such cases that might require
 >  * several passes for proper unrolling ?
 >  *
 >  * gcc -O3 -funroll-loops -S unroll_me.c
 >  */
 
 yes it does not. Even in 3.4. It would be doable (we are able to unroll
 non-innermost loops, but we do not do it as it rarely helps), but it
 would require nontrivial amount of work. After all the other issues with
 the loop optimizer are solved, I might look at things like this, but this
 is not going to be true for at least a year.
 
 Zdenek
 
 > void unroll_me()
 > {
 >         const int n = 3;
 >         int i, j;
 > 
 >         for(i=0;i<n;i++) {
 >                 for(j=0;j<i;j++) {
 >                         printf("%d, %d\n",i,j);
 >                 }
 >         }
 > }


             reply	other threads:[~2003-05-05 19:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-05 19:16 Zdenek Dvorak [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-05-05  9:36 thome

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=20030505191600.17271.qmail@sources.redhat.com \
    --to=rakdver@atrey.karlin.mff.cuni.cz \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@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).