From 3cf8b3e341b8424d7c34c918406bd37d2feb7407 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 7 May 2019 11:17:00 +0000 Subject: re PR tree-optimization/90316 (large compile time increase in opt / alias stmt walking for Go example) 2019-05-07 Richard Biener PR tree-optimization/90316 * tree-ssa-alias.h (get_continuation_for_phi): Take walking limit by reference. (walk_non_aliased_vuses): Take walking limit argument. * tree-ssa-alias.c (maybe_skip_until): Take limit and abort walking if it is reached instead of just counting. (get_continuation_for_phi): Likewise. (walk_non_aliased_vuses): Likewise, instead of leaving counter limiting to the callback. * tree-ssa-sccvn.c (vn_reference_lookup_2): Adjust. (vn_reference_lookup_3): Likewise. (vn_reference_lookup_pieces): Likewise. (vn_reference_lookup): Likewise. * tree-ssa-pre.c (translate_vuse_through_block): Limit walking. * tree-ssa-scopedtables.c (vuse_eq): Adjust. (avail_exprs_stack::lookup_avail_expr): Likewise. From-SVN: r270940 --- gcc/tree-ssa-alias.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'gcc/tree-ssa-alias.h') diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h index a5293cd..cee8449 100644 --- a/gcc/tree-ssa-alias.h +++ b/gcc/tree-ssa-alias.h @@ -132,15 +132,13 @@ extern bool call_may_clobber_ref_p_1 (gcall *, ao_ref *); extern bool stmt_kills_ref_p (gimple *, tree); extern bool stmt_kills_ref_p (gimple *, ao_ref *); extern tree get_continuation_for_phi (gimple *, ao_ref *, - unsigned int *, bitmap *, bool, + unsigned int &, bitmap *, bool, void *(*)(ao_ref *, tree, void *, bool *), void *); extern void *walk_non_aliased_vuses (ao_ref *, tree, - void *(*)(ao_ref *, tree, - unsigned int, void *), + void *(*)(ao_ref *, tree, void *), void *(*)(ao_ref *, tree, void *, bool *), - tree (*)(tree), - void *); + tree (*)(tree), unsigned &, void *); extern int walk_aliased_vdefs (ao_ref *, tree, bool (*)(ao_ref *, tree, void *), void *, bitmap *, -- cgit v1.1