aganea added inline comments.

================
Comment at: llvm/lib/Analysis/MemorySSA.cpp:89
 #ifdef EXPENSIVE_CHECKS
-bool llvm::VerifyMemorySSA = true;
+LLVM_THREAD_LOCAL bool llvm::VerifyMemorySSA = true;
 #else
----------------
arsenm wrote:
> Do command line flags like this really need to be thread local? Wouldn't ever 
> cl::opt need to be if this is?
This was only for the PoC.

Values pointed by `cl::opt`s -- that is either the internal `cl::opt` data or 
the static pointed by `cl::location` -- should be part of a context of some 
sort. LLD now has `CommonLinkerContext` plus a derived context per-driver. We 
probably need a "context" class along the same lines for the LLVM libs. Should 
it be part of `LLVMContextImpl`? Some options are read a bit earlier, before 
the `LLVMContext` is created.
The `cl::opt`s themselves can remain static.

Unless we assume `cl::opt`s are just for debugging, and move to tablegen any 
such globals that affect multi-threaded compilation?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86351

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D86351: WIP: llvm-... Matt Arsenault via Phabricator via cfe-commits
    • [PATCH] D86351: WIP: ... Alexandre Ganea via Phabricator via cfe-commits

Reply via email to