* Add a BoolAlignment field to TargetData, default is 1 byte
authorMisha Brukman <brukman+llvm@gmail.com>
Fri, 23 Jul 2004 01:08:13 +0000 (01:08 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Fri, 23 Jul 2004 01:08:13 +0000 (01:08 +0000)
* Fix spacing

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15119 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetData.h
include/llvm/Target/TargetMachine.h

index 1cc7ddb7d1764db683db4954626bb2f591857464..56ec5238b12e37875ff9bf0b4bfca28ade621ec9 100644 (file)
@@ -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; }
index e958a23e1f1052c372eef5103817a964ddba1e7f..8a2777f47ca0ec431777813a472f65732b304fd1 100644 (file)
@@ -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