tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break loop if EXPR is simplified to const value.

* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
	loop if EXPR is simplified to const value.

From-SVN: r227055
This commit is contained in:
Bin Cheng 2015-08-21 10:09:48 +00:00 committed by Bin Cheng
parent 55b9e2fc72
commit eff1e5afad
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2015-08-21 Bin Cheng <bin.cheng@arm.com>
* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
loop if EXPR is simplified to const value.
2015-08-21 Yury Gribov <y.gribov@samsung.com>
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,

View File

@ -2083,6 +2083,10 @@ simplify_using_initial_conditions (struct loop *loop, tree expr)
if (e->flags & EDGE_FALSE_VALUE)
cond = invert_truthvalue (cond);
expr = tree_simplify_using_condition (cond, expr);
/* Break if EXPR is simplified to const values. */
if (expr && (integer_zerop (expr) || integer_nonzerop (expr)))
break;
++cnt;
}