When compiling to the WebAssembly target, there is currently
Details
Details
- Reviewers
- None
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | ||
---|---|---|
1725 | We should only make this assumption if !Subtarget->getTargetTriple().isOSEmscripten() because emscripten *does* support dynamic linking (and dynamic linking + threads at the same time!). How about removing the assertion and instead doing something like this: // Non-emscripten target currently don't support any kind of dynamic linking // so we can treat all TLS as LocalExecTLSModel auto model = Subtarget->getTargetTriple().isOSEmscripten() ? GV->getThreadLocalMode() : LocalExecTLSModel; |
We should only make this assumption if !Subtarget->getTargetTriple().isOSEmscripten() because emscripten *does* support dynamic linking (and dynamic linking + threads at the same time!).
How about removing the assertion and instead doing something like this: