<!--#include virtual="../../header.incl" -->

<div class="www_sectiontitle">2016 European LLVM Developers' Meeting</div>

<h2><b>SPONSORED BY:
<br />
<br />
&nbsp; &nbsp; &nbsp;
<a href="http://www.arm.com">ARM</a>,
<a href="http://www.hsafoundation.com">HSA Foundation</a>,
<a href="http://www.google.com">Google</a>,
<a href="http://www.intel.com">Intel</a>,
<a href="http://www.codeplay.com/">Codeplay</a>,
<a href="http://www.microsoft.com/en-us/">Microsoft</a>,
<a href="http://research.microsoft.com/en-us/">Microsoft Research</a>
<br />
</b>
</h2>

<p>The hacker's lab &amp; networking session is sponsored by
<a href="http://www.solidsands.nl/"><b>Solid Sands</b></a>
</p>

<table>
        <tr><td valign="top">
<ol>
        <li><a href="#about">About</a></li>
        <li><a href="#schedule">Schedule</a></li>
        <li><a href="#SlidesAndVideos">Slides &amp; Videos</a></li>
        <li><a href="#PresentationsAbstracts">Presentations abstracts</a></li>
        <li><a href="#TutorialsAbstracts">Tutorials abstracts</a></li>
        <li><a href="#LightningTalksAbstracts">Lightning talks abstracts</a></li>
        <li><a href="#PostersAbstracts">Posters abstracts</a></li>
        <li><a href="#BoFsAbstracts">BoFs abstracts</a></li>
</ol>
</td><td>
<ul>
  <li><b>What</b>: The sixth European LLVM meeting</li>
  <li><b>When</b>: March 17-18, 2016</li>
  <li><b>Where</b>: <a href="http://www.princesasofia.com/en">Hotel Princesa Sofia</a>, Barcelona, Spain</li>
</ul>
</td></tr></table>

<div class="www_sectiontitle" id="about">About</div>
<p>
The LLVM Foundation announces the sixth annual European LLVM Developers' Meeting
will be held March 17th and 18th in Barcelona, Spain.
</p>

<p>
This year, the conference will be collocated with <a href="http://cgo.org/cgo2016/">CGO</a>
and <a href="http://cc2016.eew.technion.ac.il/">CC</a>, enabling collaboration and
exchange of ideas with the research community.
</p>

<p>
The conference will be 2 full days that include technical talks, BoFs, hacker’s lab,
tutorials, and a poster session.
</p>

<p>
The meeting serves as a forum for <a href="http://llvm.org">LLVM</a>,
<a href="http://clang.llvm.org">Clang</a>, <a href="http://lldb.llvm.org">LLDB</a> and 
other LLVM project developers and users to get acquainted, learn how LLVM is used, and 
exchange ideas about LLVM and its (potential) applications. More broadly, we
believe the event will be of particular interest to the following people:
</p>

<ul>
<li>Active developers of projects in the LLVM Umbrella
(LLVM core, Clang, LLDB, libc++, compiler_rt, klee, dragonegg, lld, etc).</li>
<li>Anyone interested in using these as part of another project.</li>
<li>Compiler, programming language, and runtime enthusiasts.</li>
<li>Those interested in using compiler and toolchain technology in novel 
and interesting ways.</li>
</ul>

<p>
Please sign up for the
<a href="http://lists.llvm.org/mailman/listinfo/llvm-devmeeting">LLVM Developers' Meeting list</a>
for future announcements and to ask questions. 
</p>

<p>
You may also contact the organizer: <a href="mailto:vladimir.subotic@bsc.es">Vladimir Subotic</a>
</p>

<!--
<div class="www_sectiontitle" id="CFP">Call for Paper</div>

<p>
We invite academic, industrial and hobbyist speakers to present their work on
developing or using LLVM, Clang, etc. Proposals for technical presentations,
posters, workshops, demonstrations and BoFs are welcome. Material will be chosen
to cover a broad spectrum of themes and topics at various depths, some technical
deep-diving, some more community focused.
</p>

<p>
We are looking for:
</p>
<ul>
<li>Keynote speakers.</li>
<li>Technical presentations (30 minutes plus questions and discussion) related to the
  development of LLVM, Clang, LLD, LLDB, Polly, ...</li>
<li>Presentations relating to academic or commercial use of LLVM, Clang etc.</li>
<li>Lightning talks (5 minutes, no questions, no discussion).</li>
<li>Workshops and in-depth tutorials (1-2 hours - please specify in your submission).</li>
<li>Poster presentations.</li>
<li>Birds of a Feather sessions (BoFs).</li>
</ul>

<p>
The deadline for receiving submissions is <del>January 25, 2016</del> <ins>January 29, 2016</ins>.
</p>

<p>
Submissions should be done using the <a href="https://easychair.org/conferences/?conf=eurollvm2016"> Easychair</a> platform.
</p>

<p>
Please note that presentation materials and videos for the technical sessions
will be posted on llvm.org after the conference. We have reserved additional
spots for speakers, such that they can attend the conference even though we
have reached our registration limit.
</p>

<p>
In terms of submission style, we are looking for:
</p>
<ul>
  <li>A title and an extended abstract,</li>
</ul>
<p>
            OR
</p>
<ul>
  <li>A title, abstract and slides.</li>
</ul>

<p>
Please make clear the status of the slides (are they a skeleton of your
presentation with the detail missing ?), or, perhaps a section of detail that
lacks introduction and conclusions?  Also make sure to give enough information
in the extended abstract: the more you can give us and tell us the easier it
will be for us to be positive about your submission. 
</p>

<p>
Proposals that are not sufficiently detailed (talks lacking a comprehensive
abstract for example) are likely to be rejected. Slides and posters must be
in PDF format.
</p>

<p>
The call for paper is over since January 29, 2016.
</p>

<p>
The program committee is now working hard at reviewing all submissions.
</p>

<p>
The program committee attempts to reflects the diversity of our community.
It consists of David Chisnall, Sanjoy Das, Tobias Edler von Koch,
Arnaud de Grandmaison, Hal Finkel, Renato Golin, Tobias Grosser,
Tanya Lattner, David Majnemer, James Molloy, Adam Nemet.
</p>

<p>
Speakers will be notified of acceptance or rejection by February 15th, 2016.
</p>
-->

<div class="www_sectiontitle" id="schedule">Schedule</div>

<p>
The schedule may be found here: <a href="https://2016europeanllvmdevelopersmeetin.sched.org">https://2016europeanllvmdevelopersmeetin.sched.org</a>
</p>

