From f10d2d85c90c9c649675c248cd5a99f66288f81f Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 25 Nov 2019 07:51:38 +0000 Subject: cfgloop.h (get_loop_exit_edges): Add extra parameter denoting loop body, defaulted to NULL. 2019-11-25 Richard Biener * cfgloop.h (get_loop_exit_edges): Add extra parameter denoting loop body, defaulted to NULL. (single_likely_exit): Add exit vector argument * tree-ssa-loop-niter.h (loop_only_exit_p): Add loop body argument. (number_of_iterations_exit): Likewise. (number_of_iterations_exit_assumptions): Likewise. * cfgloop.c (get_loop_exit_edges): Use passed in loop body if not NULL. * cfgloopanal.c (single_likely_exit): Use passed in exit vector. * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Compute exit vector around call to single_likely_exit. * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_loop): Pass down loop body to loop_only_exit_p. * tree-ssa-loop-niter.c (loop_only_exit_p): Get loop body from caller. (number_of_iterations_exit_assumptions): Get loop body from caller if not NULL. (number_of_iterations_exit): Pass through new loop body arg. (infer_loop_bounds_from_undefined): Get loop body from caller. (estimate_numbers_of_iterations): Compute loop body once. From-SVN: r278667 --- gcc/cfgloop.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/cfgloop.h') diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index e3590d712b0..2979febe2e0 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -379,9 +379,9 @@ extern basic_block *get_loop_body_in_custom_order (const class loop *, extern basic_block *get_loop_body_in_custom_order (const class loop *, void *, int (*) (const void *, const void *, void *)); -extern vec get_loop_exit_edges (const class loop *); +extern vec get_loop_exit_edges (const class loop *, basic_block * = NULL); extern edge single_exit (const class loop *); -extern edge single_likely_exit (class loop *loop); +extern edge single_likely_exit (class loop *loop, vec); extern unsigned num_loop_branches (const class loop *); extern edge loop_preheader_edge (const class loop *); -- cgit v1.2.3