articleJun 10, 2004Closed access

LLVM: A compilation framework for lifelong program analysis & transformation

University of Illinois Urbana-Champaign

Indexed incrossref

Abstract

We describe LLVM (low level virtual machine), a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code representation in static single assignment (SSA) form, with several novel features: a simple, language-independent type-system that exposes the primitives commonly used to implement high-level language features; an instruction for typed address arithmetic; and a simple mechanism that can be used to implement the exception handling features of high-level languages (and…

Citation impact

2,518
total citations
FWCI
7.68
Percentile
100%
References
40
Citations per year

Authors

2

Topics & keywords

Keywords
  • Compiler
  • Computer science
  • Programming language
  • Intermediate language
  • Optimizing compiler
  • Transformation (genetics)
  • Simple (philosophy)
  • Representation (politics)
No related works found for this paper.