[all-commits] [llvm/llvm-project] 35cce4: [WebAssembly] Support the new "Lime1" CPU (#112035)
Dan Gohman via All-commits
all-commits at lists.llvm.org
Tue Dec 3 16:35:44 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 35cce408eef1a253df12c0023c993d78b180b1f3
https://github.com/llvm/llvm-project/commit/35cce408eef1a253df12c0023c993d78b180b1f3
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
Log Message:
-----------
[WebAssembly] Support the new "Lime1" CPU (#112035)
This adds WebAssembly support for the new [Lime1 CPU].
First, this defines some new target features. These are subsets of
existing
features that reflect implementation concerns:
- "call-indirect-overlong" - implied by "reference-types"; just the
overlong
encoding for the `call_indirect` immediate, and not the actual reference
types.
- "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
`memory.fill`, and not the other instructions in the bulk-memory
proposal.
Next, this defines a new target CPU, "lime1", which enables
mutable-globals,
bulk-memory-opt, multivalue, sign-ext, nontrapping-fptoint,
extended-const,
and call-indirect-overlong. Unlike the default "generic" CPU, "lime1" is
meant
to be frozen, and followed up by "lime2" and so on when new features are
desired.
[Lime1 CPU]:
https://github.com/WebAssembly/tool-conventions/blob/main/Lime.md#lime1
---------
Co-authored-by: Heejin Ahn <aheejin at gmail.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list