LLVM
LLVM (Low Level Virtual Machine) is an open source compiler infrastructure project that provides reusable components for building compiler front ends and back ends. It uses an intermediate representation that allows for optimization and translation to multiple targets.
LLVM (Low Level Virtual Machine)
Open source compiler infrastructure project providing reusable components for building compiler front ends and back ends, utilizing an intermediate representation for optimization and target translation
What is LLVM?
LLVM (Low Level Virtual Machine) is an open source compiler infrastructure project that provides reusable components for building compiler front ends and back ends. It uses an intermediate representation (IR) that allows for optimization and translation to multiple targets.
Some key aspects of LLVM:
- Focused on providing high-quality optimizing compiler components
- Uses a common IR (LLVM IR) that front ends can target and back ends can consume
- Modular by design, allowing reuse across multiple compiler projects
- Performs aggressive interprocedural optimizations
- Supports multiple source languages (C/C++, Objective-C, Swift, Rust, etc.) and CPU architectures (x86, ARM, PowerPC, etc.)
- Used as the compiler framework for major projects like Clang, Rust, Julia, and Swift
- Implemented in C++ with APIs available in various languages
- Available under the open source BSD-style LLVM License
Overall, LLVM powers much of the latest generation of compilers and runtimes through its intermediate representation and code optimization capabilities.
LLVM Features
Features
- Modular design
- Multiple frontends
- Multiple backends
- Intermediate representation
- Code optimization
- JIT compilation
Pricing
- Open Source
Pros
High performance
Portable
Permissive licensing
Wide adoption
Active development
Cons
Complex codebase
Steep learning curve
Limited documentation
Official Links
Reviews & Ratings
Login to ReviewThe Best LLVM Alternatives
View all LLVM alternatives with detailed comparison →
Top Development and Compiler Infrastructure and other similar apps like LLVM
Here are some alternatives to LLVM:
Suggest an alternative ❐GNU Compiler Collection
The GNU Compiler Collection (GCC) is an open source compiler system developed by the GNU Project for compiling multiple programming languages. Some key points about GCC:Supports compilation of popular languages like C, C++, Objective-C, Fortran, Ada, and Java.Actively developed and maintained by a large community of contributors.Aims to produce fast...
Portable C Compiler
The Portable C Compiler (PCC) is a free, open-source and retargetable C compiler focused on providing portability, simplicity, speed, and small size. Developed originally at Bell Labs in the 1970s, PCC has evolved over decades of work by various contributors into a mature C codebase.Some key features and goals of...
Open64
Open64 is an open-source, optimizing compiler for C, C++, and Fortran programs targeted at high-performance computing systems like workstations, servers, and supercomputers. It was originally developed by SGI and is now maintained by the Open64 Foundation.Key features of Open64 include support for multiple architectures (x86-64, IA64, ARM, MIPS, PowerPC), operating...