Stream: git-wasmtime

Topic: wasmtime / issue #5647 Cranelift: Add egraph rule to rewr...


view this post on Zulip Wasmtime GitHub notifications bot (Jan 27 2023 at 22:39):

fitzgen commented on issue #5647:

cc @jameysharp, any idea what might be causing this ISLE codegen bug?

view this post on Zulip Wasmtime GitHub notifications bot (Jan 27 2023 at 23:29):

jameysharp commented on issue #5647:

I think there's a codegen bug here that I should look into, but I don't think it's urgent because this bug can only happen with multi-terms, and I believe there's an easy workaround applicable to rules in any multi-constructor.

I think if you remove the priorities from these rules, everything will work. You've forced ISLE to evaluate two rules in a specific order, where both rules need to loop over the same inst_data multi-extractor result. By giving ISLE the freedom to schedule these rules in any order, you'll allow it to loop over that extractor only once, so it won't try to reuse an iterator that's already been consumed.

Since egraph simplifications are specified in a multi-constructor term, all matches will be returned, so you don't need to set rule priorities to ensure that the right rule wins. I don't believe there's any significant impact on elaboration results from the order that simplifications are returned in, either.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 30 2023 at 20:55):

fitzgen commented on issue #5647:

That fixed it! Thanks @jameysharp!


Last updated: Nov 22 2024 at 16:03 UTC