LLVM: a compilation framework for lifelong program analysis & transformation
By Chris Lattner, V. Adve. 2004
6,201 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Computer Networks and Communications, Hardware and Architecture, Program Analysis & Verification, ML Systems & Hardware
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Koushik Sen
- Tal Ben-Nun
- M. Franklin
- Miles Lubin
- Torsten Hoefler
- Noah D. Goodman
- Tim Kraska
- Gabriel Synnaeve
In Computer Networks and Communications
- Miles Lubin
- Brandon Lucia
- Rui Abreu
- A. V. Gemund
- Peter Zoeteweij
- Benjamin Ransford
- Joel A. E. Andersson
- Thomas Neumann
In Hardware and Architecture
- Miles Lubin
- Rui Abreu
- Koushik Sen
- Luis Ceze
- Brandon Lucia
- A. V. Gemund
- Peter Zoeteweij
- Joel A. E. Andersson
In Program Analysis & Verification
- Joel A. E. Andersson
- Thomas Neumann
- Benjamin Ransford
- Brandon Lucia
- Jingling Xue
- Yulei Sui
- Mark Harman
- Stefan Karpinski
In ML Systems & Hardware
- Joel A. E. Andersson
- Thomas Neumann
- Benjamin Ransford
- Brandon Lucia
- Mark Harman
- Stefan Karpinski
- Jingling Xue
- Alan Edelman
Citations in the corpus
- Julia: A Fresh Approach to Numerical Computing (2014, methodology): “JIT compilation [2, 4] using the LLVM compiler framework [18], which is also used by a number of other compilers such as Clang [6] and Apple’s Swift [32].”
- Software Vulnerability Detection Using Deep Neural Networks: A Survey (2020, methodology): “The first set was the source-based features extracted directly from the source code and the second one was the build-based features derived from the CFGs generated by Clang and low level virtual machine (LLVM) [50].”
- Bringing the web up to speed with WebAssembly (2017, methodology): “Portable Native Client (PNaCl) [18] builds upon the sandboxing techniques of NaCl and uses a stable subset of LLVM bitcode [24] as an interchange format, which addresses ISA portability.”
- Efficiently Compiling Efficient Query Plans for Modern Hardware (2011, methodology): “Instead, we used the Low Level Virtual Machine (LLVM) compiler framework [7] to generate portable assembler code, which can then be executed directly using an optimizing JIT compiler provided by LLVM.”
- In-Memory Big Data Management and Processing: A Survey (2015, background): “There have been some criticisms on the traditional iterator-style query processing mechanisms for in-memory databases recently as it usually results in poor code and data locality [36], [112], [167].”
- The CHERI capability model: Revisiting RISC in an age of risk (2014, methodology): “We demonstrate a mature FPGA implementation that runs the FreeBSD operating system with a full range of software and an open-source application suite compiled with an extended LLVM to use CHERI memory protection.”
- Understanding and detecting real-world performance bugs (2012, methodology): “14 of them are built using LLVM compiler infrastructure [27] for rules from C/C++ applications.”
- Numba: a LLVM-based Python JIT compiler (2015, methodology): “In addition, we share our experience in building a JIT compiler using LLVM[1].”
- CasADi: a software framework for nonlinear optimization and optimal control (2018, methodology): “The generated C code can be used for just-in-time compilation, which is supported either by using the system compiler or via an interface to the LLVM compiler framework with its C/C++ front-end Clang [79].”
- Code Translation with Compiler Representations (2022, methodology): “GCC (Stallman, 2001) introduces Register Transfer Language (RTL) a low-level IR inspired by Davidson and Fraser (1980), and then GENERIC and GIMPLE (Merrill, 2003), precursors of the IR used in LLVM (Lattner and Adve, 2004).”
- A practical evaluation of spectrum-based fault localization (2009, background): “From our current set of tools, the primary task would be to port the instrumentation step, and work is currently underway to implement it for the LLVM platform (Lattner and Adve, 2004), which has front-ends for various programming languages.”
- Neural Code Comprehension: A Learnable Representation of Code Semantics (2018, methodology): “1, accepts code in various source languages and converts it to statements in an Intermediate Representation (IR), using the LLVM Compiler Infrastructure [39].”