Use correct casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@542 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/TargetMachine/TargetData.cpp b/lib/CodeGen/TargetMachine/TargetData.cpp
index a3db47f..fd9dd26 100644
--- a/lib/CodeGen/TargetMachine/TargetData.cpp
+++ b/lib/CodeGen/TargetMachine/TargetData.cpp
@@ -147,16 +147,14 @@
unsigned TargetData::getIndexedOffset(const Type *ptrTy,
const vector<ConstPoolVal*> &Idx) const {
- const PointerType *PtrTy = ptrTy->isPointerType(); // Returns null if not
- assert(PtrTy && "getIndexedOffset on nonpointer!");
-
+ const PointerType *PtrTy = ptrTy->castPointerType();
unsigned Result = 0;
// Get the type pointed to...
const Type *Ty = PtrTy->getValueType();
for (unsigned CurIDX = 0; CurIDX < Idx.size(); ++CurIDX) {
- if (const StructType *STy = Ty->isStructType()) {
+ if (const StructType *STy = Ty->dyncastStructType()) {
assert(Idx[CurIDX]->getType() == Type::UByteTy && "Illegal struct idx");
unsigned FieldNo = ((ConstPoolUInt*)Idx[CurIDX++])->getValue();
@@ -170,7 +168,7 @@
// Update Ty to refer to current element
Ty = STy->getElementTypes()[FieldNo];
- } else if (const ArrayType *ATy = Ty->isArrayType()) {
+ } else if (const ArrayType *ATy = Ty->dyncastArrayType()) {
assert(0 && "Loading from arrays not implemented yet!");
} else {
assert(0 && "Indexing type that is not struct or array?");