<div class="www_sectiontitle" id="SlidesAndVideos">Slides &amp; Videos</div>
<table id="devmtg">
  <tr><th>Media</th><th>Talk / Presenter(s)</th></tr>
  <tr><td>
    <a href="Presentations/Clang-LibCPlusPlus-CPlusPlusStandard.pdf"><b>Slides</b></a></br>
    <a href="https://youtu.be/zQ9tT8fbtSo"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation1">Clang, libc++ and the C++ standard</a></b><br>
    <i>Marshall Clow - Qualcomm</i><br>
    <i>Richard Smith - Google</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/CodeletExtractorAndREplayer.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/7sVnjJlZTW4"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation2">Codelet Extractor and REplayer</a></b><br>
    <i>Chadi Akel - Exascale Computing Research</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/EuroLLVM 2016- New LLD linker for ELF.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/CYCRqjVa6l4"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation3">New LLD linker for ELF</a></b><br>
    <i>Rui Ueyama - Google</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/X86CodeSizePDF.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/yHexQSFud3w"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation4">Improving LLVM Generated Code Size for X86 Processors</a></b><br>
    <i>David Kreitzer - Intel</i><br>
    <i>Zia Ansari - Intel</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/Beyls2016_AmelioratingMeasurmentBias.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/COmfRpnujF8"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation5">Towards ameliorating measurement bias in evaluating performance of generated code</a></b><br>
    <i>Kristof Beyls - ARM</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/AnastasiaStulova_OpenCL20_EuroLLVM2016.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/3yzL2loPtgM"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation6">A journey of OpenCL 2.0 development in Clang</a></b><br>
    <i>Anastasia Stulova - ARM</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/BOLT_EuroLLVM_2016.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/gw3iDO3By5Y"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation7">Building a binary optimizer with LLVM</a></b><br>
    <i>Maksim Panchenko - Facebook</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/SVF_EUROLLVM2016.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/nD-i-enA8rc"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation8">SVF: Static Value-Flow Analysis in LLVM</a></b><br>
    <i>Yulei Sui - University of New South Wales</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/EuroLLVM_ChrisDiamand.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/duoA1eWwE0E"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation9">Run-time type checking with clang, using libcrunch</a></b><br>
    <i>Chris Diamand - University of Cambridge</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/Molly.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/fKW3yjhcrh0"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation10">Molly: Parallelizing for Distributed Memory using LLVM</a></b><br>
    <i>Michael Kruse - INRIA/ENS</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/polly-gpu-eurollvm.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/MOX4TxRIijg"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation11">How Polyhedral Modeling enables compilation to Heterogeneous Hardware</a></b><br>
    <i>Tobias Grosser - ETH</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/EuroLLVM2016-E.Crawford_and_L.Drummond-Bringing_RenderScript_to_LLDB.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/BBC61L0QKCM"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation12">Bringing RenderScript to LLDB</a></b><br>
    <i>Luke Drummond - Codeplay</i><br>
    <i>Ewan Crawford - Codeplay</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/Offload-EuroLLVM2016.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/YKX6EMEib4g"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation13">C++ on Accelerators: Supporting Single-Source SYCL and HSA Programming Models Using Clang</a></b><br>
    <i>Victor Lomuller - Codeplay</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/eurollvm-2016-arm-code-size.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/cFgwEEBw7U0"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation14">A closer look at ARM code size</a></b><br>
    <i>Tilmann Scheller - Samsung Electronics</i>
  </td></tr>

  <tr><td>
    <a href="Presentations/Barcelona2016report.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/2YSzLyBO4yM"><b>Video</b></a>
  </td><td>
    <b><a href="#presentation15">Scalarization across threads</a></b><br>
    <i>Alexander Timofeev - Luxoft</i>
  </td></tr>

  <tr><td>
    <a href="Tutorials/LLDB-tutorial.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/9hhDZeV0fYU"><b>Video</b></a>
  </td><td>
    <b><a href="#tuto1">LLDB Tutorial: Adding debugger support for your target</a></b><br>
    <i>Deepak Panickal - Codeplay</i><br>
    <i>Andrzej Warzynski - Codeplay</i>
  </td></tr>

  <tr><td>
    <a href="Tutorials/applied-polyhedral-compilation.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/mXve_W4XU2g"><b>Video</b></a>
  </td><td>
    <b><a href="#tuto2">Analyzing and Optimizing your Loops with Polly</a></b><br>
    <i>Tobias Grosser - ETH</i><br>
    <i>Johannes Doerfert - Saarland University</i>
  </td></tr>

  <tr><td>
    <a href="Tutorials/Tutorial.pdf"><b>Slides</b></a><br>
    <a href="https://youtu.be/Z5KcwVaak3s"><b>Video</b></a>
  </td><td>
    <b><a href="#tuto3">Building, Testing and Debugging a Simple out-of-tree LLVM Pass</a></b><br>
    <i>Serge Guelton - Quarkslab</i><br>
    <i>Adrien Guinet - Quarkslab</i>
  </td></tr>

  <tr><td>
    <a href="https://youtu.be/TkanbGAG_Fo"><b>Video</b></a>
  </td><td>
    <b><a href="#LightningTalksAbstracts">Lightning talks</a></b>
  </td></tr>
</table>

<div class="www_sectiontitle" id="PresentationsAbstracts">Presentations abstracts</div>
<p>
<b><a id="presentation1">Clang, libc++ and the C++ standard</a></b><br>
<i>Marshall Clow - Qualcomm</i><br>
<i>Richard Smith - Google</i><br>
<a href="Presentations/Clang-LibCPlusPlus-CPlusPlusStandard.pdf"><b>Slides</b></a>
<a href="https://youtu.be/zQ9tT8fbtSo"><b>Video</b></a><br>
The C++ standard is evolving at a fairly rapid pace. After almost 15 years of
little change (1998-2010), we've had major changes in 2011, 2014, and soon
(probably) 2017. There are many parallel efforts to add new functionality to
the language and the standard library.
</p><p>
In this talk, we will discuss upcoming changes to the language and the standard
library, how they will affect existing code, and their implementation status in
LLVM. 
</p>

<p>
<b><a id="presentation2">Codelet Extractor and REplayer</a></b><br>
<i>Chadi Akel - Exascale Computing Research</i><br>
<i>Pablo De Oliveira Castro - University of Versailles</i><br>
<i>Michel Popov - University of Versailles</i><br>
<i>Eric Petit - University of Versailles</i><br>
<i>William Jalby - University of Versailles</i><br>
<a href="Presentations/CodeletExtractorAndREplayer.pdf"><b>Slides</b></a>
<a href="https://youtu.be/7sVnjJlZTW4"><b>Video</b></a><br>
Codelet Extractor and REplayer (CERE) is an LLVM-based framework that finds and
extracts hotspots from an application as isolated fragments of code. Codelets
can be modified, compiled, run, and measured independently from the original
application. Through performance signature clustering, CERE extracts a minimal
but representative codelet set from applications, which can significantly
reduce the cost of benchmarking and iterative optimization. Codelets have
proved successful in auto-tuning target architecture, compiler optimization or
amount of parallelism. To do so, CERE goes trough multiple llvm passes. It
first outlines at IR level the loop to capture into a function using
CodeExtractor pass. Then, depending on the mode, CERE inserts the necessary
instructions to either capture or replay the loop. Probes can also be inserted
at IR level around loops to enable instrumentation through externals libraries.
Finally CERE also provides a python interface to easily use the tool.
</p>

<p>
<b><a id="presentation3">New LLD linker for ELF</a></b><br>
<i>Rui Ueyama - Google</i><br>
<a href="Presentations/EuroLLVM 2016- New LLD linker for ELF.pdf"><b>Slides</b></a>
<a href="https://youtu.be/CYCRqjVa6l4"><b>Video</b></a><br>
Since last year, we have been working to rewrite the ELF support in LLD, the
LLVM linker, to create a high-performance linker that works as a drop-in
replacement for the GNU linker. It is now able to bootstrap LLVM, Clang, and
itself and pass all tests on x86-64 Linux and FreeBSD. The new ELF linker is
small and fast; it is currently fewer than 10k lines of code and about 2x
faster than GNU gold linker.
</p><p>
In order to achieve this performance, we made a few important decisions in the
design. This talk will present the design and the performance of the new ELF LLD.
</p>

<p>
<b><a id="presentation4">Improving LLVM Generated Code Size for X86 Processors</a></b>
<i>David Kreitzer - Intel</i><br>
<i>Zia Ansari - Intel</i><br>
<i>Andrey Turetskiy - Intel</i><br>
<i>Anton Nadolsky - Intel</i><br>
<a href="Presentations/X86CodeSizePDF.pdf"><b>Slides</b></a>
<a href="https://youtu.be/yHexQSFud3w"><b>Video</b></a><br>
Minimizing the size of compiler generated code often takes a back seat to other
optimization objectives such as maximizing the runtime performance. For some
applications, however, code size is of paramount importance, and this is an
area where LLVM has lagged gcc when targeting x86 processors. Code size is of
particular concern in the microcontroller segment where programs are often
constrained by a relatively small and fixed amount of memory. In this
presentation, we will detail the work we did to improve the generated code size
for the SPEC CPU2000 C/C++ benchmarks by 10%, bringing clang/LLVM to within 2%
of gcc. While the quoted numbers were measured targeting Intel&reg; Quark&trade;
microcontroller D2000, most of the individual improvements apply to all X86
targets. The code size improvement was achieved via new optimizations, tuning
of existing optimizations, and fixing existing inefficiencies. We will describe
our analysis methodology, explain the impact and LLVM compiler fix for each
improvement opportunity, and describe some opportunities for future code size
improvements with an eye toward pushing LLVM ahead of gcc on code size.
</p>

