This was last updated in June 2010. It may be out of date. If you want me to update it or have any questions, please contact me by email at: sabre@nondot.org.

Chris Lattner

sabre@nondot.org
http://nondot.org/sabre
US Citizen, Ph.D. Computer Science

My overall objective is to improve large software systems through the development of novel techniques as well as the application of known engineering principles. Of particular interest to me are compilers, debuggers, operating systems, graphics, and other system software. I am the creator and a lead on both LLVM and Clang, two projects which have grown far beyond my own contributions.

I am a strong leader and have excellent communication skills (both verbal and written). I am currently a Director of the Low-Level Tools team at Apple and the founder and lead of the llvm.org open source project. My role is to drive innovation in the low-level tools and programming language space, and I manage the groups responsible for LLVM, Clang, LLDB, the C++ and Objective-C runtimes, and the low-level toolchain at Apple (for both Mac OS/X and iOS). I occasionally give talks explaining and evangelizing LLVM and Clang for various purposes.

Resume Contents:

Current Focus

I am the chief architect of the LLVM Compiler Infrastructure and manage several groups at Apple responsible for compilers and tools. The LLVM project is an umbrella project which has grown to include a broad range of compiler, debugger, and runtime library technology. Assembled out of this technology are things like the Clang compiler, the LLDB debugger, the Clang Static Analyzer, and other low-level tools. LLVM is widely used for academic research projects, has been adopted for commercial use by several companies, and has a broad and growing developer base. For more information, please see the LLVM web page: http://llvm.org/.

I also have a brief bio available.

Award

I was awarded the ACM SIGPLAN Programming Languages Software Award in 2010 in recognition of my work on LLVM. Being the first year this was awarded is notable, because all programming language software systems were eligible. I am very thankful for the honor.

Book Chapter

In 2011, I wrote a chapter on LLVM for "The Architecture of Open Source Applications," a book on software design. The chapter describes traditional compiler design, what makes LLVM different, how library-based design impacts applicability of the code, and how some simple optimizations work.

Work History

Apple Inc

Graduate School Work

IBM NUMA-Q / Sequent Computer Systems:

Earlier Work Experience:

Education

University of Illinois, Urbana-Champaign - Urbana, Illinois - GPA: 4.0

University of Portland - Portland, Oregon - GPA: 3.9

Refereed Publications

Since joining industry, I rarely take time to write papers about my work, preferring instead to focus on building new great things. That said, LLVM is widely used as a basis for many current and past research projects by other people.

  1. "Making Context-sensitive Points-to Analysis with Heap Cloning Practical For The Real World"
    Chris Lattner, Andrew Lenharth, and Vikram Adve
    PLDI 2007, San Diego, CA, June 2007
  2. "Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap"
    Chris Lattner & Vikram Adve
    PLDI 2005, Chicago, IL, June 2005.
    Awarded PLDI 2005 Best Paper Award
  3. "Automatic Pointer Compression for Linked Data Structures"
    Chris Lattner & Vikram Adve
    ACM SIGPLAN 2005 Workshop on Memory System Performance (MSP'05) Chicago, IL, June 2005.
  4. "Memory Safety Without Runtime Checks or Garbage Collection"
    Dinakar Dhurjati, Sumant Kowshik, Vikram Adve & Chris Lattner
    2005 Transactions in Embedded Computing Systems (TECS'05)
    Journal Publication
  5. "The LLVM Compiler Framework and Infrastructure Tutorial"
    Chris Lattner & Vikram Adve
    LCPC'04 Workshop on Compiler Research Infrastructures, West Lafayette, Indiana, Sep. 2004.
  6. "LLVM: An Aggressive Compilation Framework for Life-Long Program Analysis and Transformation"
    Chris Lattner & Vikram Adve
    CGO 2004, San Jose, CA, March 2004.
    Best Student Presenter Award
  7. "LLVA: A Low-level Virtual Instruction Set Architecture"
    Vikram Adve, Chris Lattner, Michael Brukman, Anand Shukla, & Brian Gaeke
    MICRO-36 2003, San Diego, CA, December 2003.
  8. "Memory Safety Without Runtime Checks or Garbage Collection"
    Dinakar Dhurjati, Sumant Kowshik, Vikram Adve, & Chris Lattner
    Proc. Languages Compilers and Tools for Embedded Systems 2003 (LCTES 03), San Diego, CA, June 2003.
  9. "Architecture For a Next-Generation GCC"
    Chris Lattner & Vikram Adve
    First Annual GCC Developers' Summit, Ottawa, Canada, May 2003.
  10. "Automatic Pool Allocation for Disjoint Data Structures"
    Chris Lattner & Vikram Adve
    ACM SIGPLAN 2002 Workshop on Memory System Performance (MSP'02), Berlin, Germany, June 2002.
  11. "Developing a Graphical Robotics Simulator"
    Ming-Shu Hsu & Chris Lattner
    IASTED International Conference, Modeling & Simulation (MS'99)

Invited Talks

  1. "LLVM and Clang: Advancing Compiler Technology
    Free and Open Source Developers' European Meeting (FOSDEM'11), Brussels, Belgium, February 2011.
  2. "What's New in the LLVM Compiler" (shared talk)
    2010 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2010.
  3. "State of Clang" (shared talk) and several other pieces of the meeting, such as the introduction, open discussion forum, etc.
    LLVM Developer Meeting, Cupertino, CA, Oct 2009.
  4. "Developer Tools State of the Union" (shared talk)
    2009 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2009.
  5. "Compiler State of the Union" (shared talk)
    2009 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2009.
  6. "Introduction to the LLVM Compiler System"
    Plenary Talk, ACAT 2008: Advanced Computing and Analysis Techniques in Physics Research, Erice, Sicily, Italy, November 2008.
  7. "Compiler State of the Union" (shared talk)
    2008 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2008.
  8. "LLVM Compiler In Depth" (shared talk)
    2008 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2008.
  9. "LLVM and Clang: Next Generation Compiler Technology"
    BSDCan 2008, Ottawa, Canada, May 16-17, 2008.
  10. "The LLVM Compiler System"
    2007 O'Reilly Open Source Convention, Portland, OR, July 2007.
  11. "LLVM 2.0 and Beyond!"
    Google Tech Talk, Mountain View, CA, July 25, 2007.
  12. "Taking Advantage of Compiler Advances" (shared talk)
    2007 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2007.
  13. "LLVM in OpenGL and for Dynamic Languages" (and several others)
    LLVM Developer Meeting, Cupertino, CA, May 2007.
  14. "The LLVM Compiler System"
    2007 Bossa Conference on Open Source, Mobile Internet and Multimedia, Recife, Brazil, March 2007.
  15. "Introduction to the LLVM Compiler Infrastructure"
    2006 Itanium Conference and Expo, San Jose, California, April 2006.

Dissertations & Technical Reports

  1. "Macroscopic Data Structure Analysis and Optimization"
    Chris Lattner. Ph.D. Thesis, May 2005
  2. "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation"
    Chris Lattner & Vikram Adve
    University of Illinois Technical Report #UIUCDCS-R-2003-2380, Sep 2003
  3. "Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis"
    Chris Lattner & Vikram Adve
    University of Illinois Technical Report #UIUCDCS-R-2003-2340, Apr 2003
  4. "LLVM: An Infrastructure for Multi-Stage Optimization"
    Chris Lattner. Masters Thesis, Dec. 2002
  5. "The LLVM Instruction Set and Compilation Strategy"
    Chris Lattner & Vikram Adve
    Univ. of Illinois Technical Report #UIUCDCS-R-2002-2292, Aug 2002

Other Interests and Activities