From: Sebastian Pop <sebpop@gmail.com>
To: Richard Guenther <richard.guenther@gmail.com>
Cc: gcc-patches@gcc.gnu.org, matz@suse.de
Subject: Re: [PATCH 0/2] Loop distribution for memset zero
Date: Sat, 31 Jul 2010 15:28:00 -0000 [thread overview]
Message-ID: <AANLkTinRf_40ebd6fY_pT9L+L7EZ3c9s2FBjF-uF_-1K@mail.gmail.com> (raw)
In-Reply-To: <AANLkTi=mz6HzE5HRu98U_FAwSVp7_zxuKunSjC+PUvUu@mail.gmail.com>
On Sat, Jul 31, 2010 at 05:01, Richard Guenther
<richard.guenther@gmail.com> wrote:
> The new pass should be disabled when loop-distribution is enabled, no?
> Thus, I think it would make more sense to fold it into the existing pass
> which then runs in different modes depending on the flags used.
I will do that and resubmit the patch.
>
> The flag should be named more general, like -ftree-loop-distribute-patterns
What about adding both -ftree-loop-distribute-patterns and
-ftree-loop-distribute-memset-zero, such that we can control what
patterns are detected, and to enable all these patterns together we'll
have -ftree-loop-distribute-patterns.
> as we probably want to add memcpy or array sin/cos operations as well
> here.
I can imagine the memcpy pattern, but could you please provide an
example for sin/cos patterns?
> Now the code looks very specific at the moment, with
> stores_zero_from_loop. I suppose we can't ask loop distribution
> to separate stores as is but then only generate separate code for
> the memset and ask it to keep the other pieces together?
That is the intent of the worklist: the worklist contains the roots of
the partitions that have to be generated. The partitions are then
augmented with only those dependences that form a cycle (SCC) around
the root. For A[i] = 0, there is no way to aggregate around it
anything else. The rest of the loop is generated in the default
remaining partition.
Sebastian
next prev parent reply other threads:[~2010-07-31 15:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-30 20:41 Sebastian Pop
2010-07-30 20:43 ` [PATCH 2/2] Enable flag_tree_loop_distribute_memset_zero at -O3 Sebastian Pop
2010-07-30 20:52 ` [PATCH 1/2] Add pass_loop_distribute_memset_zero Sebastian Pop
2010-07-31 11:35 ` [PATCH 0/2] Loop distribution for memset zero Richard Guenther
2010-07-31 15:28 ` Sebastian Pop [this message]
2010-07-31 15:28 ` Sebastian Pop
2010-07-31 15:28 ` [PATCH 1/3] Add pass_loop_distribute_memset_zero Sebastian Pop
2010-07-31 15:31 ` [PATCH 3/3] Add -ftree-loop-distribute-patterns Sebastian Pop
2010-07-31 15:45 ` Sebastian Pop
2010-08-01 12:06 ` Richard Guenther
2010-08-02 9:21 ` Richard Guenther
2010-08-02 15:26 ` [PATCH] Add -ftree-loop-distribute-patterns enabled at -O3 Sebastian Pop
2010-08-07 17:49 ` Gerald Pfeifer
2010-10-21 0:30 ` H.J. Lu
2010-12-18 17:48 ` H.J. Lu
2010-08-02 16:22 ` [PATCH 3/3] Add -ftree-loop-distribute-patterns Sebastian Pop
2010-07-31 15:34 ` [PATCH 2/3] Enable flag_tree_loop_distribute_memset_zero at -O3 Sebastian Pop
2010-07-31 17:21 ` [PATCH 0/2] Loop distribution for memset zero Michael Matz
2010-07-31 17:36 ` Sebastian Pop
2010-08-01 12:10 ` Richard Guenther
2010-07-31 20:01 ` Joseph S. Myers
2010-08-01 16:19 ` Michael Matz
2010-08-01 12:19 ` Richard Guenther
2010-08-01 15:21 ` Sebastian Pop
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=AANLkTinRf_40ebd6fY_pT9L+L7EZ3c9s2FBjF-uF_-1K@mail.gmail.com \
--to=sebpop@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=matz@suse.de \
--cc=richard.guenther@gmail.com \
/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).