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

<div class="www_sectiontitle">LLVM devroom at FOSDEM</div>
<table>
        <tr><td valign="top">
<ol>
        <li><a href="#call">Call for "Papers"</a></li>
        <li><a href="#logistics">Logistics</a></li>
        <li><a href="#register">Registration</a></li>
</ol>
</td><td>
<ul>
  <li><b>What</b>: LLVM at FOSDEM.</li>
  <li><b>When</b>: February 2, 2014</li>
  <li><b>Where</b>: Brussels, Belgium</li>
</ul>
</td></tr></table>

<p>
At FOSDEM 2014, LLVM will for the first time participate with a dedicated
devroom. Complementing the upcoming Euro LLVM 2014, the devroom at FOSDEM
provides a great opportunity for core LLVM developers and the wider open source
community to get together to connect and discuss.
</p>

<p>
As possibly the largest European Open Source Conference, FOSDEM takes place in
Brussels and attracts with more than 400 lectures every year over 5000 hackers -
many core contributors of the worlds leading open source projects.
</p>

<p>
We also invite you to sign up for
the <a href="http://lists.llvm.org/mailman/listinfo/llvm-devmeeting">official
Developer Meeting mailing list</a> to be kept informed of updates concerning the
meeting.
</p>


<div class="www_sectiontitle" id="call">Schedule</div>
<p>

<table id="devmtg">
  <tr><th>Talk</th><th>Slides/videos</th></tr>

  <tr><td><b>Welcome</b><br />Tobias Grosser & Sylvestre Ledru</td><td></td></tr>
  <tr><td><a href="#talk1"><b>Clang: Re-inventing the Compiler</b></a><br />Alp Toker</td><td><a href="slides/toker-clang-reinventing.pdf">Slides</a></td></tr>
  <tr><td><a href="#talk2"><b>Auto-Vectorization in LLVM</b></a><br />Renato Golin</td><td><a href="slides/golin-AutoVectorizationLLVM.pdf">Slides</a></td></tr>

  <tr><td><a href="#talk3"><b>The Avatar project - improving embedded security with S2E, KLEE and Qemu</b></a><br />Luca Bruno</td><td><a href="slides/bruno-avatar.pdf">Slides</a></td></tr>
  <tr><td><a href="#talk4"><b>The LLVMLinux project</b></a><br />Jan-Simon Möller</td><td><a href="slides/moller-llvmlinux.pdf">Slides</a></td></tr>
  <tr><td><a href="#talk5"><b>How to contribute to LLVM</b></a><br />Sylvestre Ledru</td><td><a href="slides/ledru-how-to-contribute-to-llvm.pdf">Slides</a></td></tr>

  <tr><td><a href="#talk6"><b>Two uses cases for the clang C++ parser: Online Code Browser and Qt moc Replacement.</b></a><br />Olivier Goffart</td><td></td></tr>
  <tr><td><a href="#talk7"><b>Statically compiling Ruby with LLVM</b></a><br />Laurent Sansonetti</td><td></td></tr>
  <tr><td><a href="#talk8"><b>LDC - the LLVM-based D compiler</b></a><br />Kai Nacke</td><td></td></tr>
  <tr><td><a href="#talk9"><b>Introduction on KLEE</b></a><br />Daniel Liew</td><td></td></tr>
  <tr><td><a href="#talk10"><b>An approach for energy consumption analysis of programs using LLVM</b></a><br />Neville Grech</td><td></td></tr>
  <tr><td><a href="#talk11"><b>High Level Loop Optimizations in LLVM</b></a><br />Tobias Grosser</td><td></td></tr>
</table>

</p>
<div class="www_sectiontitle" id="abstracts">Talk Abstracts</div>

<p>
<b><a id="talk1">Clang: Re-inventing the Compiler
</a></b><br />
<i>Alp Toker</i><br /> The LLVM clang C++ compiler has exceeded all expectations
in the last year, gaining unprecedented new features that let you explore,
rewrite and rediscover your source code.<br />

This is a talk about the human story of a compiler: What can we achieve going
beyond compilation? Why are we compelled to invent a better wheel? How can we
make everyday life better for coders, and could the compiler itself become an
instrument for wider social change?  <br />

Developed by an eclectic team of academics, supercomputer hobbyists and vendors
including Apple and Google, the LLVM project has proven itself as a hotbed of
innovation leading the renaissance in C-family programming languages, recently
receiving the coveted ACM Software System Award.  <br />

Whether you're a kernel hacker, app developer or front-end designer, clang is
different to other compilers, it's coming to a machine near you in 2014 and may
well impact your work: Here's what you need to know.
</p>

