[llvm-dev] InstCombine, graph rewriting, Equality saturation

(IIIT) Siddharth Bhat via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 5 15:57:34 PDT 2017


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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170905/80d0f820/attachment.html>


More information about the llvm-dev mailing list