search for: metaborg

Displaying 4 results from an estimated 4 matches for "metaborg".

2017 Sep 09
3
InstCombine, graph rewriting, Equality saturation
...and make them happen all at once, avoiding intermediate results and associated allocations/deallocations. Nuno has some ideas along these lines. > I'm not sure how closely it matches what we would need, but Stratego/XT > comes to mind in terms of prior art (now here: > http://www.metaborg.org/en/latest/). There's been a lot of work over the > years on terminating graph rewriting systems in compilers. I went down this rabbit hole a few years ago, there's indeed a lot of existing material. John
2017 Jul 14
2
failing to optimize boolean ops on cmps
On 07/13/2017 06:40 PM, Daniel Berlin via llvm-dev wrote: > Ah yes, it can only return one instruction and you need two. > > NewGVN could still handle it if instsimplify was changed to return the > right binary operators because it has infrastructure that can handle > insertion. > (it would need a little work). > > > (At this point, InstCombine seems to have become
2017 Sep 05
5
InstCombine, graph rewriting, Equality saturation
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
2017 Jul 14
2
failing to optimize boolean ops on cmps
...uot;perform > all possible graph rewrites", that pass is in fact, your compiler :) > > That's not such a bad thing, mind you, there are entire > libraries/languages centered around this (see, e.g., stratego, > https://en.wikipedia.org/wiki/Stratego/XT and > http://www.metaborg.org/en/latest/source/langdev/meta/lang/stratego/strategoxt/index.html), > but it should be a deliberate thing. > > e problem we have, however, is that we have phase-ordering > problems (even within the fixed-point iteration scheme): Patterns > being matched depend on a c...