<p>
<b><a id="presentation5">Towards ameliorating measurement bias in evaluating performance of generated code</a></b><br>
<i>Kristof Beyls - ARM</i><br>
<a href="Presentations/Beyls2016_AmelioratingMeasurmentBias.pdf"><b>Slides</b></a>
<a href="https://youtu.be/COmfRpnujF8"><b>Video</b></a><br>
To make sure LLVM continues to optimize code well, we use both post-commit
performance tracking and pre-commit evaluation of new optimization patches. As
compiler writers, we wish that the performance of code generated could be
characterized by a single number, making it straightforward to decide from an
experiment whether code generation is better or worse. Unfortunately,
performance of generated code needs to be characterized as a distribution,
since effects not completely under control of the compiler, such as heap, stack
and code layout or initial state in the processors prediction tables, have a
potentially large influence on performance. For example, it's not uncommon when
benchmarking a new optimization pass that clearly makes code better, the
performance results do show some regressions. But are these regressions due to
a problem with the patch, or due to noise effects not under the control of the
compiler?  Often, the noise levels in performance results are much larger than
the expected improvement a patch will make. How can we properly conclude what
the true effect of a patch is when the noise is larger than the signal we're
looking for?
</p><p>
When we see an experiment that shows a regression while we know that on
theoretical grounds the generated code is better, we see a symptom of only
measuring a single sample out of the theoretical space of all
not-under-the-compiler's-control factors, e.g. code and data layout variation.
</p><p>
In this presentation I'll explain this problem in a bit more detail; I'll
summarize suggestions for solving this problem from academic literature; I'll
indicate what features in LNT we already have to try and tackle this problem;
and I'll show the results of my own experiments on randomizing code layout to
try and avoid measurement bias.
</p>

<p>
<b><a id="presentation6">A journey of OpenCL 2.0 development in Clang</a></b><br>
<i>Anastasia Stulova - ARM</i><br>
<a href="Presentations/AnastasiaStulova_OpenCL20_EuroLLVM2016.pdf"><b>Slides</b></a>
<a href="https://youtu.be/3yzL2loPtgM"><b>Video</b></a><br>
In this talk we would like to highlight some of the recent collaborative work
among several institutions (namely ARM, Intel, Tampere University of
Technology, and others) for supporting OpenCL 2.0 compilation in Clang. This
work is represented by several patches to Clang upstream that enable
compilation of the new standard. While the majority of this work is already
committed, some parts are still a work in progress that should be finished in
the upcoming months. 
</p><p>
OpenCL is a C99 based language, standardized and developed by the Khronos Group
(<a href="http://www.khronos.org">www.khronos.org</a>), intended to describe
data-parallel general purpose computations. OpenCL 2.0 provides several new
features that require compiler support, i.e. generic address space, atomics,
program scope variables, pipes, and device side enqueue. In this talk we will
give a quick overview of each of these features and the compiler support that
had/has to be added. We will focus on the benefits of reusing existing C/OpenCL
compiler features as well as difficulties not foreseen with the previous
design. At the end of this session we would like to invite people to
participate in discussions on improvements and future work, and get an opinion
of what they think could be useful for them.
</p>

<p>
<b><a id="presentation7">Building a binary optimizer with LLVM</a></b><br>
<i>Maksim Panchenko - Facebook</i><br>
<a href="Presentations/BOLT_EuroLLVM_2016.pdf"><b>Slides</b></a>
<a href="https://youtu.be/gw3iDO3By5Y"><b>Video</b></a><br>
Large-scale applications in data centers are built with the highest level of
compiler optimizations and typically use a carefully tuned set of compiler
options as every single percent of performance could result in vast savings of
power and CPU time. However, code and code-layout optimizations don't stop at
compiler level, as further improvements are possible at link-time and beyond
that.
</p><p>
At Facebook we use a linker script for an optimal placement of functions in
HHVM binary to eliminate instruction-cache misses. Recently, we've developed a
binary optimization technology that allows us to further cut instruction cache
misses and branch mis-predictions resulting in even greater performance wins.
</p><p>
In this talk we would like to share technical details of how we've used LLVM's
MC infrastructure and ORC layered approach to code generation to build in a
short time a system that is being deployed to one of the world's biggest data
centers.  The static binary optimization technology we've developed, uses
profile data generated in multi-threaded production environment, and is
applicable to any binary compiled from well-formed C/C++ and even assembly. At
the moment we use it on a 140MB of X86 binary code compiled from C/C++. The
input binary has to be un-stripped and does not have any special requirements
for compiler or compiler options.  In our current implementation we were able
to improve I-cache misses by 7% on top of a linker script for HHVM binary.
Branch mis-predictions were improved by 5%.
</p><p>
As with many projects at Facebook, our plan is to open source our binary
optimizer. 
</p>

<p>
<b><a id="presentation8">SVF: Static Value-Flow Analysis in LLVM</a></b><br>
<i>Yulei Sui - University of New South Wales</i><br>
<i>Peng Di - University of New South Wales</i><br>
<i>Ding Ye - University of New South Wales</i><br>
<i>Hua Yan - University of New South Wales</i><br>
<i>Jingling Xue - University of New South Wales</i><br>
<a href="Presentations/SVF_EUROLLVM2016.pdf"><b>Slides</b></a>
<a href="https://youtu.be/nD-i-enA8rc"><b>Video</b></a><br>
This talk presents SVF, a research tool that enables scalable and precise
interprocedural Static Value-Flow analysis for sequential and multithreaded C
programs by leveraging recent advances in sparse analysis. SVF, which is fully
implemented in LLVM (version 3.7.0) with over 50 KLOC core C++ code, allows
value-flow construction and pointer analysis to be performed in an iterative
manner, thereby providing increasingly improved precision for both. SVF accepts
points-to information generated by any pointer analysis (e.g., Andersen's
analysis) and constructs an interprocedural memory SSA form, in which the
def-use chains of both top-level and address-taken variables are captured. Such
value-flows can be subsequently exploited to support various forms of program
analysis or enable more precise pointer analysis (e.g., flow-sensitive
analysis) to be performed sparsely. SVF provides an extensible interface for
users to write their own analysis easily. SVF is publicly available at
<a href="http://unsw-corg.github.io/SVF">http://unsw-corg.github.io/SVF</a>.
</p><p>
We first describe the design and internal workings of SVF, based on a
years-long effort in developing the state-of-the-art algorithms of precise
pointer analysis, memory SSA construction and value-flow analysis for C
programs. Then, we describe the implementation details with code examples in
the form of LLVM IR. Next, we discuss some usage scenarios and our previous
experiences in using SVF in several client applications including detecting
software bugs (e.g., memory leaks, data races), and accelerating dynamic
program analyses (e.g., MSAN, TSAN). Finally, our future work and some open
discussions.
</p><p>
Note: this presentation will be shared with CC.
</p>

