summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2007-06-12 12:06:19 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2007-06-12 12:06:19 +0000
commit18d0801470c24386f9e02038d3305e0738d1623e (patch)
tree172c6441c249e7e65732e9052654b4d84a7e6b47 /gcc/tree-ssa-phiopt.c
parent7f482dfebf0aaaf2e35e53ffe16834de4eb1d375 (diff)
downloadgcc-18d0801470c24386f9e02038d3305e0738d1623e.tar.gz
re PR tree-optimization/15353 ([tree-ssa] Merge two "if"s if one subsumes the other.)
2007-06-12 Richard Guenther <rguenther@suse.de> PR tree-optimization/15353 PR tree-optimization/31657 * passes.c (init_optimization_passes): Add pass_tree_ifcombine. * timevar.def: Add TV_TREE_IFCOMBINE. * tree-pass.h (pass_tree_ifcombine): Declare. * tree-ssa-ifcombine.c: New file. * tree-ssa-phiopt.c (blocks_in_phiopt_order): Export. * tree-flow.h (blocks_in_phiopt_order): Declare. * Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o. (tree-ssa-ifcombine.o): New dependencies. * gcc.c-torture/execute/20070424-1.c: New testcase. * gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise. From-SVN: r125644
Diffstat (limited to 'gcc/tree-ssa-phiopt.c')
-rw-r--r--gcc/tree-ssa-phiopt.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 0c756d915cc..8cdd3c80da9 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -45,7 +45,6 @@ static bool minmax_replacement (basic_block, basic_block,
static bool abs_replacement (basic_block, basic_block,
edge, edge, tree, tree, tree);
static void replace_phi_edge_with_variable (basic_block, edge, tree, tree);
-static basic_block *blocks_in_phiopt_order (void);
/* This pass tries to replaces an if-then-else block with an
assignment. We have four kinds of transformations. Some of these
@@ -247,7 +246,7 @@ tree_ssa_phiopt (void)
that if a block X has just a single predecessor Y, then Y is after X in the
ordering. */
-static basic_block *
+basic_block *
blocks_in_phiopt_order (void)
{
basic_block x, y;