This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/6] Loop flattening and improved if-conversion


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]