diff options
author | Owen Anderson <resistor@mac.com> | 2009-08-20 18:26:03 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-08-20 18:26:03 +0000 |
commit | d9b207122eeb740a3878f8389cb38b81d9388734 (patch) | |
tree | d003302a05f5a02253fbe2b851c3f5c6270e6a6f /include | |
parent | 47234e6d38407a8cfcb54ca04e45a2e657f240be (diff) | |
download | external_llvm-d9b207122eeb740a3878f8389cb38b81d9388734.zip external_llvm-d9b207122eeb740a3878f8389cb38b81d9388734.tar.gz external_llvm-d9b207122eeb740a3878f8389cb38b81d9388734.tar.bz2 |
Make the StructType->StructLayout table private to TargetData, allowing us to avoid locking on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79555 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetData.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h index 23775be..b0ea291 100644 --- a/include/llvm/Target/TargetData.h +++ b/include/llvm/Target/TargetData.h @@ -91,6 +91,9 @@ private: */ static const TargetAlignElem InvalidAlignmentElem; + /// Opaque pointer for the StructType -> StructLayout map + void* LayoutMap; + //! Set/initialize target alignments void setAlignment(AlignTypeEnum align_type, unsigned char abi_align, unsigned char pref_align, uint32_t bit_width); @@ -107,6 +110,9 @@ private: return (&align != &InvalidAlignmentElem); } + // DO NOT IMPLEMENT + void operator=(const TargetData&); + public: /// Default ctor. /// @@ -118,22 +124,11 @@ public: } /// Constructs a TargetData from a specification string. See init(). - explicit TargetData(const std::string &TargetDescription) - : ImmutablePass(&ID) { - init(TargetDescription); - } + explicit TargetData(const std::string &TargetDescription); /// Initialize target data from properties stored in the module. explicit TargetData(const Module *M); - - TargetData(const TargetData &TD) : - ImmutablePass(&ID), - LittleEndian(TD.isLittleEndian()), - PointerMemSize(TD.PointerMemSize), - PointerABIAlign(TD.PointerABIAlign), - PointerPrefAlign(TD.PointerPrefAlign), - Alignments(TD.Alignments) - { } + TargetData(const TargetData &TD); ~TargetData(); // Not virtual, do not subclass this class |