aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2017-12-08 21:27:00 +0000
committerDan Gohman <dan433584@gmail.com>2017-12-08 21:27:00 +0000
commit3a762bf9df6d302a89e162ab3799b72598baa8d6 (patch)
tree54d2ba03089e0b8d6922e72ecb5a8638e7bce44d /llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
parent6736f5907875d3cd0e27ae5ff6d9d7e6072f10a5 (diff)
downloadllvm-3a762bf9df6d302a89e162ab3799b72598baa8d6.zip
llvm-3a762bf9df6d302a89e162ab3799b72598baa8d6.tar.gz
llvm-3a762bf9df6d302a89e162ab3799b72598baa8d6.tar.bz2
[WebAssembly] Reapply r319186: "Support bitcasted function addresses with varargs."
This puts the functionality under control of a command-line option which is off by default to avoid breaking existing setups. llvm-svn: 320197
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
index 084576b..666337a 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
@@ -199,7 +199,7 @@ bool FixFunctionBitcasts::runOnModule(Module &M) {
// Bitcasted vararg functions occur in Emscripten's implementation of
// EM_ASM, so suppress wrappers for them for now.
- if (Ty->isVarArg() || F->isVarArg())
+ if (TemporaryWorkarounds && (Ty->isVarArg() || F->isVarArg()))
continue;
auto Pair = Wrappers.insert(std::make_pair(std::make_pair(F, Ty), nullptr));