<p>
<b><a id="presentation9">Run-time type checking with clang, using libcrunch</a></b><br>
<i>Chris Diamand - University of Cambridge</i><br>
<i>Stephen Kell - Computer Laboratory, University of Cambridge</i><br>
<i>David Chisnall - Computer Laboratory, University of Cambridge</i><br>
<a href="Presentations/EuroLLVM_ChrisDiamand.pdf"><b>Slides</b></a>
<a href="https://youtu.be/duoA1eWwE0E"><b>Video</b></a><br>
Existing sanitizers ASan and MSan add run-time checking for memory
errors, both spatial and temporal. However, currently there is no
analogous way to check for type errors. This talk describes a system for
adding run-time type checks, largely checking pointer casts, at the
Clang AST level.
</p><p>
Run-time type checking is important for three reasons. Firstly, type
bugs such as bad pointer casts can lead to type-incorrect accesses that
are spatially valid (in bounds) and temporally valid (accessing live
memory), so are missed by MSan or ASan. Secondly, type-incorrect
accesses which do trigger memory errors often do so only many
instructions later, meaning that spatial or temporal violation warnings
fail to pinpoint the root problem, making debugging difficult. Finally,
given an awareness of type, it becomes possible to perform more precise
spatial and temporal checking -- for example, recalculating pointer
bounds after a cast, or perhaps even mark-and-sweep garbage collection.
</p><p>
Although still a research prototype, libcrunch can cope well with real C
codebases, and supports a good complement of awkward language features.
Experience shows that libcrunch reliably finds questionable pointer use,
and often uncovers minor other bugs. It also naturally detects certain
format string exploits. However, its main value is in debugging fresh,
not-yet-committed code ("why is this segfaulting?"). Beside the warnings
generated by failing checks, the runtime API is also available from the
debugger, so can interactively answer questions like "what type is this really
pointing to?". 
</p>

<p>
<b><a id="presentation10">Molly: Parallelizing for Distributed Memory using LLVM</a></b><br>
<i>Michael Kruse - INRIA/ENS</i><br>
<a href="Presentations/Molly.pdf"><b>Slides</b></a>
<a href="https://youtu.be/fKW3yjhcrh0"><b>Video</b></a><br>
Motivated by modern day physics which in addition to experiments also tries to
verify and deduce laws of nature by simulating the state-of-the-art physical
models using large computers, we explore means of accelerating such simulations
by improving the simulation programs they run. The primary focus is Lattice
Quantum Chromodynamics (QCD), a branch of quantum field theory, running on IBM
newest supercomputer, the Blue Gene/Q.
</p><p>
Molly is an LLVM compiler extension, complementary to Polly, which optimizes
the distribution of data and work between the nodes of a cluster machine such
as Blue Gene/Q. Molly represents arrays using integer polyhedra and uses
another already existing compiler extension Polly which represents statements
and loops using polyhedra. When Molly knows how data is distributed among the
nodes and where statements are executed, it adds code that manages the data
flow between the nodes. Molly can also permute the order of data in memory.
</p><p>
Molly's main task is to cluster data into sets that are sent to the same target
into the same buffer because single transfers involve a massive overhead. We
present an algorithm that minimizes the number of transfers for unparametrized
loops using anti-chains of data flows. In addition, we implement a heuristic
that takes into account how the programmer wrote the code. Asynchronous
communication primitives are inserted right after the data is available
respectively just before it is used. A runtime library implements these
primitives using MPI. Molly manages to distribute any code that is
representable in the polyhedral model, but does so best for stencils codes such
as Lattice QCD. Compiled using Molly, the Lattice QCD stencil reaches 2.5% of
the theoretical peak performance. The performance gap is mostly because all the
other optimizations are missing, such as vectorization. Future versions of
Molly may also effectively handle non-stencil codes and use make use of all the
optimizations that make the manually optimized Lattice QCD stencil fast.
</p>

<p>
<b><a id="presentation11">How Polyhedral Modeling enables compilation to Heterogeneous Hardware</a></b><br>
<i>Tobias Grosser - ETH</i><br>
<a href="Presentations/polly-gpu-eurollvm.pdf"><b>Slides</b></a>
<a href="https://youtu.be/MOX4TxRIijg"><b>Video</b></a><br>
Polly, as a polyhedral loop optimizer for LLVM, is not only a sophisticated
tool for data locality optimizations, but also has precise information about
loop behavior that can be used to automatically generate accelerator code.
</p><p>
In this presentation we present a set of new Polly features that have been
introduced throughout the last two years (and as part of two GSoC projects)
that enable the use of Polly in the context of compilation for heterogeneous
systems. As part of this presentation we discuss how we use Polly to derive the
precise memory footprints of compute regions for both flat arrays as well as
multi-dimensional arrays of parametric size. We then present a new, high-level
interface that allows for the automatic remapping of memory access functions to
new locations or data-layouts and show how this functionality can be used to
target software managed caches. Finally, we present our latest results in terms
of automatic PTX/CUDA code generation using Polly as a core component. 
</p>

<p>
<b><a id="presentation12">Bringing RenderScript to LLDB</a></b><br>
<i>Luke Drummond - Codeplay</i><br>
<i>Ewan Crawford - Codeplay</i><br>
<a href="Presentations/EuroLLVM2016-E.Crawford_and_L.Drummond-Bringing_RenderScript_to_LLDB.pdf"><b>Slides</b></a>
<a href="https://youtu.be/BBC61L0QKCM"><b>Video</b></a><br>
RenderScript is Android's compute framework for parallel computation via
heterogeneous acceleration. It supports multiple target architectures and uses
a two-stage compilation process, with both off-line and on-line stages, using
LLVM bitcode as its intermediate representation. This split allows code to be
written and compiled once, before execution on multiple architectures
transparently from the perspective of the programmer.
</p><p>
In this talk, we give a technical tour of our upstream RenderScript LLDB
plugin, and how it interacts with Android applications executing RenderScript
code. We provide a brief overview of RenderScript, before delving into the LLDB
specifics. We will discuss some of the challenges that we encountered in
connecting to the runtime, and present some of the specific implementation
techniques we used to hook into it and inspect its state. In addition, we will
describe how we tweaked LLDB's JIT compiler for expression evaluation, and how
we added commands specific to RenderScript data objects. This talk will cover
topics such as the plug-in architecture of LLDB, the debugger's powerful hook
mechanism, remote debugging, and generating debug information with LLVM.
</p>

<p>
<b><a id="presentation13">C++ on Accelerators: Supporting Single-Source SYCL and HSA Programming Models Using Clang</a></b><br>
<i>Victor Lomuller - Codeplay</i><br>
<i>Ralph Potter - Codeplay</i><br>
<i>Uwe Dolinsky - Codeplay</i><br>
<a href="Presentations/Offload-EuroLLVM2016.pdf"><b>Slides</b></a>
<a href="https://youtu.be/YKX6EMEib4g"><b>Video</b></a><br>
Heterogeneous systems have been massively adopted across a wide range of
devices. Multiple initiatives, such as OpenCL and HSA, have appeared to
efficiently program these types of devices.
</p><p>
Recent initiatives attempt to bring modern C++ applications to heterogeneous
devices. The Khronos Group published SYCL in mid-2015. SYCL offers a
single-source C++ programming environment built on top of OpenCL. Codeplay and
the University of Bath are currently collaborating on a C++ front-end for HSAIL
(HSA Intermediate Language) from the HSA Foundation. Both models use a similar
single-source C++ approach, in which the host and device kernel C++ code is
interleaved. A kernel always starts using specific function calls, which take a
functor object. To support the compilation of these two high-level programming
models, Codeplay's compilers rely on a common engine based on Clang and LLVM to
extract and manipulate those kernels.
</p><p>
In this presentation we will briefly present both programming models and then
focus on Codeplay's usage of Clang to manage both models.
</p>

