r124786 - in /trunk/gcc: ChangeLog basic-block....
rakdver@gcc.gnu.org
rakdver@gcc.gnu.org
Thu May 17 08:10:00 GMT 2007
Author: rakdver
Date: Thu May 17 08:10:24 2007
New Revision: 124786
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124786
Log:
* tree-vrp.c (finalize_jump_threads): Do not care about dominance info.
(execute_vrp): Preserve loops through jump threading.
* tree-ssa-threadupdate.c (thread_single_edge,
dbds_continue_enumeration_p, determine_bb_domination_status,
thread_through_loop_header): New functions.
(create_edge_and_update_destination_phis,
create_edge_and_update_destination_phis): Set loops for the new blocks.
(prune_undesirable_thread_requests): Removed.
(redirect_edges): Do not pretend that redirect_edge_and_branch can
create new blocks.
(thread_block): Do not call prune_undesirable_thread_requests.
Update loops.
(mark_threaded_blocks): Select edges to thread here.
(thread_through_all_blocks): Take may_peel_loop_headers argument.
Thread edges through loop headers independently.
* cfgloopmanip.c (create_preheader, mfb_keep_just): Export.
* tree-pass.h (TODO_mark_first_instance): New.
(first_pass_instance): Declare.
* cfghooks.c (duplicate_block): Put the block to the original loop
if copy is not specified.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Preserve loops through
jump threading. Pass may_peel_loop_headers to
thread_through_all_blocks according to first_pass_instance.
* cfgloop.h (create_preheader): Declare.
* tree-flow.h (thread_through_all_blocks): Declaration changed.
* basic-block.h (mfb_keep_just, mfb_kj_edge): Declare.
* passes.c (first_pass_instance): New variable.
(next_pass_1): Set TODO_mark_first_instance.
(execute_todo): Set first_pass_instance.
* gcc.dg/tree-ssa/ssa-dom-thread-2.c: New test.
* gcc.dg/vect/vect-102.c, gcc.dg/vect/vect-103.c,
gcc.dg/vect/vect-104.c: Use more complex construction to prevent vectorizing.
* gcc.dg/tree-ssa/pr21559.c: Update outcome.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/basic-block.h
trunk/gcc/cfghooks.c
trunk/gcc/cfgloop.h
trunk/gcc/cfgloopmanip.c
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr21559.c
trunk/gcc/testsuite/gcc.dg/vect/vect-102.c
trunk/gcc/testsuite/gcc.dg/vect/vect-103.c
trunk/gcc/testsuite/gcc.dg/vect/vect-104.c
trunk/gcc/tree-flow.h
trunk/gcc/tree-pass.h
trunk/gcc/tree-ssa-dom.c
trunk/gcc/tree-ssa-threadupdate.c
trunk/gcc/tree-vrp.c
More information about the Gcc-cvs
mailing list