This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/71437] [7 regression] Performance regression after r235817


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

--- Comment #21 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Thu Mar 16 19:21:33 2017
New Revision: 246208

URL: https://gcc.gnu.org/viewcvs?rev=246208&root=gcc&view=rev
Log:
        PR tree-optimization/71437
        * tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
        member function.  Implementation moved into after_dom_children
        member function and into the threader's thread_outgoing_edges
        function.
        (dom_opt_dom_walker::after_dom_children): Simplify by moving
        some code into new thread_outgoing_edges.
        * tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
        definition.  Simplify marker handling (do it here).   Assume we always
        have the available expression and the const/copies tables.
        (thread_outgoing_edges): New function extracted from tree-ssa-dom.c
        and tree-vrp.c
        * tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
        * tree-vrp.c (equiv_stack): No longer file scoped.
        (vrp_dom_walker): New class.
        (vrp_dom_walker::before_dom_children): New member function.
        (vrp_dom_walker::after_dom_children): Likewise.
        (identify_jump_threads):  Setup domwalker.  Use it rather than
        walking edges in a random order by hand.  Simplify setup/finalization.
        (finalize_jump_threads): Remove.
        (vrp_finalize): Do not call identify_jump_threads here.
        (execute_vrp): Do it here instead and call thread_through_all_blocks
        here too.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-dom.c
    trunk/gcc/tree-ssa-threadedge.c
    trunk/gcc/tree-ssa-threadedge.h
    trunk/gcc/tree-vrp.c

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]