<div id="head" style="position: relative">
<h1><span><a href="/">Polly</a></span></h1>
<h2><span>LLVM Framework for High-Level Loop and Data-Locality
Optimizations</span></h2>


<p> Hexagonal tiling in 3D</p>

</div>
<div id="menu">
  <div class="submenu">
    <label>Information</label>
    <a href="/index.html">About Polly</a>
    <a href="/documentation.html">Documentation</a>
    <a href="/performance.html">Performance</a>
    <a href="/publications.html">Publications</a>
    <a href="/contributors.html">Contributors</a>
    <a href="/todo.html">TODO</a>
    <a href="/changelog.html">ChangeLog</a>
  </div>

  <div class="submenu">
    <label>Development </label>
    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">
      Mailing List (patches)
    </a>
    <a href="http://groups.google.com/group/polly-dev">Mailing List (discussion)</a>
    <a href="/bugs.html">Bug Reports</a>
    <a href="http://lab.llvm.org:8011/console?category=polly">Buildbot</a>
    <!--
     These analyses currently do not include Polly.
    <a href="http://buildd-clang.debian.net/coverage/">Code Coverage</a>
    <a href="http://buildd-clang.debian.net/scan-build/">Static analysis</a>
    -->
  </div>

  <div class="submenu">
    <label>The Code</label>
    <a href="/get_started.html">Get and Install</a>
    <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/">
      Browse (ViewVC)
    </a>
    <a href="http://repo.or.cz/w/polly-mirror.git">Browse (GitWeb)</a>
  </div>

  <div class="submenu2">
  <label>polyhedral.info news</label>
  <script language="JavaScript"
  src="http://feed2js.org//feed2js.php?src=http%3A%2F%2Fpolyhedral.info%2Frss.xml&num=5&utf=y"
  charset="UTF-8" type="text/javascript"></script>

  <noscript>
  <a
  href="http://feed2js.org//feed2js.php?src=http%3A%2F%2Fpolyhedral.info%2Frss.xml&num=5&utf=y&html=y">View
  RSS feed</a>
  </noscript>
 </div>
</div>

<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.grosser.es/piwik/piwik/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "3"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript>
<img src="http://www.grosser.es/piwik/piwik/piwik.php?idsite=3&amp;rec=1" style="border:0" alt="" />
</noscript>

