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

--- Comment #44 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:396cc31317ebad416e234dfa5f85d42585d32437

commit r11-7147-g396cc31317ebad416e234dfa5f85d42585d32437
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Feb 9 11:59:06 2021 +0100

    Fix O(region-size) unwind in VN

    This fixes the currently O(region-size) unwinding of avail info
    to be O(unwind-size) by tracking a linked-list stack of pushed
    avails.  This reduces the compile-time spent in complete unrolling
    for WRF.

    2021-02-09  Richard Biener  <rguent...@suse.de>

            PR tree-optimization/98863
            * tree-ssa-sccvn.h (vn_avail::next_undo): Add.
            * tree-ssa-sccvn.c (last_pushed_avail): New global.
            (rpo_elim::eliminate_push_avail): Chain pushed avails.
            (unwind_state::avail_top): Add.
            (do_unwind): Rewrite unwinding of avail entries.
            (do_rpo_vn): Initialize last_pushed_avail and
            avail_top of the undo state.

Reply via email to