<div dir="ltr">Hello,<br><br><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">I am an undergrad from India. This summer, I'm interested in working on fixing the fundamental issues in LLVM's IR. I have a moderate understanding of LLVM IR. I also did my Google Summer of Code 2020 with LLVM, where I worked on unifying code motion checks present in loop transformation and analysis passes. (</span><a style="background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)" target="_blank" href="https://summerofcode.withgoogle.com/archive/2020/projects/5488234206855168/" class="editor-rtfLink"><span style="background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)">Phabricator</span></a><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">) (</span><a style="background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)" target="_blank" href="https://summerofcode.withgoogle.com/archive/2020/projects/5488234206855168/" class="editor-rtfLink"><span style="background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)">GSoC archive</span></a><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">)</span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">I followed some previous messages about the project and found some resources to read. I visited alive2's dashboard and found that I worked with these passes during my previous GSoC and have a good understanding of these passes.</span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">I also read the paper and followed the slides. The paper closely describes the need for making changes in the LLVM IR, and it also describes few techniques to achieve the goal. Introducing poison, freeze, and more methods to weaken the undefined behavior sounds exciting and required in the LLVM IR. </span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">I looked at the bug logs (</span><a style="background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)" target="_blank" href="https://web.ist.utl.pt/nuno.lopes/alive2/index.php?hash=a608503f5881d583" class="editor-rtfLink"><span style="background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt;color:rgb(74,110,224)">link</span></a><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">) of alive2, and I found that in a few passes, the reason for failure is the same (maybe different conditions but same reason). I am thinking of grouping all similar bugs and targeting the bugs in groups. I believe that the same type of error will trigger similar or related semantics fixtures.</span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">I also watched your talks at PLDI 2017, 2016 LLVM developers' meeting, and 2020 LLVM developers' meeting and enjoyed all the talks. I also want to congratulate Nuno and Juneyoung on their paper getting selected in PLDI'21. I will be joining the conference as a student volunteer.</span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><br></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">I liked the whole idea, and it looks pretty rational and exciting to me. I'll start drafting the proposal after your initial feedback/suggestions. I'm really very excited to work on this.<br><br></span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">Best regards,<br></span></p><p style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(14,16,26);background:transparent none repeat scroll 0% 0%;margin-top:0pt;margin-bottom:0pt">Rithik Sharma<br></span></p></div>