]> granicus.if.org Git - llvm/commitdiff
PGOMemOPSizeOpt - silence static analyzer dyn_cast<MemIntrinsic> null dereference...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 26 Sep 2019 10:56:07 +0000 (10:56 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 26 Sep 2019 10:56:07 +0000 (10:56 +0000)
The static analyzer is warning about a potential null dereference, but we should be able to use cast<MemIntrinsic> directly and if not assert will fire for us.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372959 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp

index ac78b4d993ed2e9bb406ff154f08b4b23d8d47da..9f81bb16d0a7b1c6c9bdc795c119feed65dc0804 100644 (file)
@@ -374,8 +374,8 @@ bool MemOPSizeOpt::perform(MemIntrinsic *MI) {
         Ctx, Twine("MemOP.Case.") + Twine(SizeId), &Func, DefaultBB);
     Instruction *NewInst = MI->clone();
     // Fix the argument.
-    MemIntrinsic * MemI = dyn_cast<MemIntrinsic>(NewInst);
-    IntegerType *SizeType = dyn_cast<IntegerType>(MemI->getLength()->getType());
+    auto *MemI = cast<MemIntrinsic>(NewInst);
+    auto *SizeType = dyn_cast<IntegerType>(MemI->getLength()->getType());
     assert(SizeType && "Expected integer type size argument.");
     ConstantInt *CaseSizeId = ConstantInt::get(SizeType, SizeId);
     MemI->setLength(CaseSizeId);