================
@@ -103,23 +103,19 @@ AnalysisDriver::toposort(llvm::ArrayRef<AnalysisName> 
Roots) {
 llvm::Error AnalysisDriver::executeSummaryAnalysis(SummaryAnalysisBase 
&Summary,
                                                    WPASuite &Suite) const {
   SummaryName SN = Summary.getSummaryName();
-  auto DataIt = LU->Data.find(SN);
-  if (DataIt == LU->Data.end()) {
-    return ErrorBuilder::create(std::errc::invalid_argument,
-                                "no data for analysis '{0}' in LUSummary",
-                                Summary.getAnalysisName())
-        .build();
-  }
 
   if (auto Err = Summary.initialize()) {
     return Err;
   }
 
-  for (auto &[Id, EntitySummary] : DataIt->second) {
-    if (auto Err = Summary.add(Id, *EntitySummary)) {
-      return Err;
+  auto DataIt = LU->Data.find(SN);
----------------
ziqingluo-90 wrote:

@aviralg I think dependent analysis results should be allowed to be empty.  In 
this case, `UnsafeBufferReachableAnalysis` depends on 
`TypeConstrainedPointersAnalysisResult`, which is empty when there are no 
new/delete overloaded functions or `main` functions.   Likewise,  other 
dependent analysis results can also be empty, in very rare cases.  The analysis 
should proceed normally in these cases.

https://github.com/llvm/llvm-project/pull/209354
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to