aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-05-09 07:49:18 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-05-09 07:49:18 +0000
commitee3958cfe190f6c0925deb9f3c573b87dc6c9ca4 (patch)
tree4d2e0758782c12dfeb2584fcc6ff778f83b57e35
parent3ce2cd363211b991daaba5b3ee52309a524c3fe9 (diff)
downloadgcc-ee3958cfe190f6c0925deb9f3c573b87dc6c9ca4.zip
gcc-ee3958cfe190f6c0925deb9f3c573b87dc6c9ca4.tar.gz
gcc-ee3958cfe190f6c0925deb9f3c573b87dc6c9ca4.tar.bz2
Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
2014-05-09 Richard Biener <rguenther@suse.de> * Makefile.in (GTFILES): Remove tree-ssa-propagate.c. * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h. (interesting_ssa_edges, varying_ssa_edges): Move out of GC space. (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init, ssa_propagate): Adjust. From-SVN: r210261
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/Makefile.in1
-rw-r--r--gcc/tree-ssa-propagate.c28
3 files changed, 21 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0b27fc8..879bd55 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2014-05-09 Richard Biener <rguenther@suse.de>
+
+ * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
+ * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
+ (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
+ (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
+ ssa_propagate): Adjust.
+
2014-05-08 Jeff Law <law@redhat.com>
PR tree-optimization/61009
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index fd8c2c5..5492e81 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -2272,7 +2272,6 @@ GTFILES = $(CPP_ID_DATA_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
$(srcdir)/omp-low.c \
$(srcdir)/targhooks.c $(out_file) $(srcdir)/passes.c $(srcdir)/cgraphunit.c \
$(srcdir)/cgraphclones.c \
- $(srcdir)/tree-ssa-propagate.c \
$(srcdir)/tree-phinodes.c \
$(srcdir)/tree-ssa-alias.h \
$(srcdir)/tree-ssanames.h \
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c
index 59e46dc..4e76d97 100644
--- a/gcc/tree-ssa-propagate.c
+++ b/gcc/tree-ssa-propagate.c
@@ -153,7 +153,7 @@ static sbitmap bb_in_list;
definition has changed. SSA edges are def-use edges in the SSA
web. For each D-U edge, we store the target statement or PHI node
U. */
-static GTY(()) vec<gimple, va_gc> *interesting_ssa_edges;
+static vec<gimple> interesting_ssa_edges;
/* Identical to INTERESTING_SSA_EDGES. For performance reasons, the
list of SSA edges is split into two. One contains all SSA edges
@@ -169,7 +169,7 @@ static GTY(()) vec<gimple, va_gc> *interesting_ssa_edges;
don't use a separate worklist for VARYING edges, we end up with
situations where lattice values move from
UNDEFINED->INTERESTING->VARYING instead of UNDEFINED->VARYING. */
-static GTY(()) vec<gimple, va_gc> *varying_ssa_edges;
+static vec<gimple> varying_ssa_edges;
/* Return true if the block worklist empty. */
@@ -271,9 +271,9 @@ add_ssa_edge (tree var, bool is_varying)
{
gimple_set_plf (use_stmt, STMT_IN_SSA_EDGE_WORKLIST, true);
if (is_varying)
- vec_safe_push (varying_ssa_edges, use_stmt);
+ varying_ssa_edges.safe_push (use_stmt);
else
- vec_safe_push (interesting_ssa_edges, use_stmt);
+ interesting_ssa_edges.safe_push (use_stmt);
}
}
}
@@ -369,15 +369,15 @@ simulate_stmt (gimple stmt)
SSA edge is added to it in simulate_stmt. */
static void
-process_ssa_edge_worklist (vec<gimple, va_gc> **worklist)
+process_ssa_edge_worklist (vec<gimple> *worklist)
{
/* Drain the entire worklist. */
- while ((*worklist)->length () > 0)
+ while (worklist->length () > 0)
{
basic_block bb;
/* Pull the statement to simulate off the worklist. */
- gimple stmt = (*worklist)->pop ();
+ gimple stmt = worklist->pop ();
/* If this statement was already visited by simulate_block, then
we don't need to visit it again here. */
@@ -492,8 +492,8 @@ ssa_prop_init (void)
basic_block bb;
/* Worklists of SSA edges. */
- vec_alloc (interesting_ssa_edges, 20);
- vec_alloc (varying_ssa_edges, 20);
+ interesting_ssa_edges.create (20);
+ varying_ssa_edges.create (20);
executable_blocks = sbitmap_alloc (last_basic_block_for_fn (cfun));
bitmap_clear (executable_blocks);
@@ -535,8 +535,8 @@ ssa_prop_init (void)
static void
ssa_prop_fini (void)
{
- vec_free (interesting_ssa_edges);
- vec_free (varying_ssa_edges);
+ interesting_ssa_edges.release ();
+ varying_ssa_edges.release ();
cfg_blocks.release ();
sbitmap_free (bb_in_list);
sbitmap_free (executable_blocks);
@@ -859,8 +859,8 @@ ssa_propagate (ssa_prop_visit_stmt_fn visit_stmt,
/* Iterate until the worklists are empty. */
while (!cfg_blocks_empty_p ()
- || interesting_ssa_edges->length () > 0
- || varying_ssa_edges->length () > 0)
+ || interesting_ssa_edges.length () > 0
+ || varying_ssa_edges.length () > 0)
{
if (!cfg_blocks_empty_p ())
{
@@ -1464,5 +1464,3 @@ propagate_tree_value_into_stmt (gimple_stmt_iterator *gsi, tree val)
else
gcc_unreachable ();
}
-
-#include "gt-tree-ssa-propagate.h"