https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90316

--- Comment #39 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri May 17 08:10:58 2019
New Revision: 271314

URL: https://gcc.gnu.org/viewcvs?rev=271314&root=gcc&view=rev
Log:
2019-05-17  Richard Biener  <rguent...@suse.de>

        Backport from mainline
        2019-05-07  Richard Biener  <rguent...@suse.de>

        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.

        2019-05-06  Richard Biener  <rguent...@suse.de>

        PR tree-optimization/90316
        * tree-ssa-alias.c (maybe_skip_until): Pass in target BB,
        compute target on demand.
        (get_continuation_for_phi): Remove code walking stmts to
        get to a target virtual operand which could end up being
        quadratic.

Modified:
    branches/gcc-9-branch/gcc/ChangeLog
    branches/gcc-9-branch/gcc/tree-ssa-alias.c
    branches/gcc-9-branch/gcc/tree-ssa-alias.h
    branches/gcc-9-branch/gcc/tree-ssa-pre.c
    branches/gcc-9-branch/gcc/tree-ssa-sccvn.c
    branches/gcc-9-branch/gcc/tree-ssa-scopedtables.c

Reply via email to