diff options
author | Jan Hubicka <jh@suse.cz> | 2016-07-07 13:50:55 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2016-07-07 11:50:55 +0000 |
commit | 019d6598357659e05640cf762b75e18953f70fe9 (patch) | |
tree | 64d511f44bec7f6041625ffaa3457e25ff29165e /gcc/tree-ssa-loop-ivopts.c | |
parent | 275792f2ebb69bc081c4ea764c75ddfd565f640c (diff) | |
download | gcc-019d6598357659e05640cf762b75e18953f70fe9.zip gcc-019d6598357659e05640cf762b75e18953f70fe9.tar.gz gcc-019d6598357659e05640cf762b75e18953f70fe9.tar.bz2 |
tree-scalar-evolution.c (iv_can_overflow_p): export.
* tree-scalar-evolution.c (iv_can_overflow_p): export.
* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
* tree-ssa-loop-ivopts.c (alloc_iv): Use it.
From-SVN: r238088
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 25b9780..6b403f5 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -1181,6 +1181,10 @@ alloc_iv (struct ivopts_data *data, tree base, tree step, iv->biv_p = false; iv->nonlin_use = NULL; iv->ssa_name = NULL_TREE; + if (!no_overflow + && !iv_can_overflow_p (data->current_loop, TREE_TYPE (base), + base, step)) + no_overflow = true; iv->no_overflow = no_overflow; iv->have_address_use = false; |