[WebAssembly] Don't assume that strongly defined symbols are DSO-local
commitb55344a7434712dd066a7e64d2c9691ebd73503e
authorSam Clegg <sbc@chromium.org>
Fri, 10 May 2019 01:52:08 +0000 (10 01:52 +0000)
committerSam Clegg <sbc@chromium.org>
Fri, 10 May 2019 01:52:08 +0000 (10 01:52 +0000)
treec53ade900c357d0a0233d879a34fde17b10902b5
parent4ea326e8c90d295c5b81af58aafb2b1b7146a405
[WebAssembly] Don't assume that strongly defined symbols are DSO-local

The current PIC model for WebAssembly is more like ELF in that it
allows symbol interposition.

This means that more functions end up being addressed via the GOT
and fewer directly added to the wasm table.

One effect is a reduction in the number of wasm table entries similar
to the previous attempt in https://reviews.llvm.org/D61539 which was
reverted.

Differential Revision: https://reviews.llvm.org/D61772

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360402 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/TargetMachine.cpp
test/CodeGen/WebAssembly/call-pic.ll