[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