GSoC 2020 Project "Improve MegreFunctions to incorporate MergeSimilarFunctions patches and ThinLTO Support"

Hello llvm developers,

I am Vishal Chebrolu, a final year undergraduate from National Institute of Technolgy, Calicut, India majoring in Computer Science and Engineering. This is to express my interest in the Google Summer of Code, 2020 project which is “Improve MergeFunctions to incorporate MergeSimilarFunctions patches and ThinLTO Support”. I came to know about the project from my current project mentor. I’ve read through the LCTES, 2014 paper and was very much interested to provide LLVM with the capabilities of MergeSimilarFunctions. I went through the slides of LLVM Dev Meeting, 2013 describing the merge similar functions idea and also watched the video of LLVM Dev Meeting, 2018 elaborating the process of Porting MergeFunctions to ThinLTO. Both the references helped me to get a rough idea of design and how to proceed with the project. I’ve also begun going through the 5 patches pertaining to the project and also skimmed through the llvm-dev mailing lists regarding MergeFunctions. I drafted a proposal with my current understanding of the project and submitted it through the GSoC portal and it is open to comments. I request people of the LLVM community to help me submit a good proposal. My current project mentor is in touch with the GSoC project mentor, Aditya Kumar. I write here with his consent and to gain more knowledge pertaining to the project.

About Me
As an undergraduate student, I have studied the Compiler Design course and Compiler Design Laboratory, supervised by Dr. Vineeth Paleri and have secured an “S” in the Laboratory course. In the lab, we have built a compiler for a new language called Object-Oriented Experimental Programming Language (OEXPL)[1]. During my final year, I have worked on a Continue-After-Error mode for AddressSanitizer in LLVM. As a prerequisite, I have built a front-end for the EXPL language supporting various features of the language. I have also built a pass for Global Common Sub-Expression Elimination in LLVM. My work relating to the final year project will be published after some necessary extensions within the scope of the project. The project has been supervised by Dr. UnniKrishnan from IIT Palakkad, India and Dr. K. Murali Krishnan from NIT Calicut, India. Dr. UnniKrishnan is in touch with the GSoC project mentor, Aditya Kumar. I have a thorough understanding of LLVM IR and have good experience in programming with C and C++. I am also familiar with SSA representation and x86 Assembly. Some of my works can be found in my GitHub profile.


  1. OEXPL

Vishal Chebrolu
National Institute of Technology, Calicut, India
Email -
GitHub -
LinkedIn -

Hi Vishal,

Glad you’re interested in LLVM!

If one of your professors has contact info of Aditya Kumar, I think it’s better for both you and him if you ask him for his e-mail address. That way you can CC him here because he’s the best person to help you and guide you.

Stefanos Baziotis

Στις Τετ, 18 Μαρ 2020 στις 8:33 μ.μ., ο/η Vishal Chebrolu via llvm-dev <> έγραψε:

CC'ed :slight_smile: