Purva Chaudhari

Research Intern

email: purva.chaudhari02@gmail.com

Education: Computer Science, Vishwakarma Institute of Technology

Completed project: Enhance the incremental compilation error recovery in clang and clang-repl
The Clang compiler is part of the LLVM compiler infrastructure and supports various languages such as C, C++, ObjC and ObjC++. Advancements in JIT infstructure and usability of Clang libriries in LLVM has enabled research into processing C++. It has been challenging to include incremental compilation and fitting compile time optimizations into a more dynamic environment. Incremental compilation pipelines process code chunk-by-chunk by building an ever-growing translation unit. Code is then lowered into the LLVM IR and subsequently run by the LLVM JIT. The incremental compilation mode is used by the interactive C++ interpreter, Cling, initially developed to enable interactive high-energy physics analysis in a C++ environment. Clang-repl is a new-tool incroporated in LLVM ecosystem by residesigning parts of Cling in Clang mainline. The project aims at enhancing the error recovery when users type C++ at the prompt of clang-repl.

Project Proposal: URL

Mentors: Vassil Vassilev, David Lange

Completed project: Reduce boost dependencies in CMSSW
This project has the objective to reduce CMSSW technical debt by finding and replacing boost dependencies that have an equivalent solution in standard C++. Reducing boost dependencies helps us create more lightweight boost clang modules for upcoming c++20. This also reduces the amount of headers that we need to work on to be able to use c++20 clang modules.

Project Proposal: URL

Project Reports: URL

Mentors: Vassil Vassilev, David Lange

Presentations



Enhance the incremental compilation error recovery in clang and clang-repl - Project Roadmap and Updates, Slides, Team Meeting, 30 March 2022