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

Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 16 11:16:35 PDT 2017


> On Mar 16, 2017, at 11:06 AM, Radhika <radhikaghosal at gmail.com> wrote:
> 
> Thank you very much for your replies. I tinker frequently with
> embedded systems and was hoping I could contribute to an `-Os` flag
> for LLVM or alternately, improving code generation in the experimental
> AVR backend if there is a willing mentor.

`-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.


> As for encoding analysis results in MachineInstr IR, it's a feature I
> too sorely need in the project I'm working on. Would it be helpful to
> implement a metadata-equivalent for MachineInstr so that analysis
> information can be passed down from IR to MI, or attaching metadata as
> a MachineOperand onto the MachineInstr ad-hoc?

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.


> Would this be a
> suitable project for GSoC? (I suspect this is not very complex a
> project and more may be required; I may be wrong)

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.


> For the 'Improve code generation testing' project, I'd like to suggest
> another improvement; adding the capability to develop code generation
> passes out-of-source, like that for `opt` and IR passes, but for
> loading into `llc` (this is unrelated to MIR, but related to testing
> code generation passes in general). I suspect this would be helpful
> for people developing machine-specific passes/tools (such as for
> optimizations in embedded systems). Your thoughts please?

I’m not totally convinced there is a huge benefit to this? Is it a such pain to re-build llc?

> 
> Lastly, I will be working at a university research lab (which also
> involves hacking on LLVM) over the summer. Would it still be alright
> for me to apply for GSoC?

GSoC is supposed to be a full-time commitment.


> If not, would it still be possible for me to
> informally contribute to one of the above projects and ask the
> potential mentor questions?

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.

Best,


— 
Mehdi



More information about the llvm-dev mailing list