Chris Lattner's Homepage

photo

About Me
  1. A short bio.
  2. My résumé & publications.
  3. I am @clattner_llvm on Twitter.
  4. I am not a web designer.
Apple

I have worked for Apple since 2005, holding a number of different positions over the years (a partial history is available in the Apple section of my résumé). These days, I run the Developer Tools department, which is responsible for Xcode and Instruments, as well as compilers, debuggers, and related tools.

To answer a FAQ: Yes, I do still write code and most of it goes to llvm.org. However, due to the nature of the work, I usually can't talk about it until a couple of years after it happens. :)

Swift

I started work on the Swift Programming Language (wikipedia) in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013.

The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.

The Xcode Playgrounds feature and REPL were a personal passion of mine, to make programming more interactive and approachable. The Xcode and LLDB teams have done a phenomenal job turning crazy ideas into something truly great. Playgrounds were heavily influenced by Bret Victor's ideas, by Light Table and by many other interactive systems. I hope that by making programming more approachable and fun, we'll appeal to the next generation of programmers and to help redefine how Computer Science is taught.

Compilers

I lead and am the original author of the LLVM Compiler Infrastructure, an open source umbrella project that includes all sorts of toolchain related technology: compilers, debuggers, JIT systems, optimizers, static analysis systems, etc. I started both LLVM and Clang and am still the individual with the most commits. Of course, as the community has grown, my contribution is being dwarfed by those from a wide range of really amazing folks.

LLVM has enjoyed broad industry success - being widely used in commercial products - as well supporting hundreds of academic papers. For its contribution to the software industry, LLVM has been recognized with the ACM Software System Award.

For more details about LLVM, see:

  1. LLVM Compiler Infrastructure home page
  2. Invited talks about LLVM and other topics
  3. Random notes on LLVM - Unofficial notes and thoughts on LLVM extensions and todo items.
Selected Publications

Here are some of my more notable publications from my graduate school work. A more complete list can be found on my resume.

  1. "Making Context-sensitive Points-to Analysis with Heap Cloning Practical For The Real World"
    PLDI 2007, San Diego, CA, June 2007
  2. "Macroscopic Data Structure Analysis and Optimization"
    Ph.D. Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, May 2005.
  3. "Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap"
    PLDI 2005, Chicago, IL, June 2005.
    PLDI'05 Best paper award.
  4. "Transparent Pointer Compression for Linked Data Structures"
    MSP 2005, Chicago, IL, June 2005.
  5. "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation"
    CGO 2004, Palo Alto, CA, March 2004.
    CGO'04 Best student presenter award.
  6. "LLVA: A Low-level Virtual Instruction Set Architecture"
    MICRO-36 2003 San Diego, CA, December 2003.
  7. "LLVM: An Infrastructure for Multi-Stage Optimization"
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 2002

Valid CSS! Valid
			HTML 4.01! Copyright © 1994-2013 Chris Lattner
Last modified: Friday, 06-Jun-2014 14:12:07 PDT