<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
          "http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Polly - Load Polly into clang</title>
  <link type="text/css" rel="stylesheet" href="menu.css">
  <link type="text/css" rel="stylesheet" href="content.css">
</head>
<body>
<div id="box">
<!--#include virtual="menu.html.incl"-->
<div id="content">
<!--=====================================================================-->
<h1>Load Polly into clang and automatically run it at -O3</h1>
<!--=====================================================================-->

<p><b>Warning:</b> Even though this example makes it very easy to use Polly,
you should be aware that Polly is a young research project. It is expected
to crash, produce invalid code or to hang in complex calculations even for
simple examples. In case you see such a problem, please check the <a
href="bugs.html">Bug database</a> and consider reporting a bug.
<p>
<b>Warning II:</b> clang/LLVM/Polly need to be in sync. This means
            you need to compile them yourself from a recent svn/git checkout</b>
<h2>Load Polly into clang</h2>

By default Polly is configured as a shared library plugin that is loaded in
tools like clang, opt, and bugpoint when they start their execution.

By loading Polly into clang (or opt) the Polly options become automatically
available. You can load Polly either by adding the relevant commands to
the CPPFLAGS or by creating an alias.

<pre class="code">
$ export CPPFLAGS="-Xclang -load -Xclang ${POLLY_BUILD_DIR}/lib/LLVMPolly.so"
</pre>

or
<pre class="code">
$ alias pollycc clang -Xclang -load -Xclang ${POLLY_BUILD_DIR}/lib/LLVMPolly.so
</pre>

To avoid having to load Polly in the tools, Polly can optionally be configured
with cmake to be statically linked in the tools:

<pre class="code">
$ cmake -D LINK_POLLY_INTO_TOOLS:Bool=ON
</pre>

<h2>Optimizing with Polly</h2>

Optimizing with Polly is as easy as adding <b>-O3 -mllvm -polly</b> to your
compiler flags (Polly is only available at -O3).

<pre class="code">pollycc -O3 -mllvm -polly file.c</pre>

<h2>Automatic OpenMP code generation</h2>

To automatically detect parallel loops and generate OpenMP code for them you
also need to add <b>-mllvm -enable-polly-openmp -lgomp</b> to your CFLAGS.

<pre class="code">pollycc -O3 -mllvm -polly -mllvm -enable-polly-openmp -lgomp file.c</pre>

<h2>Automatic Vector code generation</h2>

Automatic vector code generation can be enabled by adding <b>-mllvm
-polly-vectorizer=polly</b> to your CFLAGS.

<pre class="code">pollycc -O3 -mllvm -polly -mllvm -polly-vectorizer=polly file.c</pre>

<h2>Extract a preoptimized LLVM-IR file</h2>

Often it is useful to derive from a C-file the LLVM-IR code that is actually
optimized by Polly. Normally the LLVM-IR is automatically generated from
the C code by first lowering C to LLVM-IR (clang) and by subsequently applying a
set of preparing transformations on the LLVM-IR. To get the LLVM-IR after the
preparing transformations have been applied run Polly with '-O0'.

<pre class="code">pollycc -O0 -mllvm -polly -S -emit-llvm file.c</pre>

<h2>Further options</h2>

Polly supports further options that are mainly useful for the development or
the
analysis of Polly. The relevant options can be added to clang by appending
<b>-mllvm -option-name</b> to the CFLAGS or the clang
command line.

<h3>Limit Polly to a single function</h3>
To limit the execution of Polly to a single function, use the option
<b>-polly-detect-only=functionname</b>.

<h3>Disable LLVM-IR generation</h3>
Polly normally regenerates LLVM-IR from the Polyhedral representation. To only
see the effects of the preparing transformation, but to disable Polly code
generation add the option <b>polly-no-codegen</b>.

<h3>Graphical view of the SCoPs</h3>

Polly can use graphviz to show the SCoPs it detects in a program. The relevant
options are <b>-polly-show</b>, <b>-polly-show-only</b>, <b>-polly-dot</b> and
<b>-polly-dot-only</b>. The 'show' options automatically run dotty or another
graphviz viewer to show the scops graphically. The 'dot' options store for each
function a dot file that highlights the detected SCoPs. If 'only' is appended at
the end of the option, the basic blocks are shown without the statements the
contain.

<h3>Change/Disable the Optimizer</h3>
Polly uses by default the isl scheduling optimizer. The isl optimizer optimizes
for data-locality and parallelism using the <a
href="http://pluto-compiler.sf.net">Pluto</a> algorithm. For research it is also
possible to run <a
href="http://www-rocq.inria.fr/~pouchet/software/pocc/">PoCC</a> as external
optimizer. PoCC provides access to the original Pluto implementation. To use
PoCC add <b>-polly-optimizer=pocc</b> to the command line (only available if
Polly was compiled with scoplib support). To disable the
optimizer entirely use the option <b>-polly-optimizer=none</b>.

<h3>Disable tiling in the optimizer</h3>
By default both optimizers perform tiling, if possible. In case this is not
wanted the option <b>-polly-no-tiling</b> can be used to disable it. (This
option disables tiling for both optimizers).

<h3>Ignore possible aliasing</h3>
By default we only detect scops, if we can prove that the different array bases
can not alias. This is correct do if we optimize automatically.  However,
without special user annotations like 'restrict' we can often not prove that
no aliasing is possible. In case the user knows no aliasing can happen in the
code the <b>-polly-ignore-aliasing</b> can be used to disable the check for
possible aliasing.

<h3>Import / Export</h3>
The flags <b>-polly-import</b> and <b>-polly-export</b> allow the export and
reimport of the polyhedral representation. By exporting, modifying and
reimporting the polyhedral representation externally calculated transformations
can be applied. This enables external optimizers or the manual optimization of
specific SCoPs.
</div>
</div>
</body>
</html>
