search for: stratego

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

Did you mean: strategy
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 Jul 14
2
failing to optimize boolean ops on cmps
...e what you > want each pass to do, and if you have one pass whose job is "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 t...
2017 Sep 09
3
InstCombine, graph rewriting, Equality saturation
...t should also be possible to find chains of transformations that fire in sequence 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....
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