public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-2089] tree-optimization/110392 - ICE with predicate analysis
@ 2023-06-26 11:02 Richard Biener
0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2023-06-26 11:02 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:ab6eac20f00761695c69b555f6b0a026bc25770d
commit r14-2089-gab6eac20f00761695c69b555f6b0a026bc25770d
Author: Richard Biener <rguenther@suse.de>
Date: Mon Jun 26 11:21:43 2023 +0200
tree-optimization/110392 - ICE with predicate analysis
Feeding not optimized IL can result in predicate normalization
to simplify things so a predicate can get true or false. The
following re-orders the early exit in that case to come after
simplification and normalization to take care of that.
PR tree-optimization/110392
* gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
Do early exits on true/false predicate only after normalization.
Diff:
---
gcc/gimple-predicate-analysis.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/gimple-predicate-analysis.cc b/gcc/gimple-predicate-analysis.cc
index 7f20f81ad86..373163ba9c8 100644
--- a/gcc/gimple-predicate-analysis.cc
+++ b/gcc/gimple-predicate-analysis.cc
@@ -2216,11 +2216,11 @@ uninit_analysis::is_use_guarded (gimple *use_stmt, basic_block use_bb,
return false;
use_preds.simplify (use_stmt, /*is_use=*/true);
+ use_preds.normalize (use_stmt, /*is_use=*/true);
if (use_preds.is_false ())
return true;
if (use_preds.is_true ())
return false;
- use_preds.normalize (use_stmt, /*is_use=*/true);
/* Try to prune the dead incoming phi edges. */
if (!overlap (phi, opnds, visited, use_preds))
@@ -2238,11 +2238,11 @@ uninit_analysis::is_use_guarded (gimple *use_stmt, basic_block use_bb,
return false;
m_phi_def_preds.simplify (phi);
+ m_phi_def_preds.normalize (phi);
if (m_phi_def_preds.is_false ())
return false;
if (m_phi_def_preds.is_true ())
return true;
- m_phi_def_preds.normalize (phi);
}
/* Return true if the predicate guarding the valid definition (i.e.,
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-06-26 11:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-26 11:02 [gcc r14-2089] tree-optimization/110392 - ICE with predicate analysis 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).