tree-optimization/109596 - wrong debug stmt move by copyheader

Message ID 20240411091040.9D7973858420@sourceware.org
State Committed
Commit c7e8a8d814229fd6fc4c16c2452f15dddc613479
Headers
Series tree-optimization/109596 - wrong debug stmt move by copyheader |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-arm warning Patch is already merged
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 warning Patch is already merged

Commit Message

Richard Biener April 11, 2024, 9:10 a.m. UTC
  The following fixes an omission in r14-162-gcda246f8b421ba causing
wrong-debug and a bunch of guality regressions.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

	PR tree-optimization/109596
	* tree-ssa-loop-ch.cc (ch_base::copy_headers): Propagate
	debug stmts to nonexit->dest rather than exit->dest.
---
 gcc/tree-ssa-loop-ch.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/gcc/tree-ssa-loop-ch.cc b/gcc/tree-ssa-loop-ch.cc
index 1f0033be4c4..b7ef485c4cc 100644
--- a/gcc/tree-ssa-loop-ch.cc
+++ b/gcc/tree-ssa-loop-ch.cc
@@ -957,7 +957,7 @@  ch_base::copy_headers (function *fun)
 
       edge entry = loop_preheader_edge (loop);
 
-      propagate_threaded_block_debug_into (exit->dest, entry->dest);
+      propagate_threaded_block_debug_into (nonexit->dest, entry->dest);
       if (!gimple_duplicate_seme_region (entry, exit, bbs, n_bbs, copied_bbs,
 					 true))
 	{