Siddharth Bhat via llvm-dev
2017-Sep-07 17:52 UTC
[llvm-dev] InstCombine, graph rewriting, Equality saturation
Thanks for the response. Should I create a small prototype of equality saturation as an LLVM pass so that there can be some concrete discussion on this? I'd love pointers. Thanks, Siddharth On Wed 6 Sep, 2017, 23:35 John Regehr via llvm-dev <llvm-dev at lists.llvm.org> wrote:> 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 > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-- Sending this from my phone, please excuse any typos! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170907/bff5911c/attachment-0001.html>
John Regehr via llvm-dev
2017-Sep-08 05:10 UTC
[llvm-dev] InstCombine, graph rewriting, Equality saturation
> Should I create a small prototype of equality saturation as an LLVM pass > so that there can be some concrete discussion on this? I'd love pointers.I think that would be awesome. John
Hal Finkel via llvm-dev
2017-Sep-08 23:48 UTC
[llvm-dev] InstCombine, graph rewriting, Equality saturation
On 09/08/2017 12:10 AM, John Regehr via llvm-dev wrote:>> Should I create a small prototype of equality saturation as an LLVM >> pass so that there can be some concrete discussion on this? I'd love >> pointers. > > I think that would be awesome.+1 The research implementation from Michael Stepp, Ross Tate, and friends is online: http://goto.ucsd.edu/~mstepp/peggy/ -Hal> > John > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-- Hal Finkel Lead, Compiler Technology and Programming Languages Leadership Computing Facility Argonne National Laboratory