This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 0/6] Loop flattening and improved if-conversion
- From: Richard Guenther <rguenther at suse dot de>
- To: Sebastian Pop <sebpop at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 3 Nov 2010 16:07:49 +0100 (CET)
- Subject: Re: [PATCH 0/6] Loop flattening and improved if-conversion
- References: <1288306702-5543-1-git-send-email-sebpop@gmail.com>
On Thu, 28 Oct 2010, Sebastian Pop wrote:
> Hi,
>
> As explained in the GCC Summit paper "Improving GCC's
> auto-vectorization with if-conversion and loop flattening for AMD's
> Bulldozer processors", this patch set implements a loop flattening
> pass on tree-ssa, and improves the if-conversion, removing the now
> unnecessary ifcvt_memrefs_wont_trap analysis: this fixes PR46029.
>
> The patch-set passed bootstrap with BOOT_CFLAG="-O2 -floop-flatten
> -ftree-loop-if-convert-stores" and test on amd64-linux. Ok for trunk?
Can you please post a complete patch instead? A patch series which
reverts changes done by earlier patches is not reviewable (it should
also not be committed that way, btw).
Thanks,
Richard.
> Thanks,
> Sebastian Pop
> --
> AMD / Open Source Compiler Engineering / GNU Tools
>
> Sebastian Pop (6):
> Loop flattening on loop-SSA.
> Remove ifcvt_memrefs_wont_trap analysis.
> Fix PR46029: reimplement if-convert stores.
> if-convert even when the data dependences cannot be computed.
> Call if-conversion from loop flattening.
> Move loop flattening and SLP vectorization at the end of loop
> transforms.
>
> gcc/ChangeLog | 68 +++
> gcc/Makefile.in | 4 +
> gcc/common.opt | 4 +
> gcc/dbgcnt.def | 1 +
> gcc/doc/invoke.texi | 18 +-
> gcc/params.def | 7 +
> gcc/passes.c | 3 +-
> gcc/testsuite/ChangeLog | 14 +
> gcc/testsuite/g++.dg/tree-ssa/ifc-pr46029.C | 76 ++++
> gcc/testsuite/gcc.dg/tree-ssa/flat-loop-1.c | 28 ++
> gcc/testsuite/gcc.dg/tree-ssa/flat-loop-2.c | 39 ++
> gcc/testsuite/gcc.dg/tree-ssa/flat-loop-3.c | 19 +
> gcc/testsuite/gcc.dg/tree-ssa/flat-loop-4.c | 23 +
> gcc/testsuite/gcc.dg/tree-ssa/ifc-5.c | 17 +-
> gcc/testsuite/gcc.dg/tree-ssa/ifc-8.c | 29 ++
> gcc/timevar.def | 1 +
> gcc/tree-flow.h | 4 +
> gcc/tree-if-conv.c | 407 ++++++++----------
> gcc/tree-loop-flattening.c | 630 +++++++++++++++++++++++++++
> gcc/tree-pass.h | 1 +
> 20 files changed, 1151 insertions(+), 242 deletions(-)
> create mode 100644 gcc/testsuite/g++.dg/tree-ssa/ifc-pr46029.C
> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/flat-loop-1.c
> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/flat-loop-2.c
> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/flat-loop-3.c
> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/flat-loop-4.c
> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/ifc-8.c
> create mode 100644 gcc/tree-loop-flattening.c
>
>
--
Richard Guenther <rguenther@suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex