[PATCH] D120013: [WebAssembly] Make EH/SjLj vars unconditionally thread local

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 17 12:23:47 PST 2022


tlively accepted this revision.
tlively added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/lib/CodeGen/WasmEHPrepare.cpp:221
   LPadContextGV = cast<GlobalVariable>(
       M.getOrInsertGlobal("__wasm_lpad_context", LPadContextTy));
+  LPadContextGV->setThreadLocalMode(GlobalValue::GeneralDynamicTLSModel);
----------------
sbc100 wrote:
> I was expecting to see `LPadContextGV->setThreadLocalMode(GlobalValue::GeneralDynamicTLSModel);` here... 
It's there on the next line!


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp:1069-1073
+  for (auto *V : {ThrewGV, ThrewValueGV})
+    RemoveIfUnused(V);
+  for (auto *V : {GetTempRet0F, SetTempRet0F, ResumeF, EHTypeIDF, EmLongjmpF,
+                  SaveSetjmpF, TestSetjmpF, WasmLongjmpF, CatchF})
+    RemoveIfUnused(V);
----------------
Could we combine these two loops into one to avoid the need for the lambda?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120013/new/

https://reviews.llvm.org/D120013



More information about the llvm-commits mailing list