aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-fold.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2021-10-07 10:12:29 -0400
committerAndrew MacLeod <amacleod@redhat.com>2021-10-15 12:00:41 -0400
commit93ac832f1846e4867aa6537f76f510fab8e3e87d (patch)
tree886ff8d895cff2de9887de2a77ad4e48d5d6f324 /gcc/gimple-range-fold.h
parenta10794eafb151b9274d673dfae93459d437cbe4a (diff)
downloadgcc-93ac832f1846e4867aa6537f76f510fab8e3e87d.zip
gcc-93ac832f1846e4867aa6537f76f510fab8e3e87d.tar.gz
gcc-93ac832f1846e4867aa6537f76f510fab8e3e87d.tar.bz2
Ranger : Do not process abnormal ssa-names.
* gimple-range-fold.h (gimple_range_ssa_p): Don't process names that occur in abnormal phis. * gimple-range.cc (gimple_ranger::range_on_edge): Return false for abnormal and EH edges. * gimple-ssa-evrp.c (rvrp_folder::value_of_expr): Ditto. (rvrp_folder::value_on_edge): Ditto. (rvrp_folder::value_of_stmt): Ditto. (hybrid_folder::value_of_expr): Ditto for ranger queries. (hybrid_folder::value_on_edge): Ditto. (hybrid_folder::value_of_stmt): Ditto. * value-query.cc (gimple_range_global): Always return a range if the type is supported.
Diffstat (limited to 'gcc/gimple-range-fold.h')
-rw-r--r--gcc/gimple-range-fold.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/gimple-range-fold.h b/gcc/gimple-range-fold.h
index bc0874b..350e2c4 100644
--- a/gcc/gimple-range-fold.h
+++ b/gcc/gimple-range-fold.h
@@ -93,6 +93,7 @@ gimple_range_ssa_p (tree exp)
{
if (exp && TREE_CODE (exp) == SSA_NAME &&
!SSA_NAME_IS_VIRTUAL_OPERAND (exp) &&
+ !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (exp) &&
irange::supports_type_p (TREE_TYPE (exp)))
return exp;
return NULL_TREE;