llvm-capstone/polly/www/get_started.html
Tobias Grosser 3d2efafb36 www: Fix path to git repository.
llvm-svn: 132761
2011-06-08 22:46:40 +00:00

137 lines
3.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Polly - Getting Started</title>
<link type="text/css" rel="stylesheet" href="menu.css" />
<link type="text/css" rel="stylesheet" href="content.css" />
</head>
<body>
<!--#include virtual="menu.html.incl"-->
<div id="content">
<h1>Getting Started: Building and Installing Polly</h1>
<h2 id="prerequisites"> Prerequisites </h2>
The following prerequisites can be installed through the package management
system of your operating system.
<ul>
<li>libgmp (library + developer package)</li>
</ul>
<h3> Install ISL / CLooG libraries </h3>
Polly requires the latest versions of <a href="http://www.cloog.org">CLooG</a>
and <a href="http://repo.or.cz/w/isl.git">isl</a> to be installed. The CLooG git
repository contains both the latest version of CLooG and isl.
<pre>
git clone git://repo.or.cz/cloog.git
cd cloog
./get_submodules.sh
./autogen.sh
./configure --with-gmp-prefix=/path/to/gmp/installation --prefix=/path/to/cloog/installation
make
make install
</pre>
<h3> Install Pocc (Optional) </h3>
Polly can use <a href="http://www.cse.ohio-state.edu/~pouchet/software/pocc">
PoCC</a> as an external optimizer. PoCC provides an
integrated version of <a href="http://pluto.sf.net">Pluto</a>, an advanced
data-locality and tileability optimizer. To enable this feature install PoCC
1.0-rc3.1 (the one with Polly support) and add it to your PATH.
<pre>
wget <a
href="http://www.cse.ohio-state.edu/~pouchet/software/pocc/download/pocc-1.0-rc3.1-full.tar.gz">http://www.cse.ohio-state.edu/~pouchet/software/pocc/download/pocc-1.0-rc3.1-full.tar.gz</a>
tar xzf pocc-1.0-rc3.1-full.tar.gz
cd pocc-1.0-rc3.1
./install.sh
export PATH=`pwd`/bin
</pre>
Furthermore, scoplib-0.2.0 has to be installed such that polly can link to
it.
<pre>
wget <a
href="http://www.cse.ohio-state.edu/~pouchet/software/pocc/download/modules/scoplib-0.2.0.tar.gz"
>http://www.cse.ohio-state.edu/~pouchet/software/pocc/download/modules/scoplib-0.2.0.tar.gz</a>
tar xzf scoplib-0.2.0.tar.gz
cd scoplib-0.2.0
./configure --enable-mp-version --prefix=/path/to/scoplib/installation
make && make install
</pre>
<h2 id="source"> Get the code </h2>
<p>
The Polly source code is available in the LLVM SVN repository. For convenience
we also provide a git mirror. To build Polly we extract its source code into the
<em>tools</em> directory of the llvm sources.</p>
<b>A recent LLVM checkout is needed. Older versions may not work!</b>
<h3>SVN</h3>
<pre>
export LLVM_SRC=`pwd`/llvm
svn checkout http://llvm.org/svn/llvm-project/llvm/trunk ${LLVM_SRC}
cd ${LLVM_SRC}/tools
svn checkout http://llvm.org/svn/llvm-project/polly/trunk polly
</pre>
<h3>GIT</h3>
<pre>
export LLVM_SRC=`pwd`/llvm
git clone http://llvm.org/git/llvm.git ${LLVM_SRC}
cd ${LLVM_SRC}/tools
git clone http://llvm.org/git/polly.git
</pre>
<h2 id="build">Build Polly</h2>
To build Polly you can either use the autoconf or the cmake build system. At the
moment only the autoconf build system allows to run the llvm test-suite and only
the cmake build system allows to run 'make polly-test'.
<h3>CMake</h3>
<pre>
mkdir build
cd build
cmake ${LLVM_SRC}
# If CMAKE cannot find CLooG and ISL
cmake -DCMAKE_PREFIX_PATH=/cloog/installation .
# To point CMAKE to the scoplib source
cmake -DCMAKE_PREFIX_PATH=/scoplib/installation .
make
</pre>
<h3> Autoconf </h2>
<pre>
mkdir build
cd build
${LLVM_SRC}/configure --with-cloog=/cloog/installation --with-isl=/cloog/installation --with-scoplib=/scoplib/installation
make
</pre>
<h2> Test Polly</h2>
To check if Polly works correctly you can run <em>make polly-test</em>. This
currently works only with a cmake build.
</div>
</body>
</html>