analyzer: improvements to diagnostic-manager.cc logging
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 20 Mar 2020 19:16:00 +0000 (15:16 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 27 Mar 2020 13:59:25 +0000 (09:59 -0400)
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/ChangeLog
gcc/analyzer/diagnostic-manager.cc

index fd3d4e03311d41aa978cf9799c39d4032137bff6..a04b5cc099e7dd8fd397d8811ebb6111c52af80b 100644 (file)
@@ -1,3 +1,10 @@
+2020-03-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * 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.
+
 2020-03-27  David Malcolm  <dmalcolm@redhat.com>
 
        * supergraph.cc (superedge::dump): Add space before description;
index 9bd018a3aac7d59e92ad0c5da63ab40b0fb4177c..e27e6269915c64a2f443105aaafca10cd056ae50 100644 (file)
@@ -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;