[clang] [lld] [llvm] [WebAssembly] Define call-indirect-overlong and bulk-memory-opt features (PR #117087)

Heejin Ahn via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 21 19:22:45 PST 2024


================
@@ -255,10 +255,11 @@ static void setRelocs(const std::vector<T *> &chunks,
   }
 }
 
-// An object file can have two approaches to tables.  With the reference-types
-// feature enabled, input files that define or use tables declare the tables
-// using symbols, and record each use with a relocation.  This way when the
-// linker combines inputs, it can collate the tables used by the inputs,
+// An object file can have two approaches to tables.  With the
+// call-indirect-overlong feature enabled (explicitly, or implied by the
+// reference-types feature), input files that define or use tables declare the
+// tables using symbols, and record each use with a relocation.  This way when
+// the linker combines inputs, it can collate the tables used by the inputs,
 // assigning them distinct table numbers, and renumber all the uses as
 // appropriate.  At the same time, the linker has special logic to build the
 // indirect function table if it is needed.
----------------
aheejin wrote:

```suggestion
// reference-types feature or call-indirect-overlong feature enabled
// (explicitly, or implied by the reference-types feature), input files that
// define or use tables declare the tables using symbols, and record each use
// with a relocation.  This way when the linker combines inputs, it can collate
// the tables used by the inputs, assigning them distinct table numbers, and
// renumber all the uses as appropriate.  At the same time, the linker has
// special logic to build the indirect function table if it is needed.
```
How about listing both feature here and elsewhere for some reader who might not know about the `call-indirect-overlong` feature, given that it is not a real Wasm proposal-based feature?

https://github.com/llvm/llvm-project/pull/117087


More information about the cfe-commits mailing list