LLVM


Topic | v1 | created by jjones |
Description

The LLVM compiler infrastructure project is a set of compiler and toolchain technologies, which can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. LLVM is written in C++ and is designed for compile-time, link-time, run-time, and "idle-time" optimization. Originally implemented for C and C++, the language-agnostic design of LLVM has since spawned a wide variety of front ends: languages with compilers that use LLVM include ActionScript, Ada, C#, Common Lisp, Crystal, CUDA, D, Delphi, Dylan, Fortran, Graphical G, Halide, Haskell, Java bytecode, Julia, Kotlin, Lua, Objective-C, OpenCL, PostgreSQL's SQL and PLpgSQL, Ruby, Rust, Scala, Swift, XC, Xojo and Zig.


Relations

is Compiler

In computing, a compiler is a computer program that translates computer code written in one programmi...

used by C++

C++ (C plus plus) is a general-purpose programming language created by Bjarne Stroustrup as an extens...


Edit details Edit relations Attach new author Attach new topic Attach new resource
Resources

relates to Alive2: Bounded Translation Validation for LLVM

We designed, implemented, and deployed Alive2: a bounded translation validation tool for the LLVM com...