public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Loop distribution for memset zero
@ 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
                   ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Sebastian Pop @ 2010-07-30 20:41 UTC (permalink / raw)
  To: gcc-patches; +Cc: matz, Sebastian Pop

Hi,

Michael Matz proposed that it would be a good idea for some CPU2006
benchmarks to add a separate heuristic for the loop distribution pass
for the memset zero pattern, and to enable that at -O3 in order to
exercise the loop distribution code.  The following two patches
implement on top of the current loop distribution pass the heuristic,
and enable it at -O3.

The new pass starts by adding to the partitions working list the data
references that are initialized to zero.  These partitions are then
code generated in different loops, and the current loop distribution
detects the memset zero pattern.

Regstrapped on amd64-linux.

SPEC2006 passed with -O3 (except the dealII compile fail that I
haven't fixed in my sources yet...).

Bootstrap failed with BOOT_CFLAGS="-g -O3", but then when I tried also
without these two patches it also failed with the same miscompiled
files, so bootstrap of trunk is broken at -O3, see
http://gcc.gnu.org/PR45146

Ok for trunk?

Thanks,
Sebastian

  Add pass_loop_distribute_memset_zero.
  Enable flag_tree_loop_distribute_memset_zero at -O3.

 gcc/common.opt               |    4 ++
 gcc/doc/invoke.texi          |   23 ++++++++++++++-
 gcc/opts.c                   |    1 +
 gcc/passes.c                 |    1 +
 gcc/tree-data-ref.c          |   26 +++++++++++++++++
 gcc/tree-data-ref.h          |    1 +
 gcc/tree-loop-distribution.c |   63 ++++++++++++++++++++++++++++++++++++++++++
 gcc/tree-pass.h              |    1 +
 8 files changed, 119 insertions(+), 1 deletions(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2010-12-18 14:27 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-30 20:41 [PATCH 0/2] Loop distribution for memset zero 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
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

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).