summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2009-08-21 19:59:12 +0000
committerOwen Anderson <resistor@mac.com>2009-08-21 19:59:12 +0000
commit9085750d3126618ab1b3a4104c34bc504f8b09f4 (patch)
tree7d951e7de1b1b511c59bca1ace0d4dfb3fb1e452 /include
parentfc9489a4c6a7ecb8ac4b8567a7d7876b83379b78 (diff)
downloadllvm-9085750d3126618ab1b3a4104c34bc504f8b09f4.tar.gz
llvm-9085750d3126618ab1b3a4104c34bc504f8b09f4.tar.bz2
llvm-9085750d3126618ab1b3a4104c34bc504f8b09f4.tar.xz
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')
-rw-r--r--include/llvm/Target/TargetData.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h
index 23775be70f..f8ea64b4ea 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