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);

Reply via email to