summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-04-25 06:06:43 +0000
committerChris Lattner <sabre@nondot.org>2003-04-25 06:06:43 +0000
commitb05f851d5933e6b2433941b7cb68f057fa48071f (patch)
tree3ef60d6e5e0ea6c5f48da6977371b44ff00e6e1e /llvm/lib
parent8d6d4257a0357f9c64d60abcaf410a399ce4ad58 (diff)
downloadbcm5719-llvm-b05f851d5933e6b2433941b7cb68f057fa48071f.tar.gz
bcm5719-llvm-b05f851d5933e6b2433941b7cb68f057fa48071f.zip
Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!
llvm-svn: 5937
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/TargetData.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/TargetData.cpp b/llvm/lib/Target/TargetData.cpp
index a0a3b82d24f..923031c4005 100644
--- a/llvm/lib/Target/TargetData.cpp
+++ b/llvm/lib/Target/TargetData.cpp
@@ -104,6 +104,8 @@ TargetData::TargetData(const std::string &TargetName,
PointerSize = PtrSize;
PointerAlignment = PtrAl;
DoubleAlignment = DoubleAl;
+ assert(DoubleAlignment == PtrAl &&
+ "Double alignment and pointer alignment agree for now!");
FloatAlignment = FloatAl;
LongAlignment = LongAl;
IntAlignment = IntAl;
@@ -118,9 +120,9 @@ TargetData::TargetData(const std::string &ToolName, const Module *M)
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;
OpenPOWER on IntegriCloud