summaryrefslogtreecommitdiffstats
path: root/polly/www/example_load_Polly_into_clang.html
diff options
context:
space:
mode:
Diffstat (limited to 'polly/www/example_load_Polly_into_clang.html')
-rw-r--r--polly/www/example_load_Polly_into_clang.html143
1 files changed, 0 insertions, 143 deletions
diff --git a/polly/www/example_load_Polly_into_clang.html b/polly/www/example_load_Polly_into_clang.html
deleted file mode 100644
index fdf3132a01c..00000000000
--- a/polly/www/example_load_Polly_into_clang.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!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 -polly-parallel -lgomp</b> to your CFLAGS.
-
-<pre class="code">pollycc -O3 -mllvm -polly -mllvm -polly-parallel -lgomp file.c</pre>
-
-<h2>Automatic Vector code generation</h2>
-
-Automatic vector code generation can be enabled by adding <b>-mllvm
--polly-vectorizer=stripmine</b> to your CFLAGS.
-
-<pre class="code">pollycc -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine 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-only-func=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) [removed after <a href="http://llvm.org/releases/download.html#3.4.2">LLVM 3.4.2</a>].
-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-tiling=false</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>
OpenPOWER on IntegriCloud