Do not record dependences from debug stmts in tail merging

Message ID 20240215100129.8EB723861861@sourceware.org
State Accepted
Headers
Series Do not record dependences from debug stmts in tail merging |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Richard Biener Feb. 15, 2024, 10 a.m. UTC
  The following avoids recording BB dependences for debug stmt uses.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

It's unlikely a dependence is just because of debug stmts so
actual compare-debug issues are very unlikely.  Still spotted
while investigating a CI regression mail (for an obsolete broken
patch ...)

	* tree-ssa-tail-merge.cc (same_succ_hash): Skip debug
	stmts.
---
 gcc/tree-ssa-tail-merge.cc | 3 +++
 1 file changed, 3 insertions(+)
  

Patch

diff --git a/gcc/tree-ssa-tail-merge.cc b/gcc/tree-ssa-tail-merge.cc
index f4e6ae6e8a2..c8b4a79294d 100644
--- a/gcc/tree-ssa-tail-merge.cc
+++ b/gcc/tree-ssa-tail-merge.cc
@@ -474,6 +474,9 @@  same_succ_hash (const same_succ *e)
        !gsi_end_p (gsi); gsi_next_nondebug (&gsi))
     {
       stmt = gsi_stmt (gsi);
+      if (is_gimple_debug (stmt))
+	continue;
+
       stmt_update_dep_bb (stmt);
       if (stmt_local_def (stmt))
 	continue;