[PATCH] D90948: [WebAssembly] call_indirect issues table number relocs

Andy Wingo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 26 07:59:51 PST 2021


wingo requested review of this revision.
wingo removed a reviewer: aardappel. wingo added 1 blocking reviewer(s): sbc100.
wingo added a comment.

OK this was unexpectedly gnarly as we had to undo a number of tests.  The interdiff between the two latest revisions shows what changed relative to the previously reviewed patch.

I was surprised how hard it was to get the current subtarget feature set from the places where I needed it.  Since the subtarget features can change during the compilation unit apparently, I used the "used-in-reloc" flag on the symbol to indicate whether a table should be included in the symbol table or not.  This works -- except in the case of function pointers, where they get emitted not as part of an instruction but rather during lowering, and the fragment has no STI.  Baffling.  Is there a better way?

Tested MC, CodeGen, and lld wasm tests, and all passing with this fixup, having also reapplied https://reviews.llvm.org/D92215.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90948/new/

https://reviews.llvm.org/D90948



More information about the llvm-commits mailing list