Is InstructionSimplify still a good place to contribute?

I’m looking for some opportunities to contribute to the LLVM core without too big of a learning curve. The open projects page suggests moving logic from the instruction combining transformation to the InstructionSimplify analysis. But it looks like some work has been done there since the projects page was last edited. Is there more benefit to be gained?

Thanks,

Hi Charlie,

I'm looking for some opportunities to contribute to the LLVM core without too
big of a learning curve. The open projects page
<The LLVM Compiler Infrastructure Project; suggests moving logic from the
instruction combining transformation to the InstructionSimplify analysis. But
it looks like some work has been done there since the projects page was last
edited. Is there more benefit to be gained?

yes. InstSimplify is for transforms that do not create new instructions, for
example X-(X-Y) can be simplified to Y by instsimplify because Y was already
present. On the other hand X-(X+Y) cannot be simplified to -Y by instsimplify
because it would have to create -Y as it wasn't present in the original
expression. If you start looking through instcombine you should quickly find
some transforms that can be moved to instsimplify. Sometimes entire transforms
cannot be moved, but special cases of the transform can be. Of course a lot of
important transforms were moved already.

Ciao, Duncan.