* Add BoolAlignment to TargetData, default is 1 byte, size 1 byte

* Convert tabs to spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman
2004-07-23 01:09:52 +00:00
parent e3fa53ee4d
commit c8e8764705
2 changed files with 11 additions and 8 deletions

View File

@@ -79,7 +79,7 @@ TargetData::TargetData(const std::string &TargetName,
unsigned char PtrAl, unsigned char DoubleAl, unsigned char PtrAl, unsigned char DoubleAl,
unsigned char FloatAl, unsigned char LongAl, unsigned char FloatAl, unsigned char LongAl,
unsigned char IntAl, unsigned char ShortAl, unsigned char IntAl, unsigned char ShortAl,
unsigned char ByteAl) { unsigned char ByteAl, unsigned char BoolAl) {
// If this assert triggers, a pass "required" TargetData information, but the // If this assert triggers, a pass "required" TargetData information, but the
// top level tool did not provide one for it. We do not want to default // top level tool did not provide one for it. We do not want to default
@@ -97,6 +97,7 @@ TargetData::TargetData(const std::string &TargetName,
IntAlignment = IntAl; IntAlignment = IntAl;
ShortAlignment = ShortAl; ShortAlignment = ShortAl;
ByteAlignment = ByteAl; ByteAlignment = ByteAl;
BoolAlignment = BoolAl;
} }
TargetData::TargetData(const std::string &ToolName, const Module *M) { TargetData::TargetData(const std::string &ToolName, const Module *M) {
@@ -109,6 +110,7 @@ TargetData::TargetData(const std::string &ToolName, const Module *M) {
IntAlignment = 4; IntAlignment = 4;
ShortAlignment = 2; ShortAlignment = 2;
ByteAlignment = 1; ByteAlignment = 1;
BoolAlignment = 1;
} }
static std::map<std::pair<const TargetData*,const StructType*>, static std::map<std::pair<const TargetData*,const StructType*>,
@@ -149,8 +151,8 @@ static inline void getTypeInfo(const Type *Ty, const TargetData *TD,
uint64_t &Size, unsigned char &Alignment) { uint64_t &Size, unsigned char &Alignment) {
assert(Ty->isSized() && "Cannot getTypeInfo() on a type that is unsized!"); assert(Ty->isSized() && "Cannot getTypeInfo() on a type that is unsized!");
switch (Ty->getTypeID()) { switch (Ty->getTypeID()) {
case Type::BoolTyID: Size = 1; Alignment = TD->getBoolAlignment(); return;
case Type::VoidTyID: case Type::VoidTyID:
case Type::BoolTyID:
case Type::UByteTyID: case Type::UByteTyID:
case Type::SByteTyID: Size = 1; Alignment = TD->getByteAlignment(); return; case Type::SByteTyID: Size = 1; Alignment = TD->getByteAlignment(); return;
case Type::UShortTyID: case Type::UShortTyID:

View File

@@ -45,10 +45,11 @@ TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il,
unsigned char PtrSize, unsigned char PtrAl, unsigned char PtrSize, unsigned char PtrAl,
unsigned char DoubleAl, unsigned char FloatAl, unsigned char DoubleAl, unsigned char FloatAl,
unsigned char LongAl, unsigned char IntAl, unsigned char LongAl, unsigned char IntAl,
unsigned char ShortAl, unsigned char ByteAl) unsigned char ShortAl, unsigned char ByteAl,
unsigned char BoolAl)
: Name(name), DataLayout(name, LittleEndian, : Name(name), DataLayout(name, LittleEndian,
PtrSize, PtrAl, DoubleAl, FloatAl, LongAl, PtrSize, PtrAl, DoubleAl, FloatAl, LongAl,
IntAl, ShortAl, ByteAl) { IntAl, ShortAl, ByteAl, BoolAl) {
IL = il ? il : new DefaultIntrinsicLowering(); IL = il ? il : new DefaultIntrinsicLowering();
} }
TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il, TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il,