summaryrefslogtreecommitdiffstats
path: root/gcc/tree-ssa-threadupdate.h
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years in gcc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadupdate.c: Fix trailing whitespace.law2013-11-201-1/+1
| | | | | | * tree-ssa-threadupdate.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205072 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadupdate.h (delete_thread_path): Declare.law2013-11-081-0/+1
| | | | | | | | | | * tree-ssa-threadupdate.c (delete_thread_path): New function. (ssa_redirect_edges, thread_block_1): Use it. (thread_through_loop_header, mark_threaded_blocks): Likewise. (thread_through_all_blocks, register_jump_thread): Likewise. * tree-ssa-threadedge.c (thread_across_edge): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204579 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-threadedge.c (thread_across_edge): Make path a pointer tolaw2013-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203061 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-flow.h (thread_through_all_blocks): Prototype moved intolaw2013-09-261-0/+45
tree-ssa-threadupdate.h. (register_jump_thread): Similarly. * tree-ssa-threadupdate.h: New header file. * tree-ssa-dom.c: Include tree-ssa-threadupdate.h. * tree-vrp.c: Likewise. * tree-ssa-threadedge.c: Include tree-ssa-threadupdate.h. (thread_around_empty_blocks): Change type of path vector argument to an edge,type pair from just an edge. Initialize both elements when appending to a jump threading path. Tweak references to elements appropriately. (thread_across_edge): Similarly. Release memory for the elements as needed. * tree-ssa-threadupdate.c: Include tree-ssa-threadupdate.h. (dump_jump_thread_path): New function broken out from register_jump_thread. (register_jump_thread): Use dump_jump_thread_path. Change type of path vector entries. Search the path for NULL edges and dump the path if one is found. Tweak the conversion of path to 3-edge form to use the block copy type information embedded in the path. * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Update expected output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202933 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud