================
@@ -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