summaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-04-23 08:08:25 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-04-23 08:08:25 +0000
commit999c11718ded2d02734a6ecdf7572f7467cf5dc6 (patch)
tree4e051be64f45b53b36d4a4759715e8b57f71b730 /gcc/tree-vrp.c
parent5366925908d82b07aaf6948cdf4c20eb41207896 (diff)
downloadgcc-999c11718ded2d02734a6ecdf7572f7467cf5dc6.tar.gz
re PR middle-end/57026 (ice: SSA corruption)
2013-04-23 Richard Biener <rguenther@suse.de> PR tree-optimization/57026 * tree-vrp.c (simplify_conversion_using_ranges): Do not propagate from SSA names occuring in abnormal PHI nodes. * gcc.dg/torture/pr57026.c: New testcase. From-SVN: r198175
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 5b4321a3a27..cb4a09aa75c 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -8752,7 +8752,8 @@ simplify_conversion_using_ranges (gimple stmt)
|| !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)))
return false;
innerop = gimple_assign_rhs1 (def_stmt);
- if (TREE_CODE (innerop) != SSA_NAME)
+ if (TREE_CODE (innerop) != SSA_NAME
+ || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (innerop))
return false;
/* Get the value-range of the inner operand. */