This was last updated in September 2014. 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 programming languages, compilers, debuggers, operating systems, graphics, and other system software.

I am the founder and chief architect of the open source LLVM Compiler Infrastructure project. 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/.

Beyond my work on the LLVM project, I am the Director of the Developer Tools department at Apple. My role at Apple is to drive innovation in the programming tools space, as well as manage Apple's developer tools products (i.e., Xcode, and Instruments, along with a variety of low-level toolchain components) for both OS X and iOS. Developer tools serve a key function that enables all software that Apple ships, as well as powering the iOS and Mac OS app stores.

I am a strong leader and have excellent communication skills (both verbal and written). I occasionally give talks explaining and evangelizing LLVM, Clang, and other technologies in the llvm.org umbrella.

Resume Contents:

Awards

Notable awards:

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:

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
    Test of Time Award for the most influential paper of CGO 2004 (awarded at CGO 2014).
  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 - The Early Days - first half of a talk
    2013 LLVM Developer's Meeting, San Francisco, CA, November 2013.
  2. "LLVM and Clang - Advancing Compilers and Tools
    Opening Keynote, 2013 Central and Eastern European Software Engineering Conference in Russia (CEE-SECR 2013), Moscow, Russia, October 2013.
    Selected as the best invited talk by conference attendees.
  3. "Developer Tools Kickoff" (shared talk)
    2012 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2012.
  4. "Increasing Industry Impact of Compiler Optimization Research"
    Opening Keynote, 2012 International Symposium on Code Generation and Optimization (CGO'12), San Jose, CA, April 2012.
  5. "LLVM and Clang: Advancing Compiler Technology
    Keynote, Free and Open Source Developers' European Meeting (FOSDEM'11), Brussels, Belgium, February 2011.
  6. "What's New in the LLVM Compiler" (shared talk)
    2010 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2010.
  7. "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.
  8. "Developer Tools State of the Union" (shared talk)
    2009 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2009.
  9. "Compiler State of the Union" (shared talk)
    2009 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2009.
  10. "Introduction to the LLVM Compiler System"
    Plenary Talk, ACAT 2008: Advanced Computing and Analysis Techniques in Physics Research, Erice, Sicily, Italy, November 2008.
  11. "Compiler State of the Union" (shared talk)
    2008 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2008.
  12. "LLVM Compiler In Depth" (shared talk)
    2008 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2008.
  13. "LLVM and Clang: Next Generation Compiler Technology"
    BSDCan 2008, Ottawa, Canada, May 16-17, 2008.
  14. "The LLVM Compiler System"
    2007 O'Reilly Open Source Convention, Portland, OR, July 2007.
  15. "LLVM 2.0 and Beyond!"
    Google Tech Talk, Mountain View, CA, July 25, 2007.
  16. "Taking Advantage of Compiler Advances" (shared talk)
    2007 Apple World Wide Developer Conference (WWDC), San Francisco, CA, June 2007.
  17. "LLVM in OpenGL and for Dynamic Languages" (and several others)
    LLVM Developer Meeting, Cupertino, CA, May 2007.
  18. "The LLVM Compiler System"
    2007 Bossa Conference on Open Source, Mobile Internet and Multimedia, Recife, Brazil, March 2007.
  19. "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