[llvm-dev] Equality saturation: Status & how-to-upstream discussion

(IIIT) Siddharth Bhat via llvm-dev llvm-dev at lists.llvm.org
Sun Sep 17 17:35:32 PDT 2017

Hello all,

I've been working on a prototype implementation of equality saturation on a
personal branch:


For those who have read the paper, I now create A-PEG nodes. I need to
create PEG nodes from these.

There are four more "steps" before this is a minimal, conservatively
correct implementation:

- Fill in the BasicBlock nodes with information from llvm::BasicBlock.
- Implement the PEG -> CFG back-conversion (what the paper calls reversion).
- Figure out how to handle things like switch and more complex terminators
which are not directly handled by the original paper (as far as I have
seen. Please correct me if am wrong).

This brings me to the question, how is this going to be upstreamed? Will I
have to write an RFC that details what changes are proposed by this?

I'm new to adding a large "chunk" of changes, so any help is very

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/20170918/61bda79b/attachment.html>

More information about the llvm-dev mailing list