Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NativeAOT-LLVM] Port (most of) compiler-generated helpers to WASM #2645

Merged
merged 2 commits into from
Aug 6, 2024

Conversation

SingleAccretion
Copy link

@SingleAccretion SingleAccretion commented Aug 4, 2024

Continuation of #2643.

The handwritten helpers offer a minor (-1K code size on HelloWasm) CQ improvement, mostly because LLVM is quite aggressive in inlining i32.const relocations, which are 5 bytes large without compression.

The accessor nodes will require some additions to the object writer and so have been left for the next change. After that is done, interop added in https://github.com/dotnet/runtimelab/pull/2615/files can also be deleted.

@SingleAccretion SingleAccretion changed the title [NativeAOT-LLVM] Port compiler-generated helpers to WASM [NativeAOT-LLVM] Port (most of) compiler-generated helpers to WASM Aug 4, 2024
@SingleAccretion
Copy link
Author

@dotnet/nativeaot-llvm

@maraf maraf added the area-NativeAOT-LLVM LLVM generation for Native AOT compilation (including Web Assembly) label Aug 6, 2024
Copy link
Contributor

@yowl yowl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite a big change! We still have some LLVMSharp after this change I suppose?

@SingleAccretion
Copy link
Author

Quite a big change! We still have some LLVMSharp after this change I suppose?

Just that little bit :). After the extern method accessor nodes are rewritten in the same way, all LLVM interop can be deleted from ILC.

@jkotas
Copy link
Member

jkotas commented Aug 6, 2024

Thank you!

@jkotas jkotas merged commit f4fd9dc into dotnet:feature/NativeAOT-LLVM Aug 6, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-NativeAOT-LLVM LLVM generation for Native AOT compilation (including Web Assembly)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants