From aee2d6119d0438dae8eb0e7f0fdc7b9ec9f67d27 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 1 Oct 2013 07:42:16 -0600 Subject: 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/tree-ssa-threadupdate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/tree-ssa-threadupdate.h') diff --git a/gcc/tree-ssa-threadupdate.h b/gcc/tree-ssa-threadupdate.h index 723f5bbe0eb..f84c02e9b3c 100644 --- a/gcc/tree-ssa-threadupdate.h +++ b/gcc/tree-ssa-threadupdate.h @@ -41,5 +41,5 @@ public: enum jump_thread_edge_type type; }; -extern void register_jump_thread (vec); +extern void register_jump_thread (vec *); #endif -- cgit v1.2.1