tree-ssa-threadedge.c (thread_across_edge): Make path a pointer to a vec.
authorJeff Law <law@redhat.com>
Tue, 1 Oct 2013 13:42:16 +0000 (07:42 -0600)
committerJeff Law <law@gcc.gnu.org>
Tue, 1 Oct 2013 13:42:16 +0000 (07:42 -0600)
commitaee2d6119d0438dae8eb0e7f0fdc7b9ec9f67d27
treeb33755bbbed7cadc1a56cdbed01f43bdf885f843
parent966f97ac018548b15dbcee50790f32dc0d0b595f
tree-ssa-threadedge.c (thread_across_edge): Make path a pointer to a vec.

* tree-ssa-threadedge.c (thread_across_edge): Make path a pointer to
a vec.  Only delete the path if we create one without successfully
registering a jump thread.
* tree-ssa-threadupdate.h (register_jump_thread): Pass in path vector
as a pointer.
* tree-ssa-threadupdate.c (threaded_edges): Remove.  No longer used
(paths): New vector of jump threading paths.
(THREAD_TARGET, THREAD_TARGET2): Remove accessor macros.
(THREAD_PATH): New accessor macro for the entire thread path.
(lookup_redirection_data): Get intermediate and final outgoing edge
from the thread path.
(create_edge_and_update_destination_phis): Copy the threading path.
(ssa_fix_duplicate_block_edges): Get edges and block types from the
jump threading path.
(ssa_redirect_edges): Get edges and block types from the jump threading
path.  Free the path vector.
(thread_block): Get edges from the jump threading path.  Look at the
entire path to see if we thread to a loop exit.  If we cancel a jump
thread request, then free the path vector.
(thread_single_edge): Get edges and block types from the jump threading
path.  Free the path vector.
(thread_through_loop_header): Get edges and block types from the jump
threading path.  Free the path vector.
(mark_threaded_blocks): Iterate over the vector of paths and store
the path on the appropriate edge.  Get edges and block types from the
jump threading path.
(mark_threaded_blocks): Get edges and block types from the jump
threading path.  Free the path vector.
(thread_through_all_blocks): Use the vector of paths rather than
a vector of 3-edge sets.
(register_jump_thread): Accept pointer to a path vector rather
than the path vector itself.  Store the path vector for later use.
Simplify.

From-SVN: r203061
gcc/ChangeLog
gcc/tree-ssa-threadedge.c
gcc/tree-ssa-threadupdate.c
gcc/tree-ssa-threadupdate.h