diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-10-20 07:07:24 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-10-20 07:07:24 +0000 |
commit | e0fc4dfc2275a2c36583e5800854e64d5f5e3255 (patch) | |
tree | 6a3d057b6742055ed3a3592e58421a7b41b42f1e /llvm/lib/Target/TargetData.cpp | |
parent | 5d417e35bc36094f2e6519866fd25f4d0db6c551 (diff) | |
download | bcm5719-llvm-e0fc4dfc2275a2c36583e5800854e64d5f5e3255.tar.gz bcm5719-llvm-e0fc4dfc2275a2c36583e5800854e64d5f5e3255.zip |
For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063
Diffstat (limited to 'llvm/lib/Target/TargetData.cpp')
-rw-r--r-- | llvm/lib/Target/TargetData.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/TargetData.cpp b/llvm/lib/Target/TargetData.cpp index cb602a63525..834177420f6 100644 --- a/llvm/lib/Target/TargetData.cpp +++ b/llvm/lib/Target/TargetData.cpp @@ -330,7 +330,7 @@ uint64_t TargetData::getIndexedOffset(const Type *ptrTy, for (unsigned CurIDX = 0; CurIDX != Idx.size(); ++CurIDX, ++TI) { if (const StructType *STy = dyn_cast<StructType>(*TI)) { assert(Idx[CurIDX]->getType() == Type::UIntTy && "Illegal struct idx"); - unsigned FieldNo = cast<ConstantUInt>(Idx[CurIDX])->getValue(); + unsigned FieldNo = cast<ConstantInt>(Idx[CurIDX])->getZExtValue(); // Get structure layout information... const StructLayout *Layout = getStructLayout(STy); @@ -346,7 +346,7 @@ uint64_t TargetData::getIndexedOffset(const Type *ptrTy, Ty = cast<SequentialType>(Ty)->getElementType(); // Get the array index and the size of each array element. - int64_t arrayIdx = cast<ConstantInt>(Idx[CurIDX])->getRawValue(); + int64_t arrayIdx = cast<ConstantInt>(Idx[CurIDX])->getSExtValue(); Result += arrayIdx * (int64_t)getTypeSize(Ty); } } |