aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
diff options
context:
space:
mode:
authorDan Gohman <dev@sunfishcode.online>2024-12-02 17:08:07 -0800
committerGitHub <noreply@github.com>2024-12-02 17:08:07 -0800
commitc3536b263f253a69fb336fb0617ee33a01a5c5dd (patch)
tree3be2dbe8cdd9338a7a5ee3e7ef60cfea762478fd /llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
parentf71ea4bc1b01fd7e29048db82b3e21fba74e8dab (diff)
downloadllvm-c3536b263f253a69fb336fb0617ee33a01a5c5dd.zip
llvm-c3536b263f253a69fb336fb0617ee33a01a5c5dd.tar.gz
llvm-c3536b263f253a69fb336fb0617ee33a01a5c5dd.tar.bz2
[WebAssembly] Define call-indirect-overlong and bulk-memory-opt features (#117087)
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. This is split out from https://github.com/llvm/llvm-project/pull/112035. --------- Co-authored-by: Heejin Ahn <aheejin@gmail.com>
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
index 558aaa3..210a35e 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
@@ -895,7 +895,7 @@ bool WebAssemblyFastISel::selectCall(const Instruction *I) {
// The table into which this call_indirect indexes.
MCSymbolWasm *Table = WebAssembly::getOrCreateFunctionTableSymbol(
MF->getContext(), Subtarget);
- if (Subtarget->hasReferenceTypes()) {
+ if (Subtarget->hasCallIndirectOverlong()) {
MIB.addSym(Table);
} else {
// Otherwise for the MVP there is at most one table whose number is 0, but