* [PATCH] tree-optimization/84646 - remove premature thread path rejection
@ 2022-11-09 13:50 Richard Biener
0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2022-11-09 13:50 UTC (permalink / raw)
To: gcc-patches
This removes a premature rejection that's done later in a different
way.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/84646
* tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
Remove premature cycle rejection.
---
gcc/tree-ssa-threadbackward.cc | 23 +++++++----------------
1 file changed, 7 insertions(+), 16 deletions(-)
diff --git a/gcc/tree-ssa-threadbackward.cc b/gcc/tree-ssa-threadbackward.cc
index 2a8cfa3ee01..2290b95717d 100644
--- a/gcc/tree-ssa-threadbackward.cc
+++ b/gcc/tree-ssa-threadbackward.cc
@@ -249,25 +249,16 @@ back_threader::maybe_register_path (back_threader_profitability &profit)
if (taken_edge && taken_edge != UNREACHABLE_EDGE)
{
- if (m_visited_bbs.contains (taken_edge->dest))
+ bool irreducible = false;
+ if (profit.profitable_path_p (m_path, taken_edge, &irreducible)
+ && debug_counter ()
+ && m_registry.register_path (m_path, taken_edge))
{
- // Avoid circular paths by indicating there is nothing to
- // see in this direction.
- taken_edge = UNREACHABLE_EDGE;
+ if (irreducible)
+ vect_free_loop_info_assumptions (m_path[0]->loop_father);
}
else
- {
- bool irreducible = false;
- if (profit.profitable_path_p (m_path, taken_edge, &irreducible)
- && debug_counter ()
- && m_registry.register_path (m_path, taken_edge))
- {
- if (irreducible)
- vect_free_loop_info_assumptions (m_path[0]->loop_father);
- }
- else
- taken_edge = NULL;
- }
+ taken_edge = NULL;
}
if (dump_file && (dump_flags & TDF_DETAILS))
--
2.35.3
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-11-09 13:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-09 13:50 [PATCH] tree-optimization/84646 - remove premature thread path rejection Richard Biener
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).