From b02600a6bbc4d0524b731e504c91bc293d70a354 Mon Sep 17 00:00:00 2001 From: Alex White Date: Fri, 2 Apr 2021 16:21:43 -0500 Subject: covoar: Split symbols by symbol set This changes the way covoar organizes the symbols. Instead of treating all symbols as one set, covoar is now aware of multiple symbol sets and tracks statistics for each set. It now also generates reports for each symbol set. This change relieves the caller of covoar of the reponsibility of managing the symbol sets. As a result, covoar can minimize the work done for each symbol set, yielding a significant speedup. Updates #4374 --- tester/covoar/covoar.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tester/covoar/covoar.cc') diff --git a/tester/covoar/covoar.cc b/tester/covoar/covoar.cc index 84d883a..8d63132 100644 --- a/tester/covoar/covoar.cc +++ b/tester/covoar/covoar.cc @@ -350,7 +350,7 @@ int covoar( throw rld::error( "executables and coverage name size mismatch", "covoar" ); if ( Verbose ) - std::cerr << "Analyzing " << SymbolsToAnalyze->set.size() + std::cerr << "Analyzing " << SymbolsToAnalyze->allSymbols().size() << " symbols" << std::endl; // Create explanations. @@ -473,7 +473,9 @@ int covoar( if (Verbose) std::cerr << "Generate Reports" << std::endl; - Coverage::GenerateReports(); + for (const auto& setName : SymbolsToAnalyze->getSetNames()) { + Coverage::GenerateReports(setName); + } // Write explanations that were not found. if ( explanations ) { -- cgit v1.2.3