summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadupdate.h
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-30 20:28:14 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-30 20:28:14 +0000
commitf1344f45994243478b1f4225e676446fedf18bf5 (patch)
tree8a5d0ddc85f0e869a286b391f3deb283fd6db817 /gcc/tree-ssa-threadupdate.h
parenta4f58df11093c1253f9648e0ffa7fbdf604d05c2 (diff)
downloadgcc-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.h2
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