diff options
author | Sam Clegg <sbc@chromium.org> | 2019-08-21 19:52:33 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2019-08-21 19:52:33 +0000 |
commit | dde8a25a4bd0b8e194ebb9277d656f6069c26449 (patch) | |
tree | 9f2030d631807245d5a55f04deab63b7946a41c0 /llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp | |
parent | 3f59bfd5be39687cd3a853aaffe8ef2d84ab2ff8 (diff) | |
download | llvm-dde8a25a4bd0b8e194ebb9277d656f6069c26449.zip llvm-dde8a25a4bd0b8e194ebb9277d656f6069c26449.tar.gz llvm-dde8a25a4bd0b8e194ebb9277d656f6069c26449.tar.bz2 |
[WebAssembly] Handle aliases in WebAssemblyFixFunctionBitcasts
Fixes: https://github.com/emscripten-core/emscripten/issues/8770
Differential Revision: https://reviews.llvm.org/D66508
llvm-svn: 369566
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp index b7fc654..6b1bbd7 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp @@ -70,6 +70,8 @@ static void findUses(Value *V, Function &F, for (Use &U : V->uses()) { if (auto *BC = dyn_cast<BitCastOperator>(U.getUser())) findUses(BC, F, Uses, ConstantBCs); + else if (auto *A = dyn_cast<GlobalAlias>(U.getUser())) + findUses(A, F, Uses, ConstantBCs); else if (U.get()->getType() != F.getType()) { CallSite CS(U.getUser()); if (!CS) |