https://gcc.gnu.org/g:f75018f0b959b76e0ba0b7bf2dbbe47e80d8cbe6

commit f75018f0b959b76e0ba0b7bf2dbbe47e80d8cbe6
Author: Ondřej Machota <ondrejmach...@gmail.com>
Date:   Mon Mar 31 08:50:34 2025 +0200

    rtl-ssa-dce: improve code

Diff:
---
 gcc/dce.cc | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/gcc/dce.cc b/gcc/dce.cc
index 53934d19c0ac..a90a8d9ccf53 100644
--- a/gcc/dce.cc
+++ b/gcc/dce.cc
@@ -1538,6 +1538,14 @@ bool is_prelive(insn_info *insn)
     if (def->kind() != access_kind::SET)
       continue;
 
+    // We need to perform some kind of reset_unmarked_insns_debug_uses
+    // to be able to reproduce ud_dce - now only 4 tests are falling
+    // because of debug_insn being dependent on parallel with set flags 
+    // gcc.c-torture/execute/20051215-1.c
+    // gcc.c-torture/execute/20100805-1.c
+    // gcc.c-torture/execute/pr39339.c
+    // gcc.c-torture/execute/pr47925.c
+
     // This might be messed up a bit
     if (def->regno() == FRAME_POINTER_REGNUM
         || def->regno() == STACK_POINTER_REGNUM)
@@ -1813,14 +1821,14 @@ rtl_ssa_dce()
   rtl_ssa_dce_init();
   std::unordered_set<insn_info *> marked = rtl_ssa_dce_mark();
   rtl_ssa_dce_sweep(marked);
-  // std::cerr << "\033[31m" << "SSA debug start" << "\033[0m" << "\n";
-  // debug (crtl->ssa);
-  // for (insn_info * insn : crtl->ssa->all_insns()) {
-  //   if (insn->is_artificial())
-  //     continue;
-  //   debug(insn->rtl());
-  // }
-  // std::cerr << "\033[31m" << "SSA debug end" << "\033[0m" << "\n";
+  std::cerr << "\033[31m" << "SSA debug start" << "\033[0m" << "\n";
+  debug (crtl->ssa);
+  for (insn_info * insn : crtl->ssa->all_insns()) {
+    if (insn->is_artificial())
+      continue;
+    debug(insn->rtl());
+  }
+  std::cerr << "\033[31m" << "SSA debug end" << "\033[0m" << "\n";
   rtl_ssa_dce_done();
   // if (delete_trivially_dead_insns(get_insns (), max_reg_num ())) {
   //   std::cerr << "\033[31m" << "rtl_ssa_dce did not delete everything :(" 
<< "\033[0m" << "\n";

Reply via email to