summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-niter.c
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-21 10:48:23 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-21 10:48:23 +0000
commit5c2800929619d22e6a521c601780fc61f3fa9683 (patch)
treee7c1b97bd3fb20b67e45a396257d670957faddf4 /gcc/tree-ssa-loop-niter.c
parentd30388200fa08cdfb5e02409ef07d19d244d0a17 (diff)
downloadgcc-5c2800929619d22e6a521c601780fc61f3fa9683.tar.gz
PR tree-optimization/23434
* tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when the iteration bound is not an INTEGER_CST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103315 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
-rw-r--r--gcc/tree-ssa-loop-niter.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index fc5491b857e..a8e4737633d 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -1653,6 +1653,10 @@ proved_non_wrapping_p (tree at_stmt,
else
valid_niter = fold_convert (TREE_TYPE (bound), valid_niter);
+ /* Give up if BOUND was not folded to an INTEGER_CST, as in PR23434. */
+ if (TREE_CODE (bound) != INTEGER_CST)
+ return false;
+
/* After the statement niter_bound->at_stmt we know that anything is
executed at most BOUND times. */
if (at_stmt && stmt_dominates_stmt_p (niter_bound->at_stmt, at_stmt))