diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-09-30 20:28:14 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-09-30 20:28:14 +0000 |
commit | f1344f45994243478b1f4225e676446fedf18bf5 (patch) | |
tree | 8a5d0ddc85f0e869a286b391f3deb283fd6db817 /gcc/tree-ssa-threadupdate.h | |
parent | a4f58df11093c1253f9648e0ffa7fbdf604d05c2 (diff) | |
download | gcc-f1344f45994243478b1f4225e676446fedf18bf5.tar.gz |
[PATCH] Improve DOM's optimization of control statements
* tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
with constant conditions.
* tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
(remove_ctrl_stmt_and_useless_edges): No longer static.
* tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
(remove_ctrl_stmt_and_useless_edges): Likewise.
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228306 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-threadupdate.h')
-rw-r--r-- | gcc/tree-ssa-threadupdate.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-ssa-threadupdate.h b/gcc/tree-ssa-threadupdate.h index 21a9ee31298..30428e8bcbf 100644 --- a/gcc/tree-ssa-threadupdate.h +++ b/gcc/tree-ssa-threadupdate.h @@ -43,5 +43,7 @@ public: }; extern void register_jump_thread (vec <class jump_thread_edge *> *); +extern void remove_jump_threads_starting_at (basic_block); extern void delete_jump_thread_path (vec <class jump_thread_edge *> *); +extern void remove_ctrl_stmt_and_useless_edges (basic_block, basic_block); #endif |