Revert r73790, and replace it with a significantly less ugly solution.  Rather than trying to make the global reader-writer lock work,
create separate recursive mutexes for each value map.  The recursive-ness fixes the double-acquiring issue, which having one per ValueMap
lets us continue to maintain some concurrency.

llvm-svn: 73801
7 files changed
tree: d83a33ee1878726e0b7c6f31e19719f8cd378fe2
  1. clang/
  2. compiler-rt/
  3. llvm/