diff options
author | Richard Biener <rguenther@suse.de> | 2013-04-23 08:08:25 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-04-23 08:08:25 +0000 |
commit | 999c11718ded2d02734a6ecdf7572f7467cf5dc6 (patch) | |
tree | 4e051be64f45b53b36d4a4759715e8b57f71b730 /gcc/tree-vrp.c | |
parent | 5366925908d82b07aaf6948cdf4c20eb41207896 (diff) | |
download | gcc-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.c | 3 |
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. */ |