[llvm-dev] [GSoC 2017] Project proposal queries

Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 17 11:34:06 PDT 2017


> On Mar 17, 2017, at 7:08 AM, Radhika <radhikaghosal at gmail.com> wrote:
> 
>> On Thu, Mar 16, 2017 at 11:46 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>> 
>> `-Os` already exists in LLVM. The way clang implements it is by adding a function attribute that passes and codegen are supposed to look at and honor.
>> 
>> If there is work, it can be about which heuristic / transformations in specific part of LLVM needs improvement to better honor this.
> 
> Got it, so if `-Os` fails to give significant gains (for instance, in
> the experimental AVR backend), it's because codegen for the arch needs
> improvement.
> 
>> Metadata in LLVM are supposed to be able to be ignored and dropped. Encoding analysis results in Metadata lead to some questions about invalidation etc.
>> 
>> I think it is more complex than you believe, to the point that I’d be surprised if it can be completed in a GSOC timeframe (which does not mean a GSOC can’t be purposed to explore it and setup initial infrastructure).
>> Think about serialization, invalidation, etc.
> 
> Did not consider this! What would be the best way to implement this in
> your opinion? I should have put in more thought... (would it be a good
> idea to add an annotation intrinsic function visible to the code
> generator?)

I haven’t given much thought to it, and I’m not working on the backends these days, I’m likely not the best person to answer.


> 
>> I’m not totally convinced there is a huge benefit to this? Is it a such pain to re-build llc?
> 
> There isn't any huge benefit, nor is it a pain to re-build llc; only
> makes distributing passes/tools easier if they can be built against an
> existing LLVM source installation. Considering the front-end and the
> middle-end both support this, it may not be a bad idea for the
> back-end to do so as well (please correct me if I'm wrong!).
> 
>> GSoC is supposed to be a full-time commitment.
>> 
>> Sure, LLVM is an open-source project and as a community we welcome anyone to be involved and we’re trying to be supportive. GSoC is just a way to get paid to work on interesting stuff, but anyone can work on the same interesting stuff the same way outside of GSoC, and “mentors” should be ready to help.
> 
> I was hoping to put in the requisite 30+ hours outside lab work and
> start early, but that's probably not a great idea; I'll apply next
> year (I'm a second-year undergrad) and meanwhile contribute outside of
> GSoC. Thank you very much for your help (and bearing with some
> possibly stupid questions and ideas)!

No stupid questions, it was a pleasure :)

— 
Mehdi



More information about the llvm-dev mailing list