summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-08-20 22:04:42 +0000
committerBill Wendling <isanbard@gmail.com>2009-08-20 22:04:42 +0000
commit607abd262edfa23f7b342f377b444881f4429377 (patch)
tree540663c72d57aae9b53822ebbf1273b56ce141c7 /include
parenta583c55864e83e470333b7be878280b10e175a6e (diff)
downloadllvm-607abd262edfa23f7b342f377b444881f4429377.tar.gz
llvm-607abd262edfa23f7b342f377b444881f4429377.tar.bz2
llvm-607abd262edfa23f7b342f377b444881f4429377.tar.xz
--- Reverse-merging r79555 into '.':
U include/llvm/Target/TargetData.h U lib/Target/TargetData.cpp Temporarily revert 79555. It was causing hangs and test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79568 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/TargetData.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h
index b0ea291249..23775be70f 100644
--- a/include/llvm/Target/TargetData.h
+++ b/include/llvm/Target/TargetData.h
@@ -91,9 +91,6 @@ 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);
@@ -110,9 +107,6 @@ private:
return (&align != &InvalidAlignmentElem);
}
- // DO NOT IMPLEMENT
- void operator=(const TargetData&);
-
public:
/// Default ctor.
///
@@ -124,11 +118,22 @@ public:
}
/// Constructs a TargetData from a specification string. See init().
- explicit TargetData(const std::string &TargetDescription);
+ explicit TargetData(const std::string &TargetDescription)
+ : ImmutablePass(&ID) {
+ init(TargetDescription);
+ }
/// Initialize target data from properties stored in the module.
explicit TargetData(const Module *M);
- TargetData(const TargetData &TD);
+
+ TargetData(const TargetData &TD) :
+ ImmutablePass(&ID),
+ LittleEndian(TD.isLittleEndian()),
+ PointerMemSize(TD.PointerMemSize),
+ PointerABIAlign(TD.PointerABIAlign),
+ PointerPrefAlign(TD.PointerPrefAlign),
+ Alignments(TD.Alignments)
+ { }
~TargetData(); // Not virtual, do not subclass this class