[PATCH] D92321: [WebAssembly] Allow element sections for nonzero table numbers
Sam Clegg via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 18 07:27:46 PST 2021
sbc100 added inline comments.
================
Comment at: llvm/lib/MC/WasmObjectWriter.cpp:936
+ W->OS << ElemKind;
+ }
+
----------------
wingo wrote:
> sbc100 wrote:
> > This is dead code no? Since that flag cannot be set?
> >
> > In fact all these changes to writeElemSection look unused (and therefore untested), perhaps we can split this out and make it part of a future PR?
> So the tableNumber changes above are definitely used and tested. Definitely possible to have non-zero table numbers for the indirect function table. I could remove this HAS_ELEM_KIND bit here but let me push back gently -- we would like to test that this output is spec-conforming and also that it "makes" sense" from a LLVM point of view (e.g. can round trip through `tables.s`). But the former is more important than the latter. By structuring this function to look more like the [binary spec]((https://webassembly.github.io/reference-types/core/binary/modules.html#binary-elemsec)) -- e.g. checking the `HAS_TABLE_NUMBER` flag instead of checking `TableNumber` -- I have greater confidence reading the code that it does what the spec says.
Sure, I don't really care if you check TableNumber of HAS_TABLE_NUMBER above.
But these six lines seems compltely pointless and in fact that are dead code right? This function doesn't write arbitrary tables it *only* writes the special __indirect_function_table (at least today). Can that ever have an ElemKind?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92321/new/
https://reviews.llvm.org/D92321
More information about the llvm-commits
mailing list