Day 1 – Thursday, March 17

08:30-08:40 Opening (Ayal Zaks, Manuel Hermenegildo)

08:40-09:40 Invited talk (chair: Manuel Hermenegildo)

  • Supporting Axiomatic Programming in Practice
    Gabriel Dos Reis, Microsoft

09:40-10:00 Break

10:00-11:15 Speculation (chair: Björn Franke)

  • Thread-Level Speculation with Kernel Support
    Clemens Hammacher, Kevin Streit, Andreas Zeller and Sebastian Hack.
  • Reducing Memory Buffering Overhead in Software Thread-Level Speculation
    Zhen Cao and Clark Verbrugge.
  • Performance Implications of Transient Loop-Carried Data Dependences in Automatically Parallelized Loops
    Niall Murphy, Timothy Jones, Robert Mullins and Simone Campanoni. 

11:15-11:35 Break

11:35-12:50 Run-time techniques (chair: Fernando Pereira)

  • Safe and Flexible Adaptation Via Alternate Data Structure Representations
    Amlan Kusum, Iulian Neamtiu and Rajiv Gupta.
  • Relaxed Dependence Tracking for Parallel Runtime Support
    Minjia Zhang, Swarnendu Biswas and Michael Bond.
  • Kindergarten Cop: Dynamic Nursery Resizing for GHC
    Henrique Ferreiro, Laura M. Castro, Vladimir Janjic, and Kevin Hammond.

12:50-14:20 Lunch

14:20-15:35 Verified compilation (chair: Alain Darte)

  • Verified Construction of Static Single Assignment Form
    Sebastian Buchwald, Denis Lohner and Sebastian Ullrich.
  • Mechanizing Conventional SSA for a Verified Destruction with Coalescing
    Delphine Demange and Yon Fernandez de Retana.
  • Reachability and error diagnosis in LR(1) parsers
    François Pottier.

15:35-15:55 Break

15:55-16:45 Verification (chair: Clark Verbrugge)

  • Automatic Fault Location for Data Structures
    Vineet Singh, Rajiv Gupta and Iulian Neamtiu.
  • Sparse Representation of Implicit Flows with Applications to Side-Channel Detection
    Bruno Rodrigues, Fernando Pereira and Diego Aranha.  

16:45-17:00 Break

17:00-17:45 Joining EuroLLVM parallel sessions (see

  • How to make LLVM more friendly to out-of-tree consumers ?
    David Chisnall (EuroLLVM BoF meeting)

  - in parallel with -

  • Molly: Parallelizing for Distributed Memory using LLVM
    Michael Kruse (EuroLLVM Presentation)

17:45-18:35 Energy and Dynamic Checking (chair: Albert Cohen; joint parallel session with EuroLLVM)

  • Multiversioned Decoupled Access-Execute: the Key to
    Energy-Efficient Compilation of General-Purpose Programs
    Konstantinos Koukos, Per Ekemark, Georgios Zacharopoulos, Vasileios Spiliopoulos, Stefanos Kaxiras and Alexandra Jimborean.
  • Heap Bounds Protection with Low Fat Pointers
    Gregory Duck and Roland Yap.

- in parallel with -

  • Analyzing and Optimizing your Loops with Polly
    Tobias Grosser, Johannes Doerfert and Zino Benaissa (EuroLLVM tutorial)

- in parallel with -

  • Building, Testing and Debugging a Simple out-of-tree LLVM Pass
    Serge Guelton and Adrien Guinet (EuroLLVM tutorial)

Day 2 – Friday, March 18

08:30-09:30 EuroLLVM plenary talk (chair: Arnaud de Grandmaison; joint with CC)

  • SVF: Static Value-Flow Analysis in LLVM
    Yulei Sui, Peng Di, Ding Ye, Hua Yan and Jingling Xue

09:30-09:50 Break

09:50-11:05 Static and dynamic optimization (chair: Ayal Zaks)

  • Register Allocation and Promotion through Combined Instruction Scheduling and Loop Unrolling
    Lukasz Domagala, Duco van Amstel, Fabrice Rastello and P. Sadayappan.
  • On Fusing Recursive Traversals of K-d Trees
    Samyam Rajbhandari, Jinsung Kim, Sriram Krishnamoorthy, Louis-Noel Pouchet, Fabrice Rastello, Robert Harrison and P. Sadayappan.
  • Restrictification of Function Arguments
    Victor Sperle Campos, Péricles Alves, Henrique Nazare and Fernando Pereira.

11:05-11:20 Break

11:20-12:40 Tool demonstrations (chair: Roland Yap; joint with EuroLLVM)

  • GreenThumb: Superoptimizer Construction Framework
    Phitchaya Phothilimthana, Aditya Thakur, Rastislav Bodik and Dinakar Dhurjati.
  • Iguana: A Practical Data-dependent Parsing Framework
    Ali Afroozeh and Anastasia Izmaylova.
  • SYCO: A Systematic Testing Tool for Concurrent Objects
    Elvira Albert, Miguel Gomez-Zamalloa and Miguel Isabel.
  • Register Allocation and Instruction Scheduling in Unison
    Roberto Castañeda Lozano, Mats Carlsson, Gabriel Hjort Blindell and Christian Schulte.

12:40-14:10 Lunch

14:10-15:50 Static analysis (chair: Michael Philippsen)

  • Static Deadlock Detection for Concurrent Go by Global Session Graph Synthesis
    Nicholas Ng and Nobuko Yoshida.
  • Static Detection of Energy Defect Patterns in Android Applications
    Haowei Wu, Shengqian Yang and Atanas Rountev.
  • On Fast Large-Scale Program Analysis in Datalog
    Bernhard Scholz, Herbert Jordan, Pavle Subotic and Till Westmann.
  • Improved MHP Analyses
    Aravind Sankar, Soham Chakraborty and V. Krishna Nandivada.

15:50-16:10 Break

16:10-17:50 Data layout and polyhedral techniques (chair: Louis-Noël Pouchet)

  • Extended Lattice-Based Memory Allocation
    Alain Darte, Alexandre Isoard and Tomofumi Yuki.
  • Mapping Deviation: A Technique to Adapt or to Guard Loop Transformation Intuitions for Legality
    Cédric Bastoul.
  • Automatic Data Layout Generation and Kernel Mapping for CPU+GPU Architectures
    Deepak Majeti, Kuldeep Meel, Raj Barik and Vivek Sarkar.
  • Input Space Splitting for OpenCL
    Simon Moll, Johannes Doerfert and Sebastian Hack.

17:50-18:00 Closing (Ayal Zaks and Manuel Hermenegildo)