[llvm-dev] [GSOC] Potential Project Ideas

suyog sarda via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 25 02:19:43 PDT 2016


Hi Siddharth,

As far as moving optimization out of instcombine to instsimplify pass is
concerned, i had done this exercise some time back.

If you look at the 'visit*' functions in the instcombine pass, there is
always a call to 'simplify*' functions which returns 'Value*'.
It is then used to replace instruction with Value -> replaceInstUsesWith(I,
V) and return back; if simplify returns any Value. If 'simplify*' call
returns a NULL value, further processing of combining instructions take
place.

There were instances though, that in this further processing, instructions
combination results in a Value instead of a new Instruction.
Such instances could have been handled earlier in 'simplify*' call itself.
Please look for such instances and try to move them to instsimplify
as a start point in this exercise (Not sure if still such instances exist,
please search for them).

Instcombine and Instsimplify are good start point to understand LLVM
compiler framework.

Regards,
Suyog Sarda

On Fri, Mar 25, 2016 at 11:41 AM, Siddharth Mahendraker via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hello,
>
> My name is Siddharth. I’m a student studying math and computer science at
> the University of Toronto.
>
> I’m interested in learning more about the LLVM compiler through GSoC. I
> have no prior experience with LLVM, but I have a strong interest in
> compilers, and I look forward to learning more.
>
> I would like to pursue one of two potential projects: rewriting bugpoint,
> and moving optimizations out of the -instacombine pass and into
> InstructionSimplify.
>
> Is anyone currently working on implementing these? Are these projects
> suitable for a beginner? Any guidance is much appreciated.
>
> Regards,
>
> Siddharth
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160325/861a1d6b/attachment.html>


More information about the llvm-dev mailing list