[gcc r16-6822] analyzer: eliminate unused field eh_dispatch_edge_op::m_dst_snode [PR123540]

David Malcolm dmalcolm@gcc.gnu.org
Fri Jan 16 15:59:16 GMT 2026


https://gcc.gnu.org/g:c2914de58ba9124b344a8c0cadc02b7d480ff41c

commit r16-6822-gc2914de58ba9124b344a8c0cadc02b7d480ff41c
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Fri Jan 16 10:54:31 2026 -0500

    analyzer: eliminate unused field eh_dispatch_edge_op::m_dst_snode [PR123540]
    
    gcc/analyzer/ChangeLog:
            PR analyzer/123540
            * ops.cc (eh_dispatch_edge_op::make): Drop dst_snode param to
            ctor.
            (eh_dispatch_edge_op::eh_dispatch_edge_op): Likewise, dropping
            field eh_dispatch_edge_op::m_dst_snode.
            (eh_dispatch_try_edge_op::eh_dispatch_try_edge_op): Likewise.
            (eh_dispatch_allowed_edge_op::eh_dispatch_allowed_edge_op):
            Likewise.
            * ops.h (eh_dispatch_edge_op::eh_dispatch_edge_op): Likewise.
            (eh_dispatch_edge_op::m_dst_snode): Drop unused field.
            (eh_dispatch_try_edge_op::eh_dispatch_try_edge_op): Drop unused
            dst_snode param.
    
    Signed-off-by: David Malcolm <dmalcolm@redhat.com>

Diff:
---
 gcc/analyzer/ops.cc | 9 +++------
 gcc/analyzer/ops.h  | 3 ---
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/gcc/analyzer/ops.cc b/gcc/analyzer/ops.cc
index 36043310ff6b..92e2cc42917b 100644
--- a/gcc/analyzer/ops.cc
+++ b/gcc/analyzer/ops.cc
@@ -1856,7 +1856,7 @@ eh_dispatch_edge_op::make (supernode *src_snode,
       {
 	eh_catch ehc = get_catch (eh_reg, dst_snode);
 	return std::make_unique<eh_dispatch_try_edge_op>
-	  (src_snode, dst_snode,
+	  (src_snode,
 	   cfg_edge, eh_dispatch_stmt,
 	   eh_reg, ehc);
       }
@@ -1876,14 +1876,12 @@ eh_dispatch_edge_op::make (supernode *src_snode,
 
 eh_dispatch_edge_op::
 eh_dispatch_edge_op (supernode *src_snode,
-		     supernode *dst_snode,
 		     enum kind kind_,
 		     ::edge cfg_edge,
 		     const geh_dispatch &geh_dispatch_stmt,
 		     eh_region eh_reg)
 : control_flow_op (kind_, cfg_edge, geh_dispatch_stmt),
   m_src_snode (src_snode),
-  m_dst_snode (dst_snode),
   m_eh_region (eh_reg)
 {
 }
@@ -1913,12 +1911,11 @@ apply_constraints (const superedge *sedge,
 
 eh_dispatch_try_edge_op::
 eh_dispatch_try_edge_op (supernode *src_snode,
-			 supernode *dst_snode,
 			 ::edge cfg_edge,
 			 const geh_dispatch &geh_dispatch_stmt,
 			 eh_region eh_reg,
 			 eh_catch ehc)
-: eh_dispatch_edge_op (src_snode, dst_snode,
+: eh_dispatch_edge_op (src_snode,
 		       kind::eh_dispatch_try_edge,
 		       cfg_edge, geh_dispatch_stmt, eh_reg),
   m_eh_catch (ehc)
@@ -2037,7 +2034,7 @@ eh_dispatch_allowed_edge_op (supernode *src_snode,
 			     ::edge cfg_edge,
 			     const geh_dispatch &geh_dispatch_stmt,
 			     eh_region eh_reg)
-: eh_dispatch_edge_op (src_snode, dst_snode,
+: eh_dispatch_edge_op (src_snode,
 		       kind::eh_dispatch_try_edge,
 		       cfg_edge, geh_dispatch_stmt, eh_reg)
 {
diff --git a/gcc/analyzer/ops.h b/gcc/analyzer/ops.h
index 7f0dadb03630..f1c67d4e7710 100644
--- a/gcc/analyzer/ops.h
+++ b/gcc/analyzer/ops.h
@@ -810,7 +810,6 @@ public:
 
 protected:
   eh_dispatch_edge_op (supernode *src_snode,
-		       supernode *dst_snode,
 		       enum kind kind_,
 		       ::edge cfg_edge,
 		       const geh_dispatch &geh_dispatch_stmt,
@@ -834,7 +833,6 @@ private:
 			std::unique_ptr<rejected_constraint> *out) const = 0;
 
   supernode *m_src_snode;
-  supernode *m_dst_snode;
   eh_region m_eh_region;
 };
 
@@ -845,7 +843,6 @@ class eh_dispatch_try_edge_op : public eh_dispatch_edge_op
 {
 public:
   eh_dispatch_try_edge_op (supernode *src_snode,
-			   supernode *dst_snode,
 			   ::edge cfg_edge,
 			   const geh_dispatch &geh_dispatch_stmt,
 			   eh_region eh_reg,


More information about the Gcc-cvs mailing list