summaryrefslogtreecommitdiffstats
path: root/include/llvm/Target
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-07-23 01:08:13 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-07-23 01:08:13 +0000
commite3fa53ee4df41925c90ad6cc6a4f132284a1ae66 (patch)
tree5c06afa48f185f51c59e1ab6934017c2027bfebf /include/llvm/Target
parenta7bfbba856f6fc99803c9a670fd110d7a72f4843 (diff)
downloadexternal_llvm-e3fa53ee4df41925c90ad6cc6a4f132284a1ae66.zip
external_llvm-e3fa53ee4df41925c90ad6cc6a4f132284a1ae66.tar.gz
external_llvm-e3fa53ee4df41925c90ad6cc6a4f132284a1ae66.tar.bz2
* Add a BoolAlignment field to TargetData, default is 1 byte
* Fix spacing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15119 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r--include/llvm/Target/TargetData.h33
-rw-r--r--include/llvm/Target/TargetMachine.h3
2 files changed, 20 insertions, 16 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h
index 1cc7ddb..56ec523 100644
--- a/include/llvm/Target/TargetData.h
+++ b/include/llvm/Target/TargetData.h
@@ -34,7 +34,8 @@ class StructLayout;
class TargetData : public ImmutablePass {
bool LittleEndian; // Defaults to false
- unsigned char ByteAlignment; // Defaults to 1 bytes
+ unsigned char BoolAlignment; // Defaults to 1 byte
+ unsigned char ByteAlignment; // Defaults to 1 byte
unsigned char ShortAlignment; // Defaults to 2 bytes
unsigned char IntAlignment; // Defaults to 4 bytes
unsigned char LongAlignment; // Defaults to 8 bytes
@@ -47,23 +48,24 @@ public:
TargetData(const std::string &TargetName = "",
bool LittleEndian = false,
unsigned char PtrSize = 8,
- unsigned char PtrAl = 8, unsigned char DoubleAl = 8,
- unsigned char FloatAl = 4, unsigned char LongAl = 8,
- unsigned char IntAl = 4, unsigned char ShortAl = 2,
- unsigned char ByteAl = 1);
+ unsigned char PtrAl = 8, unsigned char DoubleAl = 8,
+ unsigned char FloatAl = 4, unsigned char LongAl = 8,
+ unsigned char IntAl = 4, unsigned char ShortAl = 2,
+ unsigned char ByteAl = 1, unsigned char BoolAl = 1);
// Copy constructor
TargetData (const TargetData &TD) :
- ImmutablePass (),
- LittleEndian (TD.isLittleEndian ()),
- ByteAlignment (TD.getByteAlignment ()),
- ShortAlignment (TD.getShortAlignment ()),
- IntAlignment (TD.getIntAlignment ()),
- LongAlignment (TD.getLongAlignment ()),
- FloatAlignment (TD.getFloatAlignment ()),
- DoubleAlignment (TD.getDoubleAlignment ()),
- PointerSize (TD.getPointerSize ()),
- PointerAlignment (TD.getPointerAlignment ()) {
+ ImmutablePass(),
+ LittleEndian(TD.isLittleEndian()),
+ BoolAlignment(TD.getBoolAlignment()),
+ ByteAlignment(TD.getByteAlignment()),
+ ShortAlignment(TD.getShortAlignment()),
+ IntAlignment(TD.getIntAlignment()),
+ LongAlignment(TD.getLongAlignment()),
+ FloatAlignment(TD.getFloatAlignment()),
+ DoubleAlignment(TD.getDoubleAlignment()),
+ PointerSize(TD.getPointerSize()),
+ PointerAlignment(TD.getPointerAlignment()) {
}
TargetData(const std::string &ToolName, const Module *M);
@@ -74,6 +76,7 @@ public:
bool isBigEndian() const { return !LittleEndian; }
/// Target alignment constraints
+ unsigned char getBoolAlignment() const { return BoolAlignment; }
unsigned char getByteAlignment() const { return ByteAlignment; }
unsigned char getShortAlignment() const { return ShortAlignment; }
unsigned char getIntAlignment() const { return IntAlignment; }
diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h
index e958a23..8a2777f 100644
--- a/include/llvm/Target/TargetMachine.h
+++ b/include/llvm/Target/TargetMachine.h
@@ -51,7 +51,8 @@ protected: // Can only create subclasses...
unsigned char PtrSize = 8, unsigned char PtrAl = 8,
unsigned char DoubleAl = 8, unsigned char FloatAl = 4,
unsigned char LongAl = 8, unsigned char IntAl = 4,
- unsigned char ShortAl = 2, unsigned char ByteAl = 1);
+ unsigned char ShortAl = 2, unsigned char ByteAl = 1,
+ unsigned char BoolAl = 1);
/// This constructor is used for targets that support arbitrary TargetData
/// layouts, like the C backend. It initializes the TargetData to match that