re PR tree-optimization/71437 (Performance regression after r235817)
authorJeff Law <law@redhat.com>
Thu, 16 Mar 2017 19:21:23 +0000 (13:21 -0600)
committerJeff Law <law@gcc.gnu.org>
Thu, 16 Mar 2017 19:21:23 +0000 (13:21 -0600)
commit8d7437be4725af093548429f6e4c80a7867cdb41
treee61e028074af01a48111ce51857df9f8bfae080a
parent9fc900af68527b00d67f11f897e1fe77a176bee2
re PR tree-optimization/71437 (Performance regression after r235817)

PR tree-optimization/71437
* tree-ssa-dom.c (pfn_simplify): Add basic_block argument.  All
callers changed.
(simplify_stmt_for_jump_threading): Add basic_block argument.  All
callers changed.
(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
(dom_opt_dom_walker::thread_across_edge): Remove
handle_dominating_asserts argument.  All callers changed.
(record_temporary_equivalences_from_stmts_at_dest): Corresponding
changes.  Remove calls to lhs_of_dominating_assert.  Other
uses of handle_dominating_asserts turn into unconditional code
(simplify_control_stmt_condition_1): Likewise.
(simplify_control_stmt_condition): Likewise.
(thread_through_normal_block, thread_across_edge): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
* tree-vrp.c (lhs_of_dominating_assert): Move here.  Return original
object if it is not an SSA_NAME.
(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
before calling into the VRP specific simplifiers.
(identify_jump_threads): Remove handle_dominating_asserts
argument.

From-SVN: r246207
gcc/ChangeLog
gcc/tree-ssa-dom.c
gcc/tree-ssa-threadedge.c
gcc/tree-ssa-threadedge.h
gcc/tree-vrp.c