
LLVM Compiler Infrastructure
LLVM Compiler Infrastructure
- 133
- Projects
- 11
- Years accepted
- 13
- In 2026
Projects by year
1332026
13 acceptedShow
Incremental build support for the modules driver
Accepted project · by Aadarsh Keshri
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
Accepted project · by Benedek Kaibas
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
Accepted project · by David Rivera
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
Accepted project · by Dominic Stöcker
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
Accepted project · by Iason Karaprodromidis
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
Accepted project · by kamini08
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
Accepted project · by KrishGupta
MLIR already makes allocation and deallocation structure explicit after bufferization and the ownership-based deallocation pipeline, but it still...
Enable clangd support for HLSL
Accepted project · by Maria Fernanda Guimaraes
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
Accepted project · by Mohamed Emad
compiler-rt builtins provide software floating-point routines (__addtf3, __multf3, __floatsitf, etc.) for targets that lack hardware FP support. The...
Upstreaming -fbounds-safety
Accepted project · by Mohammed.Ashraf
-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
Accepted project · by NeilN
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
Accepted project · by prasoon054
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
Accepted project · by Sukumar Sawant
This proposal is based on the LLVM project for GSoC 2026 with the same title, from Tue Ly, Nicolas Celik and Krishna Pandey. Discourse:...
2025
13 acceptedShow
This project aims to enhance LLDB's disassembler by annotating machine instructions with source-level variable information, such as variable...
ClangIR is a new, MLIR-based intermediate representation of C and C++ code. It has been developed in an LLVM incubator project, but work is now...
Usability Improvements for trapping Undefined Behavior Sanitizer
Accepted project · by Anthony Tran
The primary vision is to enhance clang’s UBSan trap mode by tackling the three main goals, which include adding a warning to the...
Clang-Doc leverages Clang’s robust tooling and rich symbol information in the AST to generate documentation. It is lacking in some essential...
Enzyme, Rust's automatic differentiation tool, faces challenges with reliability and performance due to limited type information in LLVM-IR. This...
This proposal is based on the LLVM project for GSoC 2025 with the same title, from Tue Ly and Nicolas Celik. Discourse:...
Performance and Exhaustive Testing of C Standard Math Functions on GPUs
Accepted project · by Leandro Lacerda
This proposal aims to refine and expand the testing infrastructure in the LLVM C library to help users balance speed and accuracy of math functions...
LLVM Compiler Remarks Visualization Tool for Offloading
Accepted project · by Miguel Cárdenas
LLVM generates valuable information through remarks, profiling, and runtime annotations that becomes difficult to navigate as projects grow. This...
The current implementations of the LLVM Project, have a drawback that every language frontend that wants to support Foreign Function Interface(FFI)...
Support simple C++ modules use from the Clang Driver without a Build System
Accepted project · by Naveen Seth Hanig
This proposal seeks to extend the build system in Clang's driver to natively support module-based builds by leveraging Clang's existing support for...
LLVM currently lacks a type capable of representing raw memory, similar to unsigned char, char and std::byte in C/C++. The absence of such a type is...
Improve I/O performance in the libc implementation for GPU using io_uring
Accepted project · by Rodrigo Ceccato
Many HPC applications rely on GPUs for fast and efficient computation. At the same time, there is an effort to bring more programmability and...
Advanced symbol resolution and reoptimization for clang-repl
Accepted project · by Sahil Patidar
Clang-REPL is an incremental compiler that enables interactive programming in C and C++, combining the flexibility of a REPL with the performance of...
2024
12 acceptedShow
- GPU Libc BenchmarkingJames Hu
- Support clang plugins on Windowsthomas fransham
- Improve Clang-DocPeter Chou
- OpenCL C Support for ClangIR7mile
- Out of process execution for Clang-ReplSahil Patidar
- Reviving NewGVNManuel Brito
- Statistical Analysis of LLVM-IR CompilationAndrew K
- LLVM.org Website RedesignChaitanya Shahare
- Half precision in LLVM libcOverMighty
- Addition of 3-way comparison intrinsic to LLVMVolodymyr Vasylkun
- Build & Run SingleSource Benchmarks with ClangIR - Part 2Vinicius Espindola
- The 1001 thresholds in LLVMSh0g0
2023
20 acceptedShow
- ExtractAPI while buildingAnkur Saini
- WebAssembly Support for clang-replAnubhab Ghosh
- Modules Build Daemon: Build System Agnostic Support for Explicitly Built ModulesConnor Sughrue
- Interactive MLIR query tool to make exploring the IR easierDevajith Valaparambil Sreeramaswamy
- Improving Compile TimesDhruv Chawla
- Adding C++ Support to Clang's ExtractAPIErick Velez
- Optimizing MLIR’s Presburger librarygilsaia
- Adapting IR Load Semantics to Freeze All or Freeze Only Uninitialized DataJohn McIver
- Addressing Rust optimization failures in LLVMKohei Asano
- Tutorial development with clang-replKrishna Narayanan
- Fix Handling of Undefined Behavior in NewGVNManuel Brito
- Map LLVM values to corresponding source-level expressionsphyBrackets
- Machine Learning Guided Ordering of Compiler Optimization PassesPuneeth A R
- Patch based test coverage for quick test feedbackShivamGupta123
- Re-optimization using JITLinkSunho Kim
- Improvements in Clang DiagnosticsTakuya Shimizu
- Build & Run SingleSource Benchmarks with ClangIRVinicius Espindola
- Better Performance Models for MLGO TrainingViraj Shah
- Enhancing llvm-cov to Generate Hierarchical Coverage ReportsYuhao Gu
- Autocompletion in Clang-REPLYuquan Fu
2022
13 acceptedShow
- Make Enzyme plugin callable from The New Pass Manager in LLVMShakil
- Graph Based Features for Better ML Guided Live Range Eviction HeuristicsAiden Grossman
- Improving Clang DiagnosticsMuhammad Usman
- Moving Instruction Rules to TablegenManuel Drehwald
- Non-Determinacy based optimizations in Parallel ProgramsAbhishekvu
- Write JITLink support for new format/architectureSunho Kim
- Learning loop transformation policy and it's effect on RISC-VeopXD
- Remove undef: Move Uninitialized Memory to PoisonJohn McIver
- Implement support for C++17 structured bindings in the Clang Static AnalyzerDomján Dániel
- Shared Memory Based JITLink Memory ManagerAnubhab Ghosh
- Learning Live Ranges Priority PolicyEric Wang
- Instrumentation of Clang/LLVM for Compile TimeJunduo Dong
- Extend clang to preserve type sugar when performing member access on template specializationmizvekov
2021
16 acceptedShow
- Fix Fundamental Issues in LLVM IRKrishna Kariya
- Machine Learning Guided Ordering of Compiler Optimization PassesTarindu Jayatilaka
- Making Smart Pointer Checkers default checkers in the Static AnalyzerDeep Majumder
- Learning Loop Transformation HeuristicsAli Sedaghati
- Integrate custom derivatives of Numerical Computing routines like BLAS and Eigen into EnzymePratyush Das
- Improving OpenMP code generation with prediction of runtime parametersKonstantin Sidorov
- Distributed lit testingSoham Dixit
- Fix miscompilation issues in LLVM IR using the ‘Freeze’ instructionHyeongyu Kim
- Integrate Enzyme into Rust to Provide High-performance Differentiation in RustChuyang Chen
- Utilize LoopNest PassToshiki Maekawa
- Improve inter-procedural analyses and optimizationsKuter Dinel
- Use official isl C++ bindings for pollyRiccardo Mori
- Fixing fundamental issues in LLVM IR: Introducing a byte type to solve load type punningGeorge Mitenkov
- Integrating Enzyme into RustManuel Drehwald
- Evolving the LLDB GUIOmar Emara
- Inlining: using locally optimal inlining decisionsLiq Tao
2020
15 acceptedShow
- Improve Parallelism-Aware Analyses and OptimizationsStefan Stipanovic
- Add DWARF Support for yaml2objXing GUO
- Advanced Heuristics for Ordering Compiler Optimization PassesHideto Ueno
- Improve hot cold splitting to aggressively outline small blocksRuijie Fang
- Unify ways to move code or check if code is safe to be movedRithik Sharma
- Support autosuggestions in LLDB's command lineShu Anzai
- Advanced Heuristics for Ordering Compiler Optimization PassesTarindu Jayatilaka
- Implement the missing tab completions for LLDB's command lineGongyu Deng
- SPIR-V to LLVM IR dialect conversion in MLIRGeorge Mitenkov
- Find null smart pointer dereferences with the Static AnalyzerNithin V Rajendrakumar
- Improve inter-procedural analyses and optimizationsShinji Okumura
- Latency Hiding for Host to Device Memory TransfersHamilton Tobon Mosquera
- Improve MergeFunctions to incorporate MergeSimilarFunctions patches and ThinLTO SupportVishal Chebrolu
- Improve inter-procedural analyses and optimizationsKuter Dinel
- Deduce attributes for non-exact functionsLuofan Chen
2019
8 acceptedShow
- libObjectcopyAlex Brachet
- Improve (function) attribute inferenceHideto Ueno
- Improve (function) attribute inferenceStefan Stipanovic
- Speculative compilation in LLVM ORC - Just in time APIsPreeJackie
- Apply the Clang Static Analyzer to LLVM-based projectsCharusso
- Generation of Annotated SourcesWilliam Moses
- Improve LLVM binary utilitiesSeiya Nuta
- Enhancing bug reports in the Clang Static AnalyzerKristóf Umann
2018
8 acceptedShow
- Implement a single updater class for DominatorsChijun Sima
- Re-implement lldb-mi on top of the LLDB public APIAlexander Polyakov
- Using the Z3 SMT Solver to Validate Bugs Reported by the Clang Static AnalyzerMikhail Y R Gadelha
- Move the apt.llvm.org CI to OBSReshabh Sharma
- A checker for dangling string pointers in C++Réka Nikolett Kovács
- Improve Debugging of Optimized Codegramanas
- Devirtualization v2Piotr Padlewski
- Command line replacements for GNU BinutilsPaul Semel
2017
8 acceptedShow
- ThinLTO OptimizationsCharles Saternos
- Clang-based C/C++ diff toolJohannes Altmanninger
- Warn if virtual calls are made from constructors or destructorsXin Wang
- Enable Polyhedral Optimizations in XLA through LLVM/PollyAnnanay Agarwal
- ISL Memory Management Using Clang Static Analyzermalhar1995
- Building bash-completion for clangYuka Takahashi
- Improved Loop Execution Modeling in Clang Static AnalyzerPéter Szécsi
- Enabling Julia to target GPGPUs using PollySingapuram Sanjay S.V.
2016
7 acceptedShow
- Finding and analysing copy-pasted code with clangTeemperor
- Interprocedural Register Allocation in LLVMVivek Pandya
- SAFECode’s Memory Policy HardeningZhengyang Liu
- Improvement of vectorization process in Pollygroman
- Enabling llvm’s self-hosted modules builds using libstdc++CrisCristescu
- Polly as an Analysis Pass in LLVMUtpal
- Better Alias Analysis By Defaultgrievejia