<p>
<b><a id="presentation14">A closer look at ARM code size</a></b><br>
<i>Tilmann Scheller - Samsung Electronics</i><br>
<a href="Presentations/eurollvm-2016-arm-code-size.pdf"><b>Slides</b></a>
<a href="https://youtu.be/cFgwEEBw7U0"><b>Video</b></a><br>
The ARM LLVM backend has been around for many years and generates high quality
code which executes very efficiently. However, LLVM is also increasingly used
for resource-constrained embedded systems where code size is more of an issue.
Historically, very few code size optimizations have been implemented in LLVM.
When optimizing for code size, GCC typically outperforms LLVM significantly.
</p><p>
The goal of this talk is to get a better understanding of why the GCC-generated
code is more compact and also about finding out what we need to do on the LLVM
side to address those code size deficiencies. As a case study we will have a
detailed look at the generated code of an application running on a
resource-constrained microcontroller.
</p>

<p>
<b><a id="presentation15">Scalarization across threads</a></b><br>
<i>Alexander Timofeev - Luxoft</i><br>
<i>Boris Ivanovsky - Luxoft</i><br>
<a href="Presentations/Barcelona2016report.pdf"><b>Slides</b></a>
<a href="https://youtu.be/2YSzLyBO4yM"><b>Video</b></a><br>
Some of the modern highly parallel architectures include separate vector
arithmetic units to achieve better performance on parallel algorithms. On the
other hand, real world applications never operate on vector data only. In most
cases whole data flow is intended to be processed by vector units. In fact,
vector operations on some platforms (for instance, with massive data
parallelism) may be expensive, especially for parallel memory operations.
Sometimes instructions operating on vectors of identical values could be
transformed into corresponding scalar form.
</p><p>
The goal of this presentation is to outline a technique which allows to split
program data flow to separate vector and scalar parts so that they can be
executed on vector and scalar arithmetic units separately.
</p><p>
The analysis has been implemented in the HSA compiler as an iterative solver
over SSA form. The result of the analysis is a set of memory operations
legitimate to be transformed into a scalar form. The subsequent transformations
resulted in a small performance increase across the board, and gain up to 10%
increase in a few benchmarks, one of them being HEVC decoder. 
</p>

<div class="www_sectiontitle" id="TutorialsAbstracts">Tutorials abstracts</div>
<p>
<b><a id="tuto1">LLDB Tutorial: Adding debugger support for your target</a></b><br>
<i>Deepak Panickal - Codeplay</i><br>
<i>Andrzej Warzynski - Codeplay</i><br>
<a href="Tutorials/LLDB-tutorial.pdf"><b>Slides</b></a>
<a href="https://youtu.be/9hhDZeV0fYU"><b>Video</b></a><br>
This tutorial explains how to get started with adding a new architecture to
LLDB. It walks through all the major steps required and how LLDB's various
plugins work together in making this a maintainable and easily approachable
task. It will cover: basic definition of the architecture, implementing
register read/write through adding a RegisterContext, manipulating breakpoints,
single-stepping, adding an ABI for stack walking, adding support for
disassembly of the architecture, memory read/write through modifying Process
plugins, and everything else that is needed in order to provide a usable
debugging experience. The required steps will be demonstrated for a RISC
architecture not yet supported in LLDB, but simple enough so that no expert
knowledge of the underlying target is required. Practical debugging tips, as
well as solutions to common issues, will be given.
</p>

<p>
<b><a id="tuto2">Analyzing and Optimizing your Loops with Polly</a></b><br>
<i>Tobias Grosser - ETH</i><br>
<i>Johannes Doerfert - Saarland University</i><br>
<i>Zino Benaissa - Quic Inc.</i><br>
<a href="Tutorials/applied-polyhedral-compilation.pdf"><b>Slides</b></a>
<a href="https://youtu.be/mXve_W4XU2g"><b>Video</b></a><br>
The Polly Loop Optimizer is a framework for the analysis and optimization of
(possibly imperfectly) nested loops. It provides various transformations such
as loop fusion, loop distribution, loop tiling as well as outer loop
vectorization. In this tutorial we introduce the audience to the Polly loop
optimizer and show how Polly can be used to analyze and improve the performance
of their code. We start off with basic questions such as "Did Polly understand
my loops?", "What information did Polly gather?", "How does the optimized loop
nest look like?", "Can I provide more information to enable better
optimizations?", and "How can I utilize Polly's analysis for other purposes?".
Starting from these foundations we continue with a deeper look in more advanced
uses of Polly: This includes the analysis and optimization of some larger
benchmarks, the programming interfaces to Polly as well as the connection
between Polly and other LLVM-IR passes. At the end of this tutorial we expect
the audience to not only be able to optimize their codes with Polly, but also
to have a first understanding of how to use it as a framework to implement
their own loop transformations.
</p>

<p>
<b><a id="tuto3">Building, Testing and Debugging a Simple out-of-tree LLVM Pass</a></b><br>
<i>Serge Guelton - Quarkslab</i><br>
<i>Adrien Guinet - Quarkslab</i><br>
<a href="Tutorials/Tutorial.pdf"><b>Slides</b></a>
<a href="https://youtu.be/Z5KcwVaak3s"><b>Video</b></a><br>
This tutorial aims at providing solid ground to develop out-of-tree LLVM passes.
It presents all the required building blocks, starting from scratch: cmake
integration, llvm pass management, opt / clang integration. It presents the core
IR concepts through two simple obfuscating passes: the SSA form, the CFG, PHI
nodes, IRBuilder etc. We also take a quick tour on analysis integration through
dominators. Finally, it showcases how to use cl and lit to parametrize and test
the toy passes developed in the tutorial.
</p><p>
Note from the program committee: this was a succesful tutorial at the 2015 US
LLVM dev meeting, and we thought it made sense to have it again for a EuroLLVM
audience, especially when considering we are collocated with CGO and CC.
</p>

<div class="www_sectiontitle" id="LightningTalksAbstracts">Lightning talks abstracts</div>
<p>
<a href="https://youtu.be/TkanbGAG_Fo"><b>Video</b></a> for all lightning talks.<br>
<p>
<b><a id="lightning1">Random Testing of the LLVM Code Generator</a></b><br>
<i>Bevin Hansson - SICS Swedish ICT</i><br>
<a href="Lightning-Talks/RandomTestingOfTheLLVMCodeGenerator.pdf"><b>Slides</b></a><br>
LLVM is a large, complex piece of software with many interlocking components.
Testing a system of this magnitude is an arduous task. Random testing is an
increasingly popular technique used to test complex systems. A successful
example of this is Csmith, a tool which generates random, semantically valid C
programs.
</p><p>
We present a generic method to generate random but structured intermediate
representation code. Our method is implemented in LLVM to generate random
Machine IR code for testing the post-instruction selection stages of code
generation.
</p>

<p>
<b><a id="lightning2">ARCHER: Effectively Spotting Data Races in Large OpenMP Applications</a></b><br>
<i>Simone Atzeni - University of Utah</i><br>
<i>Ganesh Gopalakrishnan - University of Utah</i><br>
<i>Zvonimir Rakamaric - University of Utah</i><br>
<i>Dong H. Ahn - Lawrence Livermore National Laboratory</i><br>
<i>Ignacio Laguna - Lawrence Livermore National Laboratory</i><br>
<i>Martin Schulz - Lawrence Livermore National Laboratory</i><br>
<i>Gregory L. Lee - Lawrence Livermore National Laboratory</i><br>
<a href="Lightning-Talks/Archer_talk-EuroLLVM-2016.pdf"><b>Slides</b></a><br>
Although the importance OpenMP as a parallel programming model and its adoption
in Clang/LLVM is increasing (OpenMP 3.1 is now fully supported by Clang/LLVM
3.7), existing data-race checkers for OpenMP have high overheads and generate
many false positives. In this work, we propose the first OpenMP data race
checker, ARCHER, that achieves high accuracy and low overheads on large OpenMP
applications. Built on top of LLVM/Clang and the ThreadSanitizer (TSan) dynamic
race checker, ARCHER incorporates scalable happens-before tracking, and
exploits structured parallelism via combined static and dynamic analysis, and
modularly interfaces with OpenMP runtimes. ARCHER significantly outperforms
TSan and Intel Inspector XE, while providing the same or better precision. It
has helped detect critical data races in the Hypre library that is central to
many projects at the Lawrence Livermore National Laboratory (LLNL) and
elsewhere.
</p><p>
Note: this lightning has an associated <a href="#poster1">poster</a>
</p>