<p>
<b><a id="talk2">Auto-Vectorization in LLVM</a></b><br />
<i>Renato Golin</i><br />
Auto-Vectorization has come a long way since the early vector-processing CPUs,
and compilers generally take a long time to implement it, prioritizing other
more generic features instead. But with all recent high-end chips containing
some form of SIMD operations, auto-vectorization became a necessary feature on
any modern compiler. LLVM was perhaps the latest of the big compilers to have a
decent vectorization engine, but it has grown considerably for the last year,
and the investment on SIMD code generation will not diminish. This presentation
outlines the past implementations, what we currently have available and peeks
into the engineering pipeline to see what else we are working on.
</p>

<p>
<b><a id="talk3">The Avatar project - improving embedded security with S2E, KLEE and Qemu</a></b><br />
<i>Luca Bruno</i><br />

Avatar is a research framework that enables complex dynamic analysis of embedded
devices by orchestrating the execution of an emulator together with the real
hardware.<br />  It is built on top of S2E/Qemu, KLEE and LLVM and its main goal
is to enable advanced security analysis of pristine ARM source-less firmware,
eg. through dynamic tracing or symbolic execution.<br />

This talk will show the key-features of S2E in enabling runtime binary analysis
(using Qemu virtualization and KLEE/LLVM symbolic execution) and how Avatar uses
it to orchestrate analysis and execution at the emulator<->device edge.<br />

To address the growing concerns about the security of embedded systems, it is
important to perform accurate analysis of firmware binaries, even when the
source code or the hardware documentation are not available. Unlike static
analysis, dynamic analysis relies on the ability to execute software in a
controlled environment, which is however difficult due the lack of documentation
and the large variety of subtly different hardware on the market.  <br />

In this talk we present Avatar, a framework that enables such complex analysis
of embedded devices. In particular we will introduce S2E, a C++ project which
leverages several components to do binary emulation, including:

<ul>
<li>Qemu for machine virtualization</li>
<li>LLVM as the IR of choice</li>
<li>KLEE for symbolic execution of LLVM IR</li>
<li>S2E plugins for hooking into data and control flow</li>
</ul>

Then we show the Avatar framework, which acts as an analysis driver, context
switcher and memory forwarder. Avatar is currently written in Python and on top
of basic features, it includes several techniques to improve the system's
performance as well as heuristics to help in vulnerability discovery.  <br />

Both project are FLOSS. S2E is a research project from EPFL, while Avatar is
under development at Eurecom.
</p>


<p>
<b><a id="talk4">The LLVMLinux project</a></b><br />
<i>Jan-Simon Möller</i><br />

Jan-Simon Möller will introduce the audience to the LLVMLinux project which goal
it is to compile the Linux Kernel with the compiler tools provided by the LLVM
project (clang). He will talk about the steps needed to compile the Kernel
itself, the issues found during this endeavour and the status of upstreaming
patches to the Kernel and the LLVM project.
</p>

<p>
<b><a id="talk5">How to contribute to LLVM</a></b><br />
<i>Sylvestre Ledru</i><br />

When starting to contribute to LLVM knowing the technical steps and especially
the community habits can make the first (and upcoming) contribution a lot easier
and the contribution process will become a more positive experience. This talk
will discuss technical points such as your first patch into LLVM, how to get +w
permissions, the various workflow, but also more soft skills such as 'how can I
find a reviewer for my patch', 'should I review patches myself' or 'what is the
right strategy to add a larger feature to LLVM'?
</p>

<p>
<b><a id="talk6">Two uses cases for the clang C++ parser:  Online Code Browser and Qt moc Replacement.
</a></b><br />
<i>Olivier Goffart</i><br />

