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...