[polly] r222101 - Switch default code generation backend to isl

Johannes Doerfert doerfert at cs.uni-saarland.de
Sun Nov 16 09:07:04 PST 2014


Thanks Tobias!

One minor comment (see below).

On 11/16, Tobias Grosser wrote:
> Author: grosser
> Date: Sun Nov 16 11:02:11 2014
> New Revision: 222101
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=222101&view=rev
> Log:
> Switch default code generation backend to isl
> 
> The isl based backend has been tested since a long time and with the recently
> commited OpenMP support the last missing piece of functionality was ported from
> the CLooG backend.
> 
> The isl based backend gives us interesting new functionality:
> 
>   - Run-time alias checks (enabled by default)
> 
>   Optimize scops that contain possibly aliasing pointers. This feature has
>   largely increased the number of loop nests we consider for optimization.
> 
>   Thanks Johannes!
> 
>   - Delinearization (not yet enabled by default)
> 
>   Model accesses to multi-dimensional arrays precisely. This will allow us to
>   understand kernels with multi-dimensional VLAs written in Julia, boost::ublas,
>   coremark or C99.
> 
>   Thanks Sebastian!
> 
>   - Generation of higher quality code
> 
>   Sven and me spent a long time to optimize the quality of the generated code. A
>   major focus were expressions as they result from modulos/divisions or
>   piecewise affine expressions (a ? b : c).
> 
>   - Full/Partial tile separation, polyhedral unrolling
> 
>   The isl code generation provides functionality to generate specialized code
>   for core and cleanup loops and to specialize code using polyhedral context
>   information while unrolling statements.
> 
>   (not yet exploited in Polly)
> 
>   - Modifieable access functions
> 
>   We can now use standard isl functionality to remap memory accesses to new
>   data locations. A standard use case is the use of shared memory, where
>   accesses to a larger region in global memory need to be mapped to a smaller
>   shared memory region using a modulo mapping.
> 
>   (not yet exploited in Polly)
> 
> The cloog based code generation is still available for comparision, but is
> scheduled for removal.
> 
> Modified:
>     polly/trunk/lib/Support/RegisterPasses.cpp
>     polly/trunk/test/Isl/CodeGen/MemAccess/simple_analyze.ll
> 
> Modified: polly/trunk/lib/Support/RegisterPasses.cpp
> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/RegisterPasses.cpp?rev=222101&r1=222100&r2=222101&view=diff
> ==============================================================================
> --- polly/trunk/lib/Support/RegisterPasses.cpp (original)
> +++ polly/trunk/lib/Support/RegisterPasses.cpp Sun Nov 16 11:02:11 2014
> @@ -67,7 +67,7 @@ static cl::opt<OptimizerChoice> Optimize
>      cl::cat(PollyCategory));
>  
>  #ifdef CLOOG_FOUND
> -enum CodeGenChoice DefaultCodeGen = CODEGEN_CLOOG;
> +enum CodeGenChoice DefaultCodeGen = CODEGEN_ISL;
>  #else
>  enum CodeGenChoice DefaultCodeGen = CODEGEN_ISL;
>  #endif
Remove the #ifdef

> Modified: polly/trunk/test/Isl/CodeGen/MemAccess/simple_analyze.ll
> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/CodeGen/MemAccess/simple_analyze.ll?rev=222101&r1=222100&r2=222101&view=diff
> ==============================================================================
> --- polly/trunk/test/Isl/CodeGen/MemAccess/simple_analyze.ll (original)
> +++ polly/trunk/test/Isl/CodeGen/MemAccess/simple_analyze.ll Sun Nov 16 11:02:11 2014
> @@ -24,6 +24,7 @@ for.inc:
>    br label %for.cond
>  
>  for.end:                                          ; preds = %for.cond
> +  fence seq_cst
>    br label %for.cond4
>  
>  for.cond4:                                        ; preds = %for.inc11, %for.end
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-- 

Johannes Doerfert
Researcher / PhD Student

Compiler Design Lab (Prof. Hack)
Saarland University, Computer Science
Building E1.3, Room 4.26

Tel. +49 (0)681 302-57521 : doerfert at cs.uni-saarland.de
Fax. +49 (0)681 302-3065  : http://www.cdl.uni-saarland.de/people/doerfert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 213 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141116/6e13ad6f/attachment.sig>


More information about the llvm-commits mailing list