[llvm-dev] InstCombine, graph rewriting, Equality saturation
John Regehr via llvm-dev
llvm-dev at lists.llvm.org
Wed Sep 6 14:35:36 PDT 2017
Equality saturation is very cool work and Ross Tate mentioned to me that
he'd be happy to chat with you about this.
But also, you might take a look at some existing projects in this
general space that are already integrated with LLVM, such as Souper and
Alive.
InstCombine is pretty cool but developing techniques to build these
things automatically is awesome and on my wish list. There's potential
for improvements in all of: speed, code quality, and correctness.
While we're on the subject: Are the canonicalization rules for LLVM IR
documented anywhere?
Thanks,
John
https://github.com/google/souper
https://github.com/nunoplopes/alive
On 9/5/17 4:57 PM, (IIIT) Siddharth Bhat via llvm-dev wrote:
> Hello all,
>
> I've seen some discussion that InstCombine is "too general" and that
> llvm should implement a proper graph rewrite mechanism:
>
> Link to llvm-dev discussion about
> this: http://lists.llvm.org/pipermail/llvm-dev/2017-May/113219.html,
> Link to review where this came up (and I first heard about
> it): https://reviews.llvm.org/D37195.
>
> I wanted to understand what the current issues with InstCombine are, and
> if a graph rewriter prototype is something people are interested in. I
> find the idea appealing, from what little I know it, so I'd be
> interested in hacking something up.
>
> What would such a framework look like? Is there past literature on the
> subject? From what I know, many functional compilers using combinator
> based compilation were graph rewriting. Is there other prior art?
>
> Also, there is the idea of Equality Saturation
> (http://www.cs.cornell.edu/~ross/publications/eqsat/) that I found out
> about recently. Could this be used to augment the InstCombine
> infrastructure?
>
> Thanks,
> ~Siddharth
>
> --
> Sending this from my phone, please excuse any typos!
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
More information about the llvm-dev
mailing list