Revert r73790, and replace it with a significantly less ugly solution. Rather than...
authorOwen Anderson <resistor@mac.com>
Sat, 20 Jun 2009 00:24:58 +0000 (00:24 +0000)
committerOwen Anderson <resistor@mac.com>
Sat, 20 Jun 2009 00:24:58 +0000 (00:24 +0000)
commit04fb7c36a9977127f32558dc01c39a9c2388bc39
treeca25bb398da7dc1232611d29ce1d1b301341dfe0
parentd5fb7906130989a579d1bfe4490b414331e94fee
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73801 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Constant.h
include/llvm/Constants.h
include/llvm/GlobalValue.h
include/llvm/MDNode.h
lib/VMCore/ConstantFold.cpp
lib/VMCore/Constants.cpp
lib/VMCore/Globals.cpp