From: Richard Biener Date: Thu, 11 Apr 2024 09:08:07 +0000 (+0200) Subject: tree-optimization/109596 - wrong debug stmt move by copyheader X-Git-Tag: basepoints/gcc-15~227 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7e8a8d814229fd6fc4c16c2452f15dddc613479;p=thirdparty%2Fgcc.git tree-optimization/109596 - wrong debug stmt move by copyheader The following fixes an omission in r14-162-gcda246f8b421ba causing wrong-debug and a bunch of guality regressions. PR tree-optimization/109596 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Propagate debug stmts to nonexit->dest rather than exit->dest. --- diff --git a/gcc/tree-ssa-loop-ch.cc b/gcc/tree-ssa-loop-ch.cc index 1f0033be4c43..b7ef485c4cc8 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)) {