diff options
author | Jeff Law <law@redhat.com> | 2017-03-16 13:21:23 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2017-03-16 13:21:23 -0600 |
commit | 8d7437be4725af093548429f6e4c80a7867cdb41 (patch) | |
tree | e61e028074af01a48111ce51857df9f8bfae080a /gcc/tree-ssa-threadedge.h | |
parent | 9fc900af68527b00d67f11f897e1fe77a176bee2 (diff) | |
download | gcc-8d7437be4725af093548429f6e4c80a7867cdb41.zip gcc-8d7437be4725af093548429f6e4c80a7867cdb41.tar.gz gcc-8d7437be4725af093548429f6e4c80a7867cdb41.tar.bz2 |
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
Diffstat (limited to 'gcc/tree-ssa-threadedge.h')
-rw-r--r-- | gcc/tree-ssa-threadedge.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h index 70658c6..3516f14 100644 --- a/gcc/tree-ssa-threadedge.h +++ b/gcc/tree-ssa-threadedge.h @@ -30,10 +30,10 @@ extern void threadedge_initialize_values (void); extern void threadedge_finalize_values (void); extern bool potentially_threadable_block (basic_block); extern void propagate_threaded_block_debug_into (basic_block, basic_block); -extern void thread_across_edge (gcond *, edge, bool, +extern void thread_across_edge (gcond *, edge, const_and_copies *, avail_exprs_stack *, tree (*) (gimple *, gimple *, - avail_exprs_stack *)); + avail_exprs_stack *, basic_block)); #endif /* GCC_TREE_SSA_THREADEDGE_H */ |