aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-scalar-evolution.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-12-18 19:15:10 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-12-18 19:15:10 +0100
commit81fada9aa760fe9e502fbc0ad0e4bf94ecd1269f (patch)
tree2ec83785466dc6ee7922f916a272411c1c679773 /gcc/tree-scalar-evolution.c
parent16923e7bf333db732aed3686972b40ac2e458109 (diff)
downloadgcc-81fada9aa760fe9e502fbc0ad0e4bf94ecd1269f.zip
gcc-81fada9aa760fe9e502fbc0ad0e4bf94ecd1269f.tar.gz
gcc-81fada9aa760fe9e502fbc0ad0e4bf94ecd1269f.tar.bz2
re PR tree-optimization/46985 (ICE: SIGSEGV in is_gimple_min_invariant (gimple.c:2742) with -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-fre)
PR tree-optimization/46985 * tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL, return it immediately. * gfortran.dg/pr46985.f90: New test. From-SVN: r168027
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r--gcc/tree-scalar-evolution.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 4a4bda9..24be2e8 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -2616,7 +2616,8 @@ instantiate_scev_r (basic_block instantiate_below,
if (size_expr++ > PARAM_VALUE (PARAM_SCEV_MAX_EXPR_SIZE))
return chrec_dont_know;
- if (automatically_generated_chrec_p (chrec)
+ if (chrec == NULL_TREE
+ || automatically_generated_chrec_p (chrec)
|| is_gimple_min_invariant (chrec))
return chrec;