<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 15, 2017, at 10:10 AM, Radhika via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi,<br class=""><br class="">My name is Radhika Ghosal and I'd like to participate in this year's GSoC in LLVM. I have been using LLVM for a research project for some time now, and would love to contribute to it!<div class=""><br class=""></div><div class="">Below are the projects I'm interested in and a few questions; please correct me if I am understanding something incorrectly:<br class=""><br class="">- Code Compaction: [1]<div class=""><div class="">Is it necessary to implement code compaction solely using interprocedural link-time analyses, or this project may include compile-time optimizations for size as well? (as in the style of the `-Os` flag in gcc)</div><div class=""><br class=""></div><div class="">I ask because solely using LTO for doing so may restrict us to using the Gold linker or lld, both of which are still at development stage for embedded targets like ARM (for lld) and AVR (not included in Gold, may have lld support in the future), while compile-time optimizations for size may yield more immediate results.</div></div></div></div></div></blockquote><div><br class=""></div><div>It is rare to have link-time specific optimizations in LLVM, usually LTO is just a way to expose a larger body of code to the optimizer and thus getting better results.</div><div>The link to the article on the open-project page seems dead so I don’t know exactly what it was about. It seems also that this is quite an old “open project” so it is not clear if it is still of high interest. For instance these days Jessica is working on an outliner ( <a href="http://llvm.org/devmtg/2016-11/#talk21" class="">http://llvm.org/devmtg/2016-11/#talk21</a> ) to improve code-size aggressively, I don’t know if there are other aspect people are interested to look into.</div><div><br class=""></div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class=""><br class=""></div><div class="">- Encode Analysis Results in MachineInstr IR: [2]</div><div class="">Does the analysis information have to be encoded within metadata in the LLVM IR instructions (since the BasicBlock corresponding to the MachineBasicBlock is always available), or something else must be done? I am somewhat unsure of what is required, and would like to know more about the project.</div></div></div></div></div></blockquote><div><br class=""></div><div>I don’t know about this one, but hopefully someone else will chime in (CC Matthias randomly ;)).</div><div><br class=""></div><div>— </div><div>Mehdi</div><div><br class=""></div></div></body></html>