<p>
<b><a id="lightning3">Hierarchical Graph Coloring Register Allocation in LLVM</a></b><br>
<i>Aaron Smith - Microsoft Research</i><br>
<a href="Lightning-Talks/HierarchicalGraphColoringRegAlloc-asmith.pdf"><b>Slides</b></a><br>
This talk will present a new register allocator for LLVM based on a
hierarchical graph coloring approach. In this allocator a program's control
structure is represented as a tree of tiles and a two phase algorithm colors
the tiles based on both local and global information. This talk will describe
our implementation in LLVM along with an initial comparison to LLVM's existing
greedy allocator.
</p>

<p>
<b><a id="lightning4">Retargeting LLVM to an Explicit Data Graph Execution (EDGE) Architecture</a></b><br>
<i>Aaron Smith - Microsoft Research</i><br>
<a href="Lightning-Talks/RetargetingLLVMToEDGEArchitecture-asmith.pdf"><b>Slides</b></a><br>
This talk will describe recent work to retarget LLVM to an Explicit Data Graph
Execution (EDGE) architecture. EDGE architectures utilize a hybrid von
Neumann/dataflow execution model which provides out of order execution with
near in-order power efficiency. We will describe the challenges with targeting
an EDGE ISA with LLVM and compare our LLVM based EDGE compiler with a mature
production quality Visual Studio based EDGE toolchain.
</p>

<p>
<b><a id="lightning5">Optimal Register Allocation and Instruction Scheduling for LLVM</a></b><br>
<i>Roberto Casta&ntilde;eda Lozano - SICS &amp; Royal Institute of Technology (KTH)</i><br>
<i>Gabriel Hjort Blindell - Royal Institute of Technology (KTH)</i><br>
<i>Mats Carlsson - SICS</i><br>
<i>Christian Schulte - SICS &amp; Royal Institute of Technology (KTH)</i><br>
<a href="Lightning-Talks/unison.pdf"><b>Slides</b></a><br>
This talk presents Unison - a simple, flexible and potentially optimal tool
that solves register allocation and instruction scheduling simultaneously.
Experiments using MediaBench and Hexagon show that Unison can speed up the code
code generated by LLVM by up to 30%.
</p><p>
Unison is fully integrated with LLVM's code generator and hence can be used as
a complement to the existing heuristic algorithms. From a LLVM developer's
perspective, the ability to deliver optimal code makes Unison a powerful tool
to design and evaluate heuristics. From a user's perspective, Unison allows
compilation time to be traded for code quality beyond the usual -O{0,1,2,3,..}
optimization levels.
</p>

<p>
<b><a id="lightning6">Towards fully open source GPU accelerated molecular dynamics simulation</a></b><br>
<i>Vedran Mileti&cacute; - Heidelberg Institute for Theoretical Studies</i><br>
<i>Szil&aacute;rd P&aacute;ll - Royal Institute of Technology (KTH)</i><br>
<i>Frauke Gr&auml;ter - Heidelberg Institute for Theoretical Studies</i><br>
<a href="Lightning-Talks/miletic-gromacs-amdgpu.pdf"><b>Slides</b></a><br>
Molecular dynamics is a simulation method for studying movements of atoms and
molecules, usually applied in the study of biomolecules and materials. GROMACS
open source molecular dynamics simulator supports GPU acceleration using both
CUDA and OpenCL. While using CUDA is limited to NVIDIA GPUs and NVIDIA
proprietary drivers, compilers and libraries, OpenCL in GROMACS targets both
NVIDIA and AMD GPUs. Until this point, OpenCL in GROMACS was only tested on
proprietary drivers from NVIDIA and AMD.
</p><p>
Advances in AMDGPU LLVM backend and radeonsi Gallium compute stack for Radeon
Graphics Core Next (GCN) GPUs are steadily closing the feature gap between the
open source and proprietary drivers. Recent announcement from AMD regarding the
plan to support the existing open source OpenCL driver and open source their
(currently proprietary) OpenCL driver makes it feasible to run GPU accelerated
molecular dynamics on fully open source OpenCL stack.
</p><p>
Under the guidance and with help from AMD's developers working on LLVM, we are
working on improving AMDGPU LLVM backend, radeonsi Gallium compute stack, and
libclc to support the OpenCL features GROMACS requires to run. The lightning
talk will present the challenges we encountered in the process.
</p>

<p>
<b><a id="lightning7">CSiBE in the LLVM ecosystem</a></b><br>
<i>Gabor Ballabas - Department of Software Engineering, University of Szeged</i><br>
<i>Gabor Loki - Department of Software Engineering, University of Szeged</i><br>
<a href="Lightning-Talks/EuroLLVM_2016_paper_22.pdf"><b>Slides</b></a><br>
More than a decade ago, we have started to set up a code size benchmarking
environment for compilers - called CSiBE - which became the official code size
benchmark of GNU GCC. Since then, lots of open source and industrial compilers
and testing frameworks have integrated it in their system for benchmarking and
testing purpose. Nowadays CSiBE is getting increasing attention on the field of
IoT again. Since the benchmark environment of CSiBE feels old and complex for
the current modularized world, we have started to update its core. We are
extending CSiBE with a user friendly interface, modularized testbeds, support
for embedders and support for LLVM-based compilers (e.g., Clang and Rust). We
will share our experiences and the possibilities about CSiBE for the community.
</p>

<div class="www_sectiontitle" id="PostersAbstracts">Posters abstracts</div>
<p>
<b><a id="poster1">ARCHER: Effectively Spotting Data Races in Large OpenMP Applications</a></b><br>
<i>Simone Atzeni - University of Utah</i><br>
<i>Ganesh Gopalakrishnan - University of Utah</i><br>
<i>Zvonimir Rakamaric - University of Utah</i><br>
<i>Dong H. Ahn - Lawrence Livermore National Laboratory</i><br>
<i>Ignacio Laguna - Lawrence Livermore National Laboratory</i><br>
<i>Martin Schulz - Lawrence Livermore National Laboratory</i><br>
<i>Gregory L. Lee - Lawrence Livermore National Laboratory</i><br>
Although the importance OpenMP as a parallel programming model and its adoption
in Clang/LLVM is increasing (OpenMP 3.1 is now fully supported by Clang/LLVM
3.7), existing data-race checkers for OpenMP have high overheads and generate
many false positives. In this work, we propose the first OpenMP data race
checker, ARCHER, that achieves high accuracy and low overheads on large OpenMP
applications. Built on top of LLVM/Clang and the ThreadSanitizer (TSan) dynamic
race checker, ARCHER incorporates scalable happens-before tracking, and
exploits structured parallelism via combined static and dynamic analysis, and
modularly interfaces with OpenMP runtimes. ARCHER significantly outperforms
TSan and Intel Inspector XE, while providing the same or better precision. It
has helped detect critical data races in the Hypre library that is central to
many projects at the Lawrence Livermore National Laboratory (LLNL) and
elsewhere.
</p><p>
Note: this poster has an associated <a href="#lightning2">lightning talk</a>
</p>

