github-actions[bot] commented on issue #3589:
Subscribe to Label Action
cc @cfallin, @fitzgen
<details>
This issue or pull request has been labeled: "cranelift", "cranelift:meta", "cranelift:module", "cranelift:wasm", "isle"Thus the following users have been cc'd because of the following labels:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
fitzgen commented on issue #3589:
I think we should wait on https://github.com/bytecodealliance/wasmtime/pull/3585 getting fixed before doing our next release.
cfallin commented on issue #3589:
+1 to that; uncomfortable releasing with a potential codegen issue.
cfallin commented on issue #3589:
It looks like an issue with
iadd_ifcout
; the lowering only returns the add result, but it's supposed to be both the add result and the carry flag.I pushed an update to the assertion to the same branch in my fork (it was asserting just for one dst, not for all, but it's still a mismatch). Will look at the lowering, maybe it's simple to fix, otherwise we can just back out
iadd_ifcout
from ISLE for now to allow the release, I think.
cfallin commented on issue #3589:
Further interesting twists:
iadd_ifcout
in the pre-ISLE world also wrote only to its first output (the add result) when lowered by itself. We have a separate pattern-match wheniadd_ifcout
is used by atrapif
to explicltly do the right thing. As I recall, this special-casing is just enough to get the dynamic heap checks to work, and since we eventually wantiflags
-type values to be replaced by bools and pattern-matching, I don't think we want to fully reify theiflags
in ISLE. Probably the best option is to just return a freshly-allocated second temp for the flags for now; anything that usesiflags
will not be handled by ISLE so we will not be in danger of actually using it.
cfallin commented on issue #3589:
Err, sorry, just realized I had written the above two comments on the wrong issue; will copy-paste over to the assertion issue and delete here.
cfallin deleted a comment on issue #3589:
It looks like an issue with
iadd_ifcout
; the lowering only returns the add result, but it's supposed to be both the add result and the carry flag.I pushed an update to the assertion to the same branch in my fork (it was asserting just for one dst, not for all, but it's still a mismatch). Will look at the lowering, maybe it's simple to fix, otherwise we can just back out
iadd_ifcout
from ISLE for now to allow the release, I think.
cfallin deleted a comment on issue #3589:
Further interesting twists:
iadd_ifcout
in the pre-ISLE world also wrote only to its first output (the add result) when lowered by itself. We have a separate pattern-match wheniadd_ifcout
is used by atrapif
to explicltly do the right thing. As I recall, this special-casing is just enough to get the dynamic heap checks to work, and since we eventually wantiflags
-type values to be replaced by bools and pattern-matching, I don't think we want to fully reify theiflags
in ISLE. Probably the best option is to just return a freshly-allocated second temp for the flags for now; anything that usesiflags
will not be handled by ISLE so we will not be in danger of actually using it.
cfallin deleted a comment on issue #3589:
Err, sorry, just realized I had written the above two comments on the wrong issue; will copy-paste over to the assertion issue and delete here.
alexcrichton commented on issue #3589:
With #3585 landed is this otherwise good-to-go? If so I can try to update the release notes today as well before merging.
cfallin commented on issue #3589:
I think so, yes!
fitzgen commented on issue #3589:
Yeah, I think we are good to go now.
Last updated: Dec 23 2024 at 12:05 UTC