From ef14e15c3255059f374e04a47d838e9c98c9da2c Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <tschwinge@baylibre.com>
Date: Fri, 28 Jun 2024 00:41:54 +0200
Subject: [PATCH] WIP Move 'pass_fast_rtl_dce' from 'pass_postreload' into
'pass_late_compilation'
id:87ed8i2ekt.fsf@euler.schwinge.ddns.net
---
gcc/passes.cc | 8 ++++++++
gcc/passes.def | 6 ++++++
2 files changed, 14 insertions(+)
@@ -685,6 +685,10 @@ public:
{}
/* opt_pass methods: */
+ opt_pass *clone () final override
+ {
+ return new pass_postreload (m_ctxt);
+ }
bool gate (function *) final override
{
if (reload_completed)
@@ -728,6 +732,10 @@ public:
{}
/* opt_pass methods: */
+ opt_pass *clone () final override
+ {
+ return new pass_late_compilation (m_ctxt);
+ }
bool gate (function *) final override
{
return reload_completed || targetm.no_register_allocation;
@@ -529,7 +529,13 @@ 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);
+ POP_INSERT_PASSES ()
+ NEXT_PASS (pass_late_compilation);
+ PUSH_INSERT_PASSES_WITHIN (pass_late_compilation)
NEXT_PASS (pass_fast_rtl_dce);
+ POP_INSERT_PASSES ()
+ NEXT_PASS (pass_postreload);
+ PUSH_INSERT_PASSES_WITHIN (pass_postreload)
NEXT_PASS (pass_reorder_blocks);
NEXT_PASS (pass_leaf_regs);
NEXT_PASS (pass_split_before_sched2);
--
2.34.1