//===----------------------------------------------------------------------===//
TargetData::TargetData(const std::string &TargetName,
- bool isLittleEndian, unsigned char SubWordSize,
- unsigned char IntRegSize, unsigned char PtrSize,
+ bool isLittleEndian, unsigned char PtrSize,
unsigned char PtrAl, unsigned char DoubleAl,
unsigned char FloatAl, unsigned char LongAl,
unsigned char IntAl, unsigned char ShortAl,
"ERROR: Tool did not specify a target data to use!");
LittleEndian = isLittleEndian;
- SubWordDataSize = SubWordSize;
- IntegerRegSize = IntRegSize;
PointerSize = PtrSize;
PointerAlignment = PtrAl;
DoubleAlignment = DoubleAl;
+ assert(DoubleAlignment == PtrAl &&
+ "Double alignment and pointer alignment agree for now!");
FloatAlignment = FloatAl;
LongAlignment = LongAl;
IntAlignment = IntAl;
AnnotationManager::registerAnnotationFactory(AID, TypeAnFactory, this);
LittleEndian = M->isLittleEndian();
- SubWordDataSize = 1;
- IntegerRegSize = 8;
- PointerSize = M->has32BitPointers() ? 32 : 64;
+ PointerSize = M->has32BitPointers() ? 4 : 8;
PointerAlignment = PointerSize;
- DoubleAlignment = 8;
+ DoubleAlignment = PointerSize;
FloatAlignment = 4;
LongAlignment = 8;
IntAlignment = 4;