<p>
<b><a id="poster2">Design-space exploration of LLVM pass order with simulated annealing</a></b><br>
<i>Nicholas Timmons - Cambridge University</i><br>
<i>David Chisnall - Cambridge University</i><br>
We undertook an automated design space exploration of the optimisation pass
order and inliner thresholds in Clang using simulated annealing. It was
performed separately on multiple input programs so that the results could be
validated against each other. Superior configurations to the preset
optimisation levels were found, such as those which produce similar run times
to the presets whilst reducing build times, and those which offer improved
run-time performance than the '-O3' optimisation level. Contrary to our
expectation, we also found that the preset optimisation levels did not provide
a uniform distribution in the tradeoff space between run and build-time
performance.
</p>

<p>
<b><a id="poster3">ConSerner: Compiler Driven Context Switches between Accelerators and CPUs</a></b><br>
<i>Ramy Gad - Johannes Gutenberg University</i><br>
<i>Tim Suess - University of Mainz</i><br>
<i>Andre Brinkmann - Johannes Gutenberg-Universit&auml;t Mainz</i><br>
Computer systems provide different heterogeneous resources (e.g., GPUs, DSPs
and FPGAs) that accelerate applications and that can reduce the energy
consumption by using them. Usually, these resources have an isolated memory and
a require target specific code to be written. There exist tools that can
automatically generate target specific codes for program parts, so-called
kernels. The data objects required for a target kernel execution need to be
moved to the target resource memory. It is the programmers' responsibility to
serialize these data objects used in the kernel and to copy them to or from the
resource's memory. Typically, the programmer writes his own serializing
function or uses existing serialization libraries. Unfortunately, both
approaches require code modifications, and the programmer needs knowledge of
the used data structure format. There is a need for a tool that is able to
automatically extract the original kernel data objects, serialize them, and
migrate them to a target resource without requiring intervention from the
programmer.
</p><p>
In this work, we present a tool collection ConSerner that automatically
identifies, gathers, and serializes the context of a kernel and migrates it to
a target resource's memory where a target specific kernel is executed with this
data. This is all done transparently to the programmer. Complex data structures
can be used without making a modification of the program code by a programmer
necessary. Predefined data structures in external libraries (e.g., the STL's
vector) can also be used as long as the source code of these libraries is
available.
</p>

