gcc/gcc/tree-ssa-threadbackward.h
Jeff Law 21f0717ab1 [PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges
PR tree-optimization/67892
	* tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
	in comment.
	(thread_through_normal_block): If we have seen a backedge, then
	do nothing.  No longer call find_jump_threads_backwards here.
	(thread_across_edge): Use find_jump_threads_backwards to find
	jump threads if the old style threader was not successful.
	* tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
	gsi_last_nondebug_bb.  Return NULL if the block does not end
	with a control statement.
	(find_jump_threads_backwards): Setup code moved here from
	tree-ssa-threadedge.c::thread_through_normal_block.  Accept
	single edge argument instead of name & block.
	* tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
	prototype.

        PR tree-optimization/67892
	* gcc.dg/tree-ssa/pr21417: Update expected output.
	* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.

From-SVN: r229538
2015-10-29 10:20:06 -06:00

25 lines
886 B
C

/* Header file for SSA dominator optimizations.
Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_TREE_SSA_THREADFSM_H
#define GCC_TREE_SSA_THREADFSM_H
extern void find_jump_threads_backwards (edge);
#endif /* GCC_TREE_SSA_THREADFSM_H */