diff options
author | Owen Anderson <resistor@mac.com> | 2009-08-17 17:59:35 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-08-17 17:59:35 +0000 |
commit | 7b7b1020234a366dace1b449726c0751b879aefd (patch) | |
tree | 9f33994c7b92c8618e614cf16c5abe9fb3ef693e /lib/VMCore/LLVMContextImpl.h | |
parent | 5fe01f4e4b895dcb316784d183dc60fdc5aec4a2 (diff) | |
download | llvm-7b7b1020234a366dace1b449726c0751b879aefd.tar.gz llvm-7b7b1020234a366dace1b449726c0751b879aefd.tar.bz2 llvm-7b7b1020234a366dace1b449726c0751b879aefd.tar.xz |
Privatize the last bits of static type state.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79258 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/LLVMContextImpl.h')
-rw-r--r-- | lib/VMCore/LLVMContextImpl.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/VMCore/LLVMContextImpl.h b/lib/VMCore/LLVMContextImpl.h index 265201434d..c0ed368bae 100644 --- a/lib/VMCore/LLVMContextImpl.h +++ b/lib/VMCore/LLVMContextImpl.h @@ -22,6 +22,7 @@ #include "llvm/DerivedTypes.h" #include "llvm/System/Mutex.h" #include "llvm/System/RWMutex.h" +#include "llvm/Assembly/Writer.h" #include "llvm/ADT/APFloat.h" #include "llvm/ADT/APInt.h" #include "llvm/ADT/DenseMap.h" @@ -136,6 +137,18 @@ public: // Lock used for guarding access to the type maps. sys::SmartMutex<true> TypeMapLock; + // Recursive lock used for guarding access to AbstractTypeUsers. + // NOTE: The true template parameter means this will no-op when we're not in + // multithreaded mode. + sys::SmartMutex<true> AbstractTypeUsersLock; + + // Concrete/Abstract TypeDescriptions - We lazily calculate type descriptions + // for types as they are needed. Because resolution of types must invalidate + // all of the abstract type descriptions, we keep them in a seperate map to + // make this easy. + TypePrinting ConcreteTypeDescriptions; + TypePrinting AbstractTypeDescriptions; + TypeMap<ArrayValType, ArrayType> ArrayTypes; TypeMap<VectorValType, VectorType> VectorTypes; TypeMap<PointerValType, PointerType> PointerTypes; |