In this talk we will see how one can use the clang libraries to build two
practical tools.  The first tool is an online C/C++ online code browser that
uses clang to parse the AST in order to provide information about each token and
build a cross reference
database. [<a href="http://code.woboq.org">http://code.woboq.org</a>] The second
tool is a replacement for Qt's moc (meta-object compiler) which is used by Qt to
provide introspection and enable signals and slots and the QML language, both as
a stand alone executable or as a clang
plugin. <a href="http://https://github.com/woboq/moc-ng">http://https://github.com/woboq/moc-ng</a><br />

The talk goes over implementation details and challenges encountered while
developing.

</p>

<p>
<b><a id="talk7">Statically compiling Ruby with LLVM - ... or how RubyMotion works internally</a></b><br />
<i>Laurent Sansonetti</i><br />


RubyMotion is a commercial implementation of the Ruby language for iOS and OS X
development. RubyMotion makes intensive use of LLVM in order to statically
compile Ruby. In this session we will focus on how RubyMotion uses LLVM also a
bit of history with the MacRuby project (which uses LLVM as a JIT).  <br />

RubyMotion is a commercial implementation of the Ruby language for iOS and OS X
development. The RubyMotion toolchain lets Ruby developers write full-fledged
native applications for iPhone, iPad and the Mac. RubyMotion apps are statically
compiled into optimized machine code.  <br />

RubyMotion makes intensive use of LLVM in order to statically compile Ruby and
target various architectures. In this session we will focus on how RubyMotion
uses LLVM, the challenges that we had to solve in order to compile Ruby, some of
the various codegen optimizations we implemented and how we integrate with
profiling/debugging tools. We will also cover the mistakes we learned from the
MacRuby project, which uses LLVM a bit differently.  <br />

(This presentation will only focus on the internals of RubyMotion. We will not
cover Ruby, RubyMotion or iOS/OS X development.)

</p>

<p>
<b><a id="talk8">LDC - the LLVM-based D compiler
</a></b><br />
<i>Kai Nacke</i><br />
D is a language with C-like syntax and static typing. It
pragmatically combines efficiency, control, and modeling power, with safety and
programmer productivity. Because of its features major companies start to adopt
D.
<br />
LDC is a fully open source, portable D compiler. It uses the frontend from the
reference compiler combined with LLVM as backend to produce efficient native
code. LDC targets x86/x86_64 systems like Linux, OS X and Windows and also
Linux/PPC64. Ports to other architectures like ARM are underway. Currently, LDC
can be built with LLVM 3.1 and all later LLVM releases.
<br />
In my talk, I introduce the overall architecture of LDC first. Using the
frontend AST as starting point I show how types, statements and expression are
mapped to LLVM IR and which LLVM features are required. Experiences with LLVM in
general, porting to other LLVM backends than x86 and integrating features like
the AddressSanitizer are highlighted. At last, areas of improvement for LLVM are
shown from the perspective of a D compiler (ABI, vararg, exception handling).
</p>

<p>
<b><a id="talk9">Introduction on Klee
</a></b><br />
<i>Daniel Liew</i><br />

</p>
<p>
<b><a id="talk10">An approach for energy consumption analysis of programs using LLVM
</a></b><br />
<i>Neville Grech</i><br />

Energy models can be constructed by characterizing the energy consumed by
executing each instruction in a processor's instruction set. This can be used to
determine how much energy is required to execute a sequence of assembly
instructions. However, statically analysing low level program structures is
hard, and the gap between the high-level program structure and the low-level
energy models needs to be bridged. We have developed a tool for performing a
static analysis on the intermediate compiler representations of a
program. Specifically, we target LLVM IR, a representation used by most modern
compilers including Clang.  <br />

One of the challenges in doing so is that of determining an energy cost of
executing LLVM IR program segments, for which we have developed a mapping
tool. This tool associates LLVM IR program segments with assembly program
segments, producing a mapping. Mapping information is useful when performing an
analysis at one layer using energy models defined at a lower layer.
Essentially, this propagates the energy model defined at the instruction set
level up to the LLVM IR level, at which the analysis is performed. When this is
used with our analysis tool, we are able to infer energy formulae that
characterize the energy consumption for a particular program. This approach can
be applied to any languages targeting the LLVM toolchain or architectures
supported by LLVM.  <br />

Static energy estimation has applications in program optimization, and enables
energy-aware software development.
</p>


<p>
<b><a id="talk11">High Level Loop Optimizations in LLVM
</a></b><br />
<i>Tobias Grosser</i><br />

For several important program classes (image processing, scientific computing,
...) High Level Loop Optimizations are essential to reach top performance. With
Polly, we present a high-level loop optimization framework for LLVM, that
provides a flexible infrastructure to develop and describe such high-level loop
optimizations. We present Polly as a classical optimizer for a C compiler, but
focus on its use as an infrastructure to develop optimizations for domain
specific languages and specialized hardware such as GPUs. This talks gives an
overview of the overall structure of Polly itself and also insights into the
components and tools essential when working with Polly (isl, ppcg, islpy,
islplot).
</p>

<div class="www_sectiontitle" id="logistics">Logistics</div>
<p>

The mailing
list <a href="mailo:llvm-devroom@lists.fosdem.org">llvm-devroom@lists.fosdem.org</a>
can be used to discuss issues of general interest related to the conference
organization.
</p>

<div class="www_sectiontitle" id="register">Registration</div>
<p>

FOSDEM does not require any registration and is free of charge. However, we
advise to arrive early in the devroom in case of important crowd.
</p>

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

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