public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/omachota/heads/rtl-ssa-dce)] rtl-ssa: Create new dce pass
@ 2024-04-29 19:41 Ondrej Machota
  0 siblings, 0 replies; only message in thread
From: Ondrej Machota @ 2024-04-29 19:41 UTC (permalink / raw)
  To: gcc-cvs

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

commit bf1ef45735e94247fe632602ee4dda091a5fd2bf
Author: Ondřej Machota <ondrejmachota@gmail.com>
Date:   Mon Apr 29 21:38:47 2024 +0200

    rtl-ssa: Create new dce pass

Diff:
---
 gcc/dce.cc      | 41 +++++++++++++++++++++++++++++++++++++++++
 gcc/dce.h       |  1 +
 gcc/passes.def  |  2 +-
 gcc/tree-pass.h |  1 +
 4 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/gcc/dce.cc b/gcc/dce.cc
index be1a2a87732..9ded9256c3b 100644
--- a/gcc/dce.cc
+++ b/gcc/dce.cc
@@ -1299,3 +1299,44 @@ make_pass_fast_rtl_dce (gcc::context *ctxt)
 {
   return new pass_fast_rtl_dce (ctxt);
 }
+
+namespace {
+
+const pass_data pass_data_rtl_ssa_dce = {
+  RTL_PASS,	  /* type */
+  "rtl_ssa_dce",  /* name */
+  OPTGROUP_NONE,  /* optinfo_flags */
+  TV_DCE,	  /* tv_id */
+  0,		  /* properties_required */
+  0,		  /* properties_provided */
+  0,		  /* properties_destroyed */
+  0,		  /* todo_flags_start */
+  TODO_df_finish, /* todo_flags_finish */
+};
+
+class pass_rtl_ssa_dce : public rtl_opt_pass
+{
+public:
+  pass_rtl_ssa_dce (gcc::context *ctxt)
+    : rtl_opt_pass (pass_data_rtl_ssa_dce, ctxt)
+  {}
+
+  /* opt_pass methods: */
+  bool gate (function *) final override { return flag_dce; }
+
+  unsigned int execute (function *) final override
+  {
+    if (dump_file)
+      fprintf (dump_file, "pass_rtl_ssa_dce called\n");
+    return 0;
+  }
+
+}; // class pass_fast_rtl_dce
+
+} // namespace
+
+rtl_opt_pass *
+make_pass_rtl_ssa_dce (gcc::context *ctxt)
+{
+  return new pass_rtl_ssa_dce (ctxt);
+}
diff --git a/gcc/dce.h b/gcc/dce.h
index 346fb28d80e..806aa6a18bc 100644
--- a/gcc/dce.h
+++ b/gcc/dce.h
@@ -23,5 +23,6 @@ along with GCC; see the file COPYING3.  If not see
 extern void run_word_dce (void);
 extern void run_fast_dce (void);
 extern void run_fast_df_dce (void);
+extern void run_rtl_ssa_dce (void);
 
 #endif /* GCC_DCE_H */
diff --git a/gcc/passes.def b/gcc/passes.def
index 1cbbd413097..f55a2ee5e82 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -526,7 +526,7 @@ along with GCC; see the file COPYING3.  If not see
 	  NEXT_PASS (pass_regrename);
 	  NEXT_PASS (pass_fold_mem_offsets);
 	  NEXT_PASS (pass_cprop_hardreg);
-	  NEXT_PASS (pass_fast_rtl_dce);
+	  NEXT_PASS (pass_rtl_ssa_dce);
 	  NEXT_PASS (pass_reorder_blocks);
 	  NEXT_PASS (pass_leaf_regs);
 	  NEXT_PASS (pass_split_before_sched2);
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index 29267589eeb..fbdd95a1e04 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -562,6 +562,7 @@ extern rtl_opt_pass *make_pass_jump2 (gcc::context *ctxt);
 extern rtl_opt_pass *make_pass_lower_subreg (gcc::context *ctxt);
 extern rtl_opt_pass *make_pass_cse (gcc::context *ctxt);
 extern rtl_opt_pass *make_pass_fast_rtl_dce (gcc::context *ctxt);
+extern rtl_opt_pass *make_pass_rtl_ssa_dce (gcc::context *ctxt);
 extern rtl_opt_pass *make_pass_ud_rtl_dce (gcc::context *ctxt);
 extern rtl_opt_pass *make_pass_rtl_dce (gcc::context *ctxt);
 extern rtl_opt_pass *make_pass_rtl_dse1 (gcc::context *ctxt);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-29 19:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-29 19:41 [gcc(refs/users/omachota/heads/rtl-ssa-dce)] rtl-ssa: Create new dce pass Ondrej Machota

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).