diff options
author | Owen Anderson <resistor@mac.com> | 2009-08-21 19:59:12 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-08-21 19:59:12 +0000 |
commit | 9085750d3126618ab1b3a4104c34bc504f8b09f4 (patch) | |
tree | 7d951e7de1b1b511c59bca1ace0d4dfb3fb1e452 /include/llvm/Target | |
parent | fc9489a4c6a7ecb8ac4b8567a7d7876b83379b78 (diff) | |
download | external_llvm-9085750d3126618ab1b3a4104c34bc504f8b09f4.zip external_llvm-9085750d3126618ab1b3a4104c34bc504f8b09f4.tar.gz external_llvm-9085750d3126618ab1b3a4104c34bc504f8b09f4.tar.bz2 |
Try again at privatizing the layout info map, with a rewritten patch.
This preserves the existing behavior much more closely than my previous attempt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79663 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r-- | include/llvm/Target/TargetData.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h index 23775be..f8ea64b 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. + mutable void* LayoutMap; + //! Set/initialize target alignments void setAlignment(AlignTypeEnum align_type, unsigned char abi_align, unsigned char pref_align, uint32_t bit_width); @@ -132,7 +135,8 @@ public: PointerMemSize(TD.PointerMemSize), PointerABIAlign(TD.PointerABIAlign), PointerPrefAlign(TD.PointerPrefAlign), - Alignments(TD.Alignments) + Alignments(TD.Alignments), + LayoutMap(0) { } ~TargetData(); // Not virtual, do not subclass this class |