The LLVM Compiler Infrastructure
Site Map:
Download!
Download now: LLVM 4.0.1
All Releases
APT Packages
Win Installer

View the open-source
license

Search this Site


Useful Links
Release Emails
4.0.1: Jul 2017
4.0.0: Mar 2017
3.9.1: Dec 2016
3.9.0: Sep 2016
3.8.1: July 2016
3.8.0: Mar 2016
3.7.1: Jan 2016
3.7.0: Sep 2015
3.6.2: Jul 2015
3.6.1: May 2015
3.5.2: Apr 2015
3.6: Feb 2015
3.5.1: Jan 2015
3.5: Sep 2014
3.4.2: June 2014
3.4.1: May 2014
3.4: Jan 2014
3.3: Jun 2013
3.2: Dec 2012
3.1: May 2012
3.0: Dec 2011
2.9: Apr 2011
2.8: Oct 2010
2.7: Apr 2010
2.6: Oct 2009
2.5: Mar 2009
2.4: Nov 2008
2.3: Jun 2008
2.2: Feb 2008
2.1: Sep 2007
2.0: May 2007
Older News

Maintained by the
llvm-admin team
LLVM Workshop at CGO
  1. Schedule
  • What: LLVM at CGO.
  • When: February 7, 2015
  • Where: San Francisco, CA

A LLVM Workshop will be held at CGO 2015. If you are interested in attending the workshop, please register at the CGO website.

Topic Overview

  • High-level overview of LLVM & Clang
    • Will include how to get started coding on LLVM & Clang
    • Overview of core design elements, data structures, APIs, and patterns used in the codebase
    • High-level testing strategy for LLVM & Clang using tools like Clang’s ‘-verify’, opt, llc, FileCheck, and GoogleTest
    • Process of submitting a patch, code review, and community interactions
  • How to add an optimization pass to LLVM
    • Tutorial on the LLVM IR both in the abstract and at the level of internal APIs
    • Basic APIs and data structures needed to implement, test, and wire a new pass into the compiler.
    • Overview of the relationship between transform and analysis passes.
    • Overview of the different kinds of transformation passes, how they interact, and what they can and can’t do
    • Actually add a transformation pass and an analysis pass to the compiler that depend on each other and exercise this machinery.
    • Includes authoring relevant tests for each component
  • High-level overview of the architecture of an LLVM backend, with an emphasis on modifying or enhancing existing backends rather than adding a new one
    • Detailed review of where things are: from SelectionDAG to FastISel to the register allocator
    • Detailed review of exactly how a backend’s tablegen works, and how to make changes there and debug things

Schedule
TimeTopic
8:30Introduction to the LLVM Project
9:00Getting started hacking on LLVM and Clang
10:00BREAK
10:30The middle end optimizer
12:00LUNCH
2:00Diagnosing and fixing bugs in the middle end optimizer
2:45Adding optimization passes to the middle end
3:30BREAK
4:00Overview of the LLVM Code Generator
4:30Adding custom legalization, target specific pseudo instructions, and instruction pattern
5:00Extended Q&A


Valid CSS! Valid HTML 4.01!