FunctionImportGlobalProcessing::processGlobalForThinLTO - silence static analyzer...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 27 Sep 2019 15:49:19 +0000 (15:49 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 27 Sep 2019 15:49:19 +0000 (15:49 +0000)
The static analyzer is warning about a potential null dereference, but we should be able to use cast<FunctionSummary> directly and if not assert will fire for us.

llvm-svn: 373097

llvm/lib/Transforms/Utils/FunctionImportUtils.cpp

index c9cc099..76b4635 100644 (file)
@@ -210,7 +210,7 @@ void FunctionImportGlobalProcessing::processGlobalForThinLTO(GlobalValue &GV) {
       if (Function *F = dyn_cast<Function>(&GV)) {
         if (!F->isDeclaration()) {
           for (auto &S : VI.getSummaryList()) {
-            FunctionSummary *FS = dyn_cast<FunctionSummary>(S->getBaseObject());
+            auto *FS = cast<FunctionSummary>(S->getBaseObject());
             if (FS->modulePath() == M.getModuleIdentifier()) {
               F->setEntryCount(Function::ProfileCount(FS->entryCount(),
                                                       Function::PCT_Synthetic));