diff mbox series

[committed] analyzer: improvements to diagnostic-manager.cc logging

Message ID 20200327141505.31315-1-dmalcolm@redhat.com
State New
Headers show
Series [committed] analyzer: improvements to diagnostic-manager.cc logging | expand

Commit Message

Li, Pan2 via Gcc-patches March 27, 2020, 2:15 p.m. UTC
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to master as 8f02357571a858f7ff5ca7734e5344d989a7fd0c.

gcc/analyzer/ChangeLog:
	* diagnostic-manager.cc (dedupe_winners::add): Show the
	exploded_node index in the log messages.
	(diagnostic_manager::emit_saved_diagnostics): Log a summary of
	m_saved_diagnostics at entry.
---
 gcc/analyzer/diagnostic-manager.cc | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/gcc/analyzer/diagnostic-manager.cc b/gcc/analyzer/diagnostic-manager.cc
index 9bd018a3aac..e27e6269915 100644
--- a/gcc/analyzer/diagnostic-manager.cc
+++ b/gcc/analyzer/diagnostic-manager.cc
@@ -358,21 +358,25 @@  public:
        This could introduce false negatives, as there could be longer
        feasible paths within the egraph.  */
     if (logger)
-      logger->log ("considering %qs at SN: %i",
-		   sd.m_d->get_kind (), sd.m_snode->m_index);
+      logger->log ("considering %qs at EN: %i, SN: %i",
+		   sd.m_d->get_kind (), sd.m_enode->m_index,
+		   sd.m_snode->m_index);
+
     if (!dc->get_path ().feasible_p (logger))
       {
 	if (logger)
-	  logger->log ("rejecting %qs at SN: %i"
+	  logger->log ("rejecting %qs at EN: %i, SN: %i"
 		       " due to infeasible path",
-		       sd.m_d->get_kind (), sd.m_snode->m_index);
+		       sd.m_d->get_kind (), sd.m_enode->m_index,
+		       sd.m_snode->m_index);
 	delete dc;
 	return;
       }
     else
       if (logger)
-	logger->log ("accepting %qs at SN: %i with feasible path",
-		     sd.m_d->get_kind (), sd.m_snode->m_index);
+	logger->log ("accepting %qs at EN: %i, SN: %i with feasible path",
+		     sd.m_d->get_kind (), sd.m_enode->m_index,
+		     sd.m_snode->m_index);
 
     dedupe_key *key = new dedupe_key (sd, dc->get_path ());
     if (dedupe_candidate **slot = m_map.get (key))
@@ -466,6 +470,15 @@  diagnostic_manager::emit_saved_diagnostics (const exploded_graph &eg)
   LOG_SCOPE (get_logger ());
   auto_timevar tv (TV_ANALYZER_DIAGNOSTICS);
   log ("# saved diagnostics: %i", m_saved_diagnostics.length ());
+  if (get_logger ())
+    {
+      unsigned i;
+      saved_diagnostic *sd;
+      FOR_EACH_VEC_ELT (m_saved_diagnostics, i, sd)
+	log ("[%i] sd: %qs at EN: %i, SN: %i",
+	     i, sd->m_d->get_kind (), sd->m_enode->m_index,
+	     sd->m_snode->m_index);
+    }
 
   if (m_saved_diagnostics.length () == 0)
     return;