The LLVM Compiler Infrastructure
Site Map:
Download!
Download now: LLVM 2.3

Try the
online demo

View the open-source
license

Search this Site


Status Updates
Developer Mtgs
Useful Links
Maintained by:
Chris Lattner
LLVM Related Publications
  1. "KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs"
    Cristian Cadar, Daniel Dunbar, Dawson Engler
    Proc. 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2008), December 2008
  2. "A Lazy Developer Approach: Building a JVM with Third Party Software"
    Nicolas Geoffray, Gael Thomas, Charles Clement and Bertil Folliot
    Proc. International Conference on Principles and Practice of Programming In Java (PPPJ 2008), September 2008
  3. "Run-Time Code Generation for Materials"
    Stephan Reiter
    IEEE Symposium on Interactive Ray Tracing (RT'08), August 2008
  4. "Verifying Multi-threaded C Programs with SPIN"
    Anna Zaks and Rajeev Joshi
    Proc. International SPIN Workshop on Model Checking of Software (SPIN 2008), August 2008
  5. "Automatic Data Partitioning in Software Transactional Memories"
    Torvald Riegel, Christof Fetzer, and Pascal Felber
    Proc. 20th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA'08), June, 2008
  6. "Register Allocation by Puzzle Solving"
    Fernando Magno Quintao Pereira and Jens Palsberg
    Proc. ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI'08), June, 2008
  7. "CoVaC: Compiler Validation by Program Analysis of the Cross-Product"
    Anna Zaks and Amir Pnueli
    Proc. International Symposium on Formal Methods (FM 2008), May 2008
  8. "LLVM and Clang: Next Generation Compiler Technology"
    Chris Lattner
    BSDCan 2008: The BSD Conference, Ottawa, Canada, May 2008.
  9. "Cycle-approximate Retargetable Performance Estimation at the Transaction Level"
    Y. Hwang, S. Abdi, and D. Gajski
    Proc. of Design Automation and Test in Europe (DATE'08), Munich, Germany, March 2008
  10. "User-Input Dependence Analysis via Graph Reachability"
    Bernard Scholz, Chenyi Zhang, and Cristina Cifuentes
    Technical Report #TR-2008-171, Sun Microsystems, March 2008
  11. "Impeding Malware Analysis Using Conditional Code Obfuscation"
    Monirul Sharif, Andrea Lanzi, Jonathon Giffin and Wenke Lee
    Network and Distributed System Security Symposium (NDSS'08), San Diego, CA, February 2008
  12. "Making Object-Based STM Practical in Unmanaged Environments"
    Torvald Riegel and Diogo Becker de Brum
    ACM SIGPLAN Workshop on Transactional Computing (TRANSACT 2008), Salt Lake City, Utah, 2008
  13. "Near-Optimal Instruction Selection on DAGs"
    David Ryan Koes and Seth Copen Goldstein
    Proc. of the 2008 International Symposium on Code Generation and Optimization (CGO'08), Boston, MA, 2008.
  14. Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems
    John Criswell, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve
    Proceedings of the Twenty First ACM Symposium on Operating Systems Principles (SOSP '07), Stevenson, WA, October 2007.
    Received an SOSP 2007 Audience Choice Award.
  15. "Transactifying Applications Using an Open Compiler Framework"
    Pascal Felber, Christof Fetzer, Ulrich Mueller, Torvald Riegel, Martin Suesskraut, and Heiko Sturzrehm
    TRANSACT 2007, August 2007.
  16. "LLVM 2.0 and Beyond!"
    Chris Lattner
    Google Tech Talk, Mountain View, CA, July 2007.
  17. "Structural Abstraction of Software Verification Conditions"
    Domagoj Babic and Alan J. Hu.
    Proc. of the 19th Int. Conf. on Computer Aided Verification (CAV'07), Berlin, Germany, Jul, 2007.
  18. "Making Context-Sensitive Points-to Analysis with Heap Cloning Practical For The Real World"
    Chris Lattner, Andrew Lenharth, and Vikram Adve.
    Proc. of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'07), San Diego, CA, Jun, 2007.
  19. "Improving Switch Lowering for The LLVM Compiler System"
    Anton Korobeynikov.
    Proc. of the 2007 Spring Young Researchers Colloquium on Software Engineering (SYRCoSE'2007), Moscow, Russia, May, 2007.
  20. "A Change Framework based on the Low Level Virtual Machine Compiler Infrastructure"
    Jakob Praher
    Masters Thesis, Institute for System Software Johannes Kepler University Linz, April 2007.
  21. "An Aspect for Idiom-based Exception Handling (using local continuation join points, join point properties, annotations and type parameters)"
    Bram Adams and Kris De Schutter.
    Proc. of the 5th Software-Engineering Properties of Languages and Aspect Technologies Workshop (SPLAT), AOSD 2007, Vancouver, Canada, March, 2007.
  22. "The LLVM Compiler System"
    Chris Lattner
    2007 Bossa Conference on Open Source, Mobile Internet and Multimedia, Recife, Brazil, March 2007.
  23. "Scaling Task Graphs for Network Processors"
    Martin Labrecque and J. Gregory Steffan
    IFIP International Conference on Network and Parallel Computing, Tokyo, Japan, October, 2006.
  24. "Automated Compile-Time and Run-Time Techniques to Increase Usable Memory in MMU-Less Embedded Systems"
    L. Bai, L. Yang, and R. P. Dick
    Proc. Int. Conf. Compilers, Architecture & Synthesis for Embedded Systems, pp. 125-135, Oct. 2006.
  25. "Platform-Based Behavior-Level and System-Level Synthesis"
    J. Cong, Y. Fan, G. Han, W. Jiang, and Z. Zhang
    Proceedings of IEEE International SOC Conference, pp. 199-202, Austin, Texas, Sept. 2006.
  26. "Efficiently Detecting All Dangling Pointer Uses in Production Servers"
    Dinakar Dhurjati and Vikram Adve.
    Proceedings of the International Conference on Dependable Systems and Networks (DSN '06), Philadelphia, Pennsylvania, 2006.
  27. "A Virtual Instruction Set Interface for Operating System Kernels"
    John Criswell, Brent Monroe, and Vikram Adve.
    Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA '06), Boston, Massachusetts, 2006.
  28. "SAFECode: Enforcing Alias Analysis for Weakly Typed Languages"
    Dinakar Dhurjati, Sumant, Kowshik, and Vikram Adve.
    Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '06), Ottawa, Canada, 2006.
  29. " Backwards-Compatible Array Bounds Checking for C with Very Low Overhead"
    By Dinakar Dhurjati and Vikram Adve,
    Proceedings of the 28th International Conference on Software Engineering (ICSE '06), Shanghai, China, 2006.
  30. "Vector LLVA: A Virtual Vector Instruction Set for Media Processing"
    Robert L. Bocchino Jr. and Vikram S. Adve.
    Proc. of the Second International Conference on Virtual Execution Environments (VEE'06), Ottawa, Canada, 2006.
  31. "Checker: a Static Program Checker"
    Nicholas Lewycky
    B.Sc. Thesis, Computer Science Dept., Ryerson University, June 2006.
  32. "Introduction to the LLVM Compiler Infrastructure"
    Chris Lattner
    2006 Itanium Conference and Expo, San Jose, California, April 2006.
  33. "Tailoring Graph-coloring Register Allocation For Runtime Compilation"
    Keith D. Cooper and Anshuman Dasgupta
    Proc. of the 2006 International Symposium on Code Generation and Optimization (CGO'06), New York, New York, 2006.
  34. "Towards a Compilation Infrastructure for Network Processors"
    Martin Labrecque
    Masters Thesis, Department of Electrical and Computer Engineering, University of Toronto, January, 2006.
  35. "How Successful is Data Structure Analysis in Isolating and Analyzing Linked Data Structures?"
    Patrick Meredith, Balpreet Pankaj, Swarup Sahoo, Chris Lattner and Vikram Adve
    Technical Report #UIUCDCS-R-2005-2658, Computer Science Dept., Univ. of Illinois, Dec. 2005.
  36. "Enforcing Alias Analysis for Weakly Typed Languages"
    Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve
    Technical Report #UIUCDCS-R-2005-2657, Computer Science Dept., Univ. of Illinois, Nov. 2005.
  37. "Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms"
    By Keith Cooper, Anshuman Dasgupta, and Jason Eckhardt.
    Proc. of the Workshop on Languages and Compilers for Parallel Computing (LCPC'05), Hawthorne, NY, October 20-22, 2005
  38. "Segment Protection for Embedded Systems Using Run-time Checks"
    By Matthew Simpson, Bhuvan Middha and Rajeev Barua
    Proc. of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES'05), San Francisco, CA, September, 2005
  39. " A Concept Analysis Inspired Greedy Algorithm for Test Suite Minimization"
    By Sriraman Tallam and Neelam Gupta
    ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2005), Lisbon, Portugal, September 5-6, 2005.
  40. "Deciding Where to Call Performance Libraries"
    By C. Alias and D. Barthou
    Proc. of the International IEEE Euro-Par Conference, August, 2005
  41. "Practical Techniques for Performance Estimation of Processors"
    Abhijit Ray, Thambipillai Srikanthan and Wu Jigang.
    Proceedings of the 9th International Database Engineering & Application Sy mposium (IDEAS'05), July 2005.
  42. "Profile-directed If-Conversion in Superscalar Microprocessors"
    Eric Zimmerman
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, July 2005.
  43. "An Implementation of Swing Modulo Scheduling with Extensions for Superblocks"
    Tanya M. Lattner.
    M.S. Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, June 2005.
  44. "Macroscopic Data Structure Analysis and Optimization"
    Chris Lattner
    Ph.D. Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, May 2005.
  45. "Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap"
    Chris Lattner and Vikram Adve
    Proc. of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'05), Chicago, Illinois, June, 2005.
    Received PLDI 2005 Best Paper Award.
  46. "Transparent Pointer Compression for Linked Data Structures"
    Chris Lattner and Vikram Adve
    Proc. of the ACM Workshop on Memory System Performance (MSP'05), Chicago, Illinois, June, 2005.
  47. Using a Low-Level Virtual Machine to Improve Dynamic Aspect Support in Operating System Kernels
    By Michael Engel and Bernd Freisleben.
    Proc. of the 4th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'05), March 14-18, Chicago, 2005
  48. "Memory Safety Without Garbage Collection for Embedded Applications"
    Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner
    ACM Transactions in Embedded Computing Systems (TECS), February 2005.
  49. "The LLVM Compiler Framework and Infrastructure Tutorial"
    Chris Lattner and Vikram Adve
    LCPC'04 Mini Workshop on Compiler Research Infrastructures, West Lafayette, Indiana, Sep. 2004.
  50. "RubyComp - A Ruby-to-LLVM Compiler Prototype"
    Anders Alexandersson
    Masters Thesis, Division of Computer Science at the Department of Informatics and Mathematics, University of Trollhättan/Uddevalla, Sweden, Spring 2004
  51. "A Task Optimization Framework for MSSP"
    Rahul Ulhas Joshi
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, May 2004.
  52. "Coordinating Adaptations in Distributed Systems"
    Brian Ensink and Vikram Adve
    Proc. of the 24th International Conference on Distributed Computing Systems (ICDCS 2004), Tokyo, Japan, March 2004
  53. "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation"
    Chris Lattner and Vikram Adve
    Proc. of the 2004 International Symposium on Code Generation and Optimization (CGO'04), Palo Alto, California, Mar. 2004.
  54. "LLVA: A Low-level Virtual Instruction Set Architecture"
    Vikram Adve, Chris Lattner, Michael Brukman, Anand Shukla, and Brian Gaeke
    Proc. of the 36th annual ACM/IEEE international symposium on Microarchitecture (MICRO-36), San Diego, CA, December 2003.
  55. "Language Extensions for Performance-Oriented Programming"
    Joel Stanley
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, July 2003
  56. "Lightweight, Cross-Procedure Tracing for Runtime Optimization"
    Anand Shukla
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, July 2003
  57. "Memory Safety Without Runtime Checks or Garbage Collection"
    Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and Chris Lattner
    Proc. of Languages Compilers and Tools for Embedded Systems 2003 (LCTES 03), San Diego, CA, June 2003.
  58. "Architecture For a Next-Generation GCC"
    Chris Lattner & Vikram Adve
    First Annual GCC Developers' Summit, Ottawa, Canada, May 2003.
  59. "Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis"
    Chris Lattner & Vikram Adve
    Technical Report #UIUCDCS-R-2003-2340, Computer Science Dept., Univ. of Illinois, Apr. 2003.
  60. "LLVM: An Infrastructure for Multi-Stage Optimization"
    Chris Lattner
    Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 2002
  61. "Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems"
    Sumant Kowshik, Dinakar Dhurjati, and Vikram Adve
    Proc. Int'l Conf. on Compilers, Architecture and Synthesis for Embedded Systems (CASES02), Grenoble, France, Oct. 2002.
  62. "Automatic Pool Allocation for Disjoint Data Structures,"
    Chris Lattner & Vikram Adve
    ACM SIGPLAN Workshop on Memory System Performance (MSP), Berlin, Germany, June 2002.