optimizationstatic code analysiscompilerbackendfrontendcompilerscompiler apicode analysisprogramming languages and development toolsdebuggersdevelopment toolslibraries
This project aims to give LLVM-clang the ability to generate ExtractAPI symbol graph files as a side-effect of a regular compilation job. This can...
WebAssembly Support for clang-repl
Anubhab Ghosh
Clang includes libInterpreter, a framework for incrementally JIT compiling and executing C++ code. The goal of the project is to port this to...
Modules Build Daemon: Build System Agnostic Support for Explicitly Built Modules
Connor Sughrue
This project aims to implement a daemon that serves as a build system manager for modules, providing support for explicitly built modules...
Interactive MLIR query tool to make exploring the IR easier
Devajith Valaparambil Sreeramaswamy
This project aims to create an interactive query language for MLIR that will allow developers to dynamically query the MLIR IR. The tool will provide...
Improving Compile Times
Dhruv Chawla
This project aims to reduce the amount of time that LLVM spend on compiling code by focusing on hotspots in the code identified by profiling...
Adding C++ Support to Clang's ExtractAPI
Erick Velez
Clang’s ExtractAPI extracts information from C and Objective-C codebases to describe public API symbols and the relationships between them. It is...
Optimizing MLIR’s Presburger library
gilsaia
MLIR’s Presburger Library, FPL, provides mathematical abstractions for polyhedral compilation and analysis. When many set operations are performed in...
Adapting IR Load Semantics to Freeze All or Freeze Only Uninitialized Data
John McIver
This proposal outlines a continuation of the Google Summer of Code (GSoC) 2022 topic to move uninitialized memory to poison semantics. Starting with...
Addressing Rust optimization failures in LLVM
Kohei Asano
Rust is a popular system programming language that relies on LLVM for its compilation. Rust has a variety of features and paradigms and states “Zero...
Tutorial development with clang-repl
Krishna Narayanan
This project aims to develop tutorials demostrating the current capabilities of clang-repl. It also aims to investigate and research the requirements...
Fix Handling of Undefined Behavior in NewGVN
Manuel Brito
NewGVN was introduced to LLVM to cope with the limitations of the old GVN. It hasn't, however, seen widespread adoption, due to its bugs and missing...
Map LLVM values to corresponding source-level expressions
phyBrackets
This project aims to improve the accuracy of compiler-generated remarks and analysis reports by including corresponding source-level expressions in...
Machine Learning Guided Ordering of Compiler Optimization Passes
Puneeth A R
Standard optimization pipelines are used by developers to compile programs in LLVM clang like (O1, O2, O3, etc…). These are based on heuristics that...
Patch based test coverage for quick test feedback
ShivamGupta123
Most of the day to day tests in LLVM are regression tests executed by Lit, structured as source code or IR to be passed to some binary, rather than...
Re-optimization using JITLink
Sunho Kim
In Just-In-Time compilers we often choose a low optimization level to minimize compile time and improve launch times and latencies, however some...
Improvements in Clang Diagnostics
Takuya Shimizu
Clang diagnostic is an interface for programmers that assists them in writing bug-free, efficient source codes. The aim of this proposal is to...
Build & Run SingleSource Benchmarks with ClangIR
Vinicius Espindola
ClangIR is the newest attempt to tackle the lack of a higher-level intermediate representation for C++. Said representation would greatly benefit the...
Better Performance Models for MLGO Training
Viraj Shah
This project aims to improve the reward signal used in the RL-based training of MLGO models. I plan to integrate an existing GNN-based performance...
Enhancing llvm-cov to Generate Hierarchical Coverage Reports
Yuhao Gu
Clang supports source-based coverage that shows which lines of code are covered by the executed tests. It uses llvm-cov to generate coverage reports....
Autocompletion in Clang-REPL
Yuquan Fu
Clang-REPL enables developers to program in C++ in an exploratory manner via a read-eval-print-loop. Developers, however, have to type each letter or...