LLVM Compiler Infrastructure logo

LLVM Compiler Infrastructure

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project. LLVM began as a research project at the University of Illinois, with the goal of providing a modern, SSA-based compilation strategy capable of supporting both static and dynamic compilation of arbitrary programming languages. Since then, LLVM has grown to be an umbrella project consisting of a number of subprojects, many of which are being used in production by a wide variety of commercial and open source projects as well as being widely used in academic research. In addition to official subprojects of LLVM, there are a broad variety of other projects that use components of LLVM for various tasks. Through these external projects you can use LLVM to compile Ruby, Python, Haskell, Rust, D, PHP, Pure, Lua, Julia, and a number of other languages. A major strength of LLVM is its versatility, flexibility, and reusability, which is why it is being used for such a wide variety of different tasks: everything from doing light-weight JIT compiles of embedded languages like Lua to compiling Fortran code for massive super computers.

GSoC Participation History

Technologies

Topics

Past Projects

Incremental build support for the modules driver

Until recently, explicit module builds were only supported for Clang modules. With the -fmodules-driver mode upstream patch being merged, the...

Teach the Clang Static Analyzer to understand lifetime annotations

The Clang Static Analyzer (CSA) can find a wide range of temporal memory errors such as use-after-free and dangling references. Some of its checkers,...

CIR Combine: Cross-Boundary Analysis for Heterogeneous CUDA/HIP Compilation

Today, LLVM's offload compilation keeps host and device code strictly separate; they only reunite late in the pipeline when the device binary is...

Extending Clang API Notes for C++: Overload-Specific Annotations for Ordinary Methods

This project extends Clang API Notes to support overload-specific annotations for C++ member functions. Today, API Notes cannot distinguish between...

Adding native Fortran support in LLDB

As the LLVM Flang frontend matures, a significant gap has emerged between compilation and diagnostic capabilities. Currently, LLDB does not provide...

Integrating a Remarks Analysis Engine into LLVM Advisor

This project aims to upgrade the llvm-advisor diagnostic tool into a scalable, active analysis workbench for massive workloads. The implementation...

Static Memory Planner for MLIR

MLIR already makes allocation and deallocation structure explicit after bufferization and the ownership-based deallocation pipeline, but it still...

Enable clangd support for HLSL

The goal of this project is to enable support for the High-Level Shading Language (HLSL) in clangd, allowing shader developers to benefit from modern...

Use LLVM libc math routines for compiler-rt floating point routines

compiler-rt builtins provide software floating-point routines (__addtf3, __multf3, __floatsitf, etc.) for targets that lack hardware FP support. The...

Upstreaming -fbounds-safety

-fbounds-safety is a C language extension designed to prevent out-of-bounds memory accesses. Currently, upstream Clang provides partial support for...

Improving Clang-Doc

Clang-Doc is LLVM's modern C/C++ documentation generator built on the compiler AST rather than heuristic text parsing. A key blocker to its adoption...

Improving lit

This project aims to modernize the LLVM Integrated Tester (lit) to improve its execution speed and long-term maintainability. Performance is...

Enable float80/float128 on Unsupported Targets for LLVM libc

This proposal is based on the LLVM project for GSoC 2026 with the same title, from Tue Ly, Nicolas Celik and Krishna Pandey. Discourse:...

Frequently Asked Questions

LLVM Compiler Infrastructure | GSoC Org Profile & Stats - Learn about LLVM Compiler Infrastructure's involvement in Google Summer of Code (GSoC), their technologies, detailed reports.

|Currently Active|

Contributor Readiness

Participation

Projects

Top Programming Languages

c dominates with primary adoption

Project Difficulty Distribution

Beginner
0
Intermediate
0
Advanced
0

No difficulty data available