Stream: git-wasmtime

Topic: wasmtime / Issue #1498 Cranelift: clean up generated call...


view this post on Zulip Wasmtime GitHub notifications bot (Apr 10 2020 at 20:55):

iximeow opened Issue #1498:

In isa/x86/abi.rs we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operations stack_load and stack_store are not directly encodable. In other parts of a function, stack_load and stack_store would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*), but prologue/epilogue addition happen after both legalization and register allocation.

When stack_load and stack_store can be directly encoded, we can switch to those, remove an explicit stack_address, and simplify x86 callee-preserved FPR machinery.

For more, see this comment and this comment.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 10 2020 at 20:55):

iximeow labeled Issue #1498:

In isa/x86/abi.rs we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operations stack_load and stack_store are not directly encodable. In other parts of a function, stack_load and stack_store would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*), but prologue/epilogue addition happen after both legalization and register allocation.

When stack_load and stack_store can be directly encoded, we can switch to those, remove an explicit stack_address, and simplify x86 callee-preserved FPR machinery.

For more, see this comment and this comment.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 10 2020 at 20:56):

github-actions[bot] commented on Issue #1498:

Subscribe to Label Action

cc @bnjbvr

<details>
This issue or pull request has been labeled: "cranelift"

Thus the following users have been cc'd because of the following labels:

To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.

Learn more.
</details>

view this post on Zulip Wasmtime GitHub notifications bot (Apr 10 2020 at 20:56):

iximeow edited Issue #1498:

In isa/x86/abi.rs we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operations stack_load and stack_store are not directly encodable. In other parts of a function, stack_load and stack_store would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*), but prologue/epilogue addition happen after both legalization and register allocation.

When stack_load and stack_store can be directly encoded, we can switch to those, remove an explicit stack_address, and simplify x86 callee-preserved FPR machinery. #1198 adds these encodings.

For more, see this comment and this comment.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 03 2021 at 18:25):

bjorn3 commented on Issue #1498:

I think this is fixed with the new backend framework.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 03 2021 at 19:18):

cfallin closed Issue #1498:

In isa/x86/abi.rs we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operations stack_load and stack_store are not directly encodable. In other parts of a function, stack_load and stack_store would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*), but prologue/epilogue addition happen after both legalization and register allocation.

When stack_load and stack_store can be directly encoded, we can switch to those, remove an explicit stack_address, and simplify x86 callee-preserved FPR machinery. #1198 adds these encodings.

For more, see this comment and this comment.


Last updated: Nov 22 2024 at 17:03 UTC