From c8e876470572817295362737d8fbcf460e4cbfa8 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Fri, 23 Jul 2004 01:09:52 +0000 Subject: [PATCH] * 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 --- lib/Target/TargetData.cpp | 14 ++++++++------ lib/Target/TargetMachine.cpp | 5 +++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp index e5f391b6e21..8aea1543083 100644 --- a/lib/Target/TargetData.cpp +++ b/lib/Target/TargetData.cpp @@ -30,7 +30,7 @@ namespace { } static inline void getTypeInfo(const Type *Ty, const TargetData *TD, - uint64_t &Size, unsigned char &Alignment); + uint64_t &Size, unsigned char &Alignment); //===----------------------------------------------------------------------===// // Support for StructLayout @@ -42,7 +42,7 @@ StructLayout::StructLayout(const StructType *ST, const TargetData &TD) { // Loop over each of the elements, placing them in memory... for (StructType::element_iterator TI = ST->element_begin(), - TE = ST->element_end(); TI != TE; ++TI) { + TE = ST->element_end(); TI != TE; ++TI) { const Type *Ty = *TI; unsigned char A; unsigned TyAlign; @@ -79,7 +79,7 @@ TargetData::TargetData(const std::string &TargetName, unsigned char PtrAl, unsigned char DoubleAl, unsigned char FloatAl, unsigned char LongAl, 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 // 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; ShortAlignment = ShortAl; ByteAlignment = ByteAl; + BoolAlignment = BoolAl; } TargetData::TargetData(const std::string &ToolName, const Module *M) { @@ -109,6 +110,7 @@ TargetData::TargetData(const std::string &ToolName, const Module *M) { IntAlignment = 4; ShortAlignment = 2; ByteAlignment = 1; + BoolAlignment = 1; } static std::map, @@ -146,11 +148,11 @@ const StructLayout *TargetData::getStructLayout(const StructType *Ty) const { } 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!"); switch (Ty->getTypeID()) { + case Type::BoolTyID: Size = 1; Alignment = TD->getBoolAlignment(); return; case Type::VoidTyID: - case Type::BoolTyID: case Type::UByteTyID: case Type::SByteTyID: Size = 1; Alignment = TD->getByteAlignment(); return; case Type::UShortTyID: @@ -212,7 +214,7 @@ const Type *TargetData::getIntPtrType() const { uint64_t TargetData::getIndexedOffset(const Type *ptrTy, - const std::vector &Idx) const { + const std::vector &Idx) const { const Type *Ty = ptrTy; assert(isa(Ty) && "Illegal argument for getIndexedOffset()"); uint64_t Result = 0; diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index d71bd3f9542..3022b5225e0 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -45,10 +45,11 @@ TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il, unsigned char PtrSize, unsigned char PtrAl, unsigned char DoubleAl, unsigned char FloatAl, 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, PtrSize, PtrAl, DoubleAl, FloatAl, LongAl, - IntAl, ShortAl, ByteAl) { + IntAl, ShortAl, ByteAl, BoolAl) { IL = il ? il : new DefaultIntrinsicLowering(); } TargetMachine::TargetMachine(const std::string &name, IntrinsicLowering *il, -- 2.34.1