[PATCH] D62153: [WebAssembly] Relax signature checking for undefined functions that are not called directly

Sam Clegg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 28 13:40:46 PDT 2019

sbc100 marked an inline comment as done.
sbc100 added inline comments.

Comment at: lld/trunk/wasm/InputFiles.h:78
+  // See https://bugs.llvm.org/show_bug.cgi?id=40412
+  std::vector<bool> SymbolIsCalledDirectly;
ruiu wrote:
> I'm not sure if I understand the code correctly. It seems like a bit indicating whether a symbol is called directly or not should logically belong to each Symbol object rather than a side table inside a file object, no? Let's say one file contains an undefined symbol, the other file contains a defined symbol, and the undefined symbol is called directly. If the linker merges the two symbols, the _defined_ symbol is called directly, isn't it?
This information is tracked in the symbol, but we only need to track it for undefined functions.

This data structure is used only temporarily so that the symbols can be constructed correctly.  I've made followup that should make this more obvious: https://reviews.llvm.org/D62548.




More information about the llvm-commits mailing list