https://gcc.gnu.org/g:753dc2e51076204b3da0728a4525f3a0e954309f
commit 753dc2e51076204b3da0728a4525f3a0e954309f Author: Ondřej Machota <ondrejmach...@gmail.com> Date: Wed Apr 2 20:41:24 2025 +0200 rtl-ssa-dce: pass execute tests Diff: --- gcc/dce.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/dce.cc b/gcc/dce.cc index b4ea199c6d76..6221e3b39910 100644 --- a/gcc/dce.cc +++ b/gcc/dce.cc @@ -1416,7 +1416,7 @@ bool is_rtx_insn_prelive(rtx_insn *insn) { bool is_prelive(insn_info *insn) { /* Phi insns are never prelive, bb head + end also are artificial */ - if (insn->is_artificial()) + if (insn->is_artificial() || insn->is_debug_insn()) return false; gcc_assert (insn->is_real()); @@ -1574,7 +1574,7 @@ rtl_ssa_dce_sweep(std::unordered_set<insn_info *> marked) /* Artificial and marked insns cannot be deleted. There is a slight problem with phis, because we might want to delete some phi nodes from phi insn. */ - if (insn->is_artificial() || marked.count(insn) > 0) + if (insn->is_artificial() || insn->is_debug_insn() || marked.count(insn) > 0) continue; auto change = insn_change::delete_insn(insn);