aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/FuzzMutate/RandomIRBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/FuzzMutate/RandomIRBuilder.cpp')
-rw-r--r--llvm/lib/FuzzMutate/RandomIRBuilder.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/FuzzMutate/RandomIRBuilder.cpp b/llvm/lib/FuzzMutate/RandomIRBuilder.cpp
index 1295714839e8..27c3bdfb22a8 100644
--- a/llvm/lib/FuzzMutate/RandomIRBuilder.cpp
+++ b/llvm/lib/FuzzMutate/RandomIRBuilder.cpp
@@ -53,8 +53,8 @@ Value *RandomIRBuilder::newSource(BasicBlock &BB, ArrayRef<Instruction *> Insts,
IP = ++I->getIterator();
assert(IP != BB.end() && "guaranteed by the findPointer");
}
- auto *NewLoad = new LoadInst(
- cast<PointerType>(Ptr->getType())->getElementType(), Ptr, "L", &*IP);
+ auto *NewLoad =
+ new LoadInst(Ptr->getType()->getPointerElementType(), Ptr, "L", &*IP);
// Only sample this load if it really matches the descriptor
if (Pred.matches(Srcs, NewLoad))
@@ -141,12 +141,12 @@ Value *RandomIRBuilder::findPointer(BasicBlock &BB,
if (auto PtrTy = dyn_cast<PointerType>(Inst->getType())) {
// We can never generate loads from non first class or non sized types
- if (!PtrTy->getElementType()->isSized() ||
- !PtrTy->getElementType()->isFirstClassType())
+ Type *ElemTy = PtrTy->getPointerElementType();
+ if (!ElemTy->isSized() || !ElemTy->isFirstClassType())
return false;
// TODO: Check if this is horribly expensive.
- return Pred.matches(Srcs, UndefValue::get(PtrTy->getElementType()));
+ return Pred.matches(Srcs, UndefValue::get(ElemTy));
}
return false;
};