<p>
<b><a id="poster4">Evaluation of State-of-the-art Static Checkers for Detecting Objective-C Bugs in iOS Applications</a></b><br>
<i>Thai San Phan - University of New South Wales</i><br>
<i>Yulei Sui - University of New South Wales</i><br>
The pervasive usage of mobile phone applications is now changing the way
people use traditional software. Smartphone apps generated an impressive USD
35 billion in full-year 2014, and in total 138 billion apps were
downloaded in the year. The last few years have seen an unprecedented number
of people rushing to develop mobile apps. Apple iOS has always played a major
role in the smart-devices industry ever since the evolution of it. On average,
around 45,000 newly developed apps are submitted for release to the iTunes
App Store in 2014. Similar as desktop software, any mobile applications are
prone to bugs and it is difficult to completely make them bug-free. As a
fundamental tool to help programmers effectively locate program defects during
compile time, static analysis approximates the runtime behaviour of a program
without actually executing it. It is extremely helpful to catch bugs earlier during
software development cycle before the produced is shipped in order to avoid
high maintenance cost. This poster is hence to evaluate the state-of-the-art static
checkers for detecting Objective-C bugs to systematically investigate the
advantages and disadvantages of using different checkers on a wide variety bug
patterns in iOS applications.
</p><p>
Objective-C, as the primary language for iOS application, is an object-oriented
superset of C such that it inherits syntax, primitive types and flow control
statements of C. Though it has many new features that distinguish it from C
such as message passing (equivalent to C or Java's method calling), interface
and implementation for objects (equivalent to "class" in C++), garbage collector
or now ARC (C does not have this feature), and most importantly, it is a
runtime-driven language where decisions such as memory allocations, object
creation, reflection API are decided at runtime as oppose to be determined
during compilation. All these features significantly complicated scalable and
precise static analysis.
</p>

<p>
<b><a id="poster5">Stack Size Estimation on Machine-Independent Intermediate Code for OpenCL Kernels</a></b><br>
<i>Stefano Cherubin - Politecnico di Milano</i><br>
<i>Michele Scandale - Politecnico di Milano</i><br>
<i>Giovanni Agosta - Politecnico di Milano</i><br>
Stack size is an important factor in the mapping decision when dealing with
embedded heterogeneous architectures, where fast memory is a scarce resource.
Trying to map a kernel onto a device with insufficient memory may lead to
reduced performance or even failure to run the kernel. OpenCL kernels are
often compiled just-in-time, starting from the source code or an intermediate
machine-independent representation. Precise stack size information, however,
is only available in machine-dependent code. We provide a method for computing
the stack size with sufficient accuracy on machine-independent code, given
knowledge of the target ABI and register file architecture. This method can be
applied to make mapping decisions early, thus avoiding to compile multiple
times the code for each possible accelerator in a complex embedded
heterogeneous system. 
</p>

<p>
<b><a id="poster6">AAP: The Compiler Writer's Architecture from hell</a></b><br>
<i>Simon Cook - Embecosm</i><br>
<i>Edward Jones - Embecosm</i><br>
<i>Jeremy Bennett - Embecosm</i><br>
Contending with the blistering pace of LLVM advancement is a challenge for out
of tree targets. Many out of tree targets, often for widely used embedded
processors, have hardware features which are not well represented by the
mainstream LLVM project.
</p><p>
We introduced An Altruistic Processor (AAP) at EuroLLVM 2015. AAP's
architecture encapsulates as many of these features as possible. AAP is a
RISC, Harvard architecture with up to 64kB of byte addressed data, up to 16MW of
word addressed code, and a configurable register bank of between 4 and 64
registers.
</p><p>
In this poster we will present an update on the AAP architecture. We'll look
at some of the most challenging features, and how we have extended LLVM to
support them. This includes :
</p>
<ul>
  <li>different sizes of code and address pointers,</li>
  <li>how to handle code pointers that do not fit in the default address space,</li>
  <li>operations where stack access is cheaper than register access,</li>
  <li>how to relax call/return when you have multiple return address sizes.</li>
</ul>

<p>
<b><a id="poster7">Automatic Identification of Accelerators for Hybrid HW-SW Execution</a></b><br>
<i>Georgios Zacharopoulos - University of Lugano</i><br>
<i>Giovanni Ansaloni - University of Lugano</i><br>
<i>Laura Pozzi - University of Lugano</i><br>
While the number of transistors that can be put on a chip significantly
increases, as suggested by Moore's law, the dark silicon problem rises. This is
due to the power consumption not dropping at a corresponding rate, which
generates overheating issues. Accelerator-enhanced architectures can provide an
efficient solution to this and lead us to a hybrid HW-SW execution, where
computationally intensive parts can be performed by custom hardware. An
automation of this process is needed, so that applications in high-level
languages can be mapped to hardware and software directly. The process needs,
first, an automatic technique for identifying the parts of the computation that
should be accelerated, and secondly, an automated way of synthesising these
parts onto hardware. Under the scope of this paper, we are focusing on the
first part of this process, and we present the automatic identification of the
most computationally demanding parts, also known as custom instructions. The
state-of-the-art identification approaches have certain limitations, as custom
instruction selection is mostly performed within the scope of single Basic
Blocks. We introduce a novel selection strategy, implemented within the LLVM
framework, that carries out identification beyond the scope of a single Basic
Block and identifies Regions within the Control Flow Graph, as subgraphs of it.
Specific I/O constraints and area occupation metrics are taken into
consideration, in order to obtain Regions that would provide maximum speedup,
under architectural constraints, when transferred to hardware. For our final
experimentation and evaluation phase, kernels from the signal and image
processing domain are evaluated, and promising initial results show that the
identification technique proposed is often capable of mimicking manual designer
decisions.
</p>

<p>
<b><a id="poster8">Static Analysis for Automated Partitioning of Single-GPU Kernels</a></b><br>
<i>Alexander Matz - Ruprecht-Karls University of Heidelberg</i><br>
<i>Christoph Klein - Ruprecht-Karls University of Heidelberg</i><br>
<i>Holger Fr&ouml;ning - Ruprecht-Karls University of Heidelberg</i><br>
GPUs have established themselves in the computing landscape, convincing users
and designers by their excellent performance and energy efficiency. They differ
in many aspects from general-purpose CPUs, for instance their highly parallel
architecture, their thread-collective bulk-synchronous execution model, and
their programming model. Their use has been pushed by the introduction of
data-parallel languages like CUDA or OpenCL.
</p><p>
The inherent domain decomposition principle for these languages ensures a fine
granularity when partitioning the code, typically resulting in a mapping of one
single output element to one thread and reducing the need for work
agglomeration.
</p><p>
The BSP programming paradigm and its associated slackness regarding the ratio
of virtual to physical processors allows effective latency hiding techniques
that make large caching structures obsolete. At the same time, a typical BSP
code exhibits substantial amounts of locality, as the rather flat memory
hierarchy of thread-parallel processors has to rely on large amounts of data
reuse to keep their vast amount of processing units busy.
</p><p>
While these languages are rather easy to learn and use for single GPUs,
programming multiple GPUs has to be done in an explicit and manual fashion that
dramatically increases the complexity. The user has to manually orchestrate
data movements and kernel launches on the different processors. Even though
there exist concepts that span up global addresses like shared-virtual memory,
the significant bandwidth disparity between on-device (GDDR) and off-device
(PCIe) accesses usually results in no performance gains.
</p><p>
We leverage these observations for deriving a methodology to scale out
single-device programs to an execution on multiple devices, aggregating compute
and memory resources. Our approach comprises three steps: 1. collect
information about data dependency and memory access patterns using static code
analysis 2. merge information in order to choose an appropriate partitioning
strategy 3. apply code transformations to implement the chosen partitioning and
insert calls to a dynamic runtime library.
</p>

<div class="www_sectiontitle" id="BoFsAbstracts">BoFs abstracts</div>
<p>
<b><a id="bof1">LLVM Foundation</a></b><br>
<i>LLVM Foundation board of directors</i><br>
<a href="BoF-Minutes/LLVMFoundation.pdf"><b>BoF notes</b></a><br>
This BoF will give the EuroLLVM attendees a chance to talk with some of the
board members of the LLVM Foundation. We will discuss the Code of Conduct and
Apache2 license proposal and answer any questions about the LLVM Foundation.
</p>

<p>
<b><a id="bof2">Compilers in Education</a></b><br>
<i>Roel Jordans - Eindhoven University of Technology</i><br>
<i>Henk Corporaal - Eindhoven University of Technology</i><br>
<a href="BoF-Minutes/CompilersInEducation.pdf"><b>BoF notes</b></a><br>
While computer architecture and hardware optimization is generally well covered
in education, compilers are still often a poorly represented subject. Classical
compiler lecture series seem to mostly cover the front-end parts of the
compiler but usually lack an in-depth discussion of newer optimization and code
generation techniques. Important aspects such as auto-vectorization, complex
instruction support for DSP architectures, and instruction scheduling for
highly parallel for VLIW architectures are often touched only lightly. However,
creating new processor designs requires a properly optimizing compiler in order
for it to be usable by your customers. As such, there is a good market for
well-trained compiler engineers which does not match with the classical style
of teaching compilers in education.
</p><p>
At Eindhoven University of Technology, we are currently starting a new compiler
course that should provide such an improved lecture series to our
students and we plan to make this available to the wider community. The
focus of this lecture series is on tool-flow organization of modern
parallelizing compilers, their internal techniques, and the advantages
and limitations of these techniques. We try to train the students so that
they can understand how the compiler works internally, but also apply
this new knowledge in writing C program code that allows the compiler to
utilize its advanced optimizations to generate better and portable code.
As a result, we hope to provide better qualified compiler engineers, but
also train them to write better high-performance code at a high-level by
applying their compiler knowledge in guiding the compiler to an efficient
implementation of the program.
</p><p>
As part this process we would like to get in contact with institutes and
companies that will be taking advantage of our newly educated students
and discuss with them the contents of our lecture series. What do you
guys think are important topics that new engineers should know about to
be useful in your organization and what would make this course
interesting for yourself? 
</p>

<p>
<b><a id="bof3">Surviving Downstream</a></b><br>
<i>Paul Robinson - Sony Computer Entertainment America</i><br>
<a href="BoF-Minutes/SurvivingDowntream.pdf"><b>BoF notes</b></a><br>
We presented "Living Downstream Without Drowning" as a tutorial/BOF
session at the US LLVM meeting in October. After the session, Paul
had people coming to talk to him for most of the evening social event
and half of the next day (and so missed several other talks!).
Clearly a lot of people are in this situation and there are many
good ideas to share.
</p><p>
Come to this follow-up BOF and share your practices, problems and
solutions for surviving the "flood" of changes from the upstream
LLVM projects.
</p>

<p>
<b><a id="bof4">Polly - Loop Optimization Infrastructure</a></b><br>
<i>Tobias Grosser - ETH</i><br>
<i>Johannes Doerfert - Saarland University</i><br>
<i>Zino Benaissa - Quic Inc.</i><br>
<a href="BoF-Minutes/PollyLoopOptimizationInfrastructure.pdf"><b>BoF notes</b></a><br>
The Polly Loop Optimization infrastructure has seen active development
throughout 2015 with contributions from a larger group of developers located at
various places around the globe. With three successful Polly sessions at the US
developers meeting and larger interest at the recent HiPEAC conference in Prag,
we expect various Polly developers to be able to attend EuroLLVM. To facilitate
in-persona collaboration between the core developers and to reach out to the
wider loop optimization community, we propose a BoF session on Polly and the
LLVM loop optimization infrastructure. Current hot topics are the
usability of Polly in an '-O3' compiler pass sequence, profile driven
optimizations as well as the definition of future development milestones.
The Polly developers community will present ideas on these topics, but
very much invites input from interested attendees.
</p>

<p>
<b><a id="bof5">LLVM on PowerPC and SystemZ</a></b><br>
<i>Ulrich Weigand - IBM</i><br>
<a href="BoF-Minutes/PowerPCAndSystemZ.pdf"><b>BoF notes</b></a><br>
This Birds of a Feather session is intended to bring together
developers and users interested in LLVM on the two IBM platforms
PowerPC and SystemZ.
</p><p>
Topics for discussion include:
</p>
<ul>
  <li> Status of platform support in the two LLVM back ends: feature
       completeness, architecture support, performance, ...</li>
  <li> Platform support in other parts of the overall LLVM portfolio: LLD, LLDB, sanitizers, ...</li>
  <li> Support for new languages and other emerging use cases: Swift, Rust, Impala, ...</li>
  <li> Any other features currently in development for the platform(s)</li>
  <li> User experiences on the platform(s), additional requirements</li>
</ul>

<p>
<b><a id="bof6">How to make LLVM more friendly to out-of-tree consumers ?</a></b><br>
<i>David Chisnall - Computer Laboratory, University of Cambridge</i><br>
<a href="BoF-Minutes/HowToMakeLLVMMoreFriendly.pdf"><b>BoF notes</b></a><br>
LLVM has always had the goal of a library-oriented design.  This implicitly
assumes that the libraries that are parts of LLVM can be used by consumers that
are not part of the LLVM umbrella.  In this BoF, we will discuss how well LLVM
has achieved this objective and what it could do better.  Do you use LLVM in an
external project?  Do you track trunk, or move between releases?  What has
worked well for you, what has caused problems?  Come along and share your
experiences.
</p>

<!-- *********************************************************************** -->
<hr>

<!--#include virtual="../../footer.incl" -->
