From: Simon Pilgrim Date: Thu, 26 Sep 2019 10:56:14 +0000 (+0000) Subject: MemorySanitizer - silence static analyzer dyn_cast<> null dereference warnings. NFCI. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=126f382cabebd673adfa1c5503ba75a1980c0617;p=llvm MemorySanitizer - silence static analyzer dyn_cast<> null dereference warnings. NFCI. The static analyzer is warning about a potential null dereferences, but we should be able to use cast<> directly and if not assert will fire for us. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372960 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/lib/Transforms/Instrumentation/MemorySanitizer.cpp index dd7b4fcbd0f..81bd2f3c18a 100644 --- a/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -3627,10 +3627,10 @@ struct MemorySanitizerVisitor : public InstVisitor { int getNumOutputArgs(InlineAsm *IA, CallBase *CB) { int NumRetOutputs = 0; int NumOutputs = 0; - Type *RetTy = dyn_cast(CB)->getType(); + Type *RetTy = cast(CB)->getType(); if (!RetTy->isVoidTy()) { // Register outputs are returned via the CallInst return value. - StructType *ST = dyn_cast_or_null(RetTy); + auto *ST = dyn_cast(RetTy); if (ST) NumRetOutputs = ST->getNumElements(); else @@ -3667,7 +3667,7 @@ struct MemorySanitizerVisitor : public InstVisitor { // corresponding CallInst has nO+nI+1 operands (the last operand is the // function to be called). const DataLayout &DL = F.getParent()->getDataLayout(); - CallBase *CB = dyn_cast(&I); + CallBase *CB = cast(&I); IRBuilder<> IRB(&I); InlineAsm *IA = cast(CB->getCalledValue()); int OutputArgs = getNumOutputArgs(IA, CB);