Commit b8b31957 by Kugan Vivekanandarajah Committed by Kugan Vivekanandarajah

tree-ssa-loop-niter.c (number_of_iterations_popcount): If popcount argument is…

tree-ssa-loop-niter.c (number_of_iterations_popcount): If popcount argument is checked for zero before entering loop, avoid checking again.

gcc/ChangeLog:

2018-07-06  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-ssa-loop-niter.c (number_of_iterations_popcount): If popcount
	argument is checked for zero before entering loop, avoid checking again.

From-SVN: r262487
parent 3f6f3319
2018-07-06 Kugan Vivekanandarajah <kuganv@linaro.org> 2018-07-06 Kugan Vivekanandarajah <kuganv@linaro.org>
* tree-ssa-loop-niter.c (number_of_iterations_popcount): If popcount
argument is checked for zero before entering loop, avoid checking again.
2018-07-06 Kugan Vivekanandarajah <kuganv@linaro.org>
* gimplify.h (generic_expr_could_trap_p): Set as global function. * gimplify.h (generic_expr_could_trap_p): Set as global function.
* gimplify.h (generic_expr_could_trap_p): Likwise. * gimplify.h (generic_expr_could_trap_p): Likwise.
* tree-scalar-evolution.c (expression_expensive_p): Handle COND_EXPR. * tree-scalar-evolution.c (expression_expensive_p): Handle COND_EXPR.
......
...@@ -2596,10 +2596,15 @@ number_of_iterations_popcount (loop_p loop, edge exit, ...@@ -2596,10 +2596,15 @@ number_of_iterations_popcount (loop_p loop, edge exit,
niter->niter = iter; niter->niter = iter;
niter->assumptions = boolean_true_node; niter->assumptions = boolean_true_node;
if (adjust) if (adjust)
niter->may_be_zero = fold_build2 (EQ_EXPR, boolean_type_node, src, {
tree may_be_zero = fold_build2 (EQ_EXPR, boolean_type_node, src,
build_zero_cst build_zero_cst
(TREE_TYPE (src))); (TREE_TYPE (src)));
niter->may_be_zero =
simplify_using_initial_conditions (loop, may_be_zero);
}
else else
niter->may_be_zero = boolean_false_node; niter->may_be_zero = boolean_false_node;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment