This is an archive of the discontinued LLVM Phabricator instance.

[Webassembly][multivalue] update libcall signature when multivalue feature enabled
ClosedPublic

Authored by HerrCai0907 on Mar 16 2023, 8:19 PM.

Details

Summary

fixed: #59095
Update libcall signatures to use multivalue return rather than returning via a pointer
when the multivalue features is enabled in the WebAssembly backend.

Diff Detail

Event Timeline

HerrCai0907 created this revision.Mar 16 2023, 8:19 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 16 2023, 8:19 PM
HerrCai0907 requested review of this revision.Mar 16 2023, 8:19 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 16 2023, 8:19 PM

For the description, here's some possible clearer wording:

Update libcall signatures to use multivalue return rather than returning via a pointer when the multivalue features is enabled in the WebAssembly backend.

We also still don't have a stable C calling convention that uses multivalue, so this doesn't seem entirely future-proof, but maybe that's ok.

llvm/docs/ReleaseNotes.rst
145 ↗(On Diff #505976)

We don't typically add release notes for bug fixes like this (although maybe we should?)

llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
2

It would be good to use the utils/update_llc_test_checks.py script to automatically produce the test output.

5

Incomplete sentence?

22–25

I don't think the CHECK lines are actually being checked because FileCheck is only run with MULTIVALUE and NO_MULTIVALUE prefixes.

HerrCai0907 retitled this revision from [Webassembly][multivalue] select correct libcall signature when multivalue feature enabled to [Webassembly][multivalue] update libcall signature when multivalue feature enabled.
HerrCai0907 edited the summary of this revision. (Show Details)

update test, remove description in release note

update comment in testcase

LGTM besides using the test update script.

llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
5
HerrCai0907 marked 3 inline comments as done.

update testcase using utils/update_llc_test_checks.py

tlively accepted this revision.Mar 20 2023, 8:32 AM
This revision is now accepted and ready to land.Mar 20 2023, 8:32 AM

Code LGTM, although it looks like there may be some missing cases reported in https://github.com/llvm/llvm-project/issues/59095. Testing the end-to-end integration here might be a good thing to do in cross-project-tests.

This revision was landed with ongoing or failed builds.Mar 20 2023, 9:26 PM
This revision was automatically updated to reflect the committed changes.
HerrCai0907 marked an inline comment as done.