summaryrefslogtreecommitdiff
path: root/gcc/lcm.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2011-01-13 06:41:03 -0700
committerJeff Law <law@gcc.gnu.org>2011-01-13 06:41:03 -0700
commit29fa95ed577bb9080f25c4d3d8c694b40051e87a (patch)
tree63481903a2a1e2fc61101558fa5703b5c7af933d /gcc/lcm.c
parent71d12276670423b5a6bc35ba79feb481feed7c31 (diff)
re PR rtl-optimization/39077 (GCSE-optimization causes enormous binary size increase (~20 times !))
* PR rtl-optimization/39077 * doc/invoke.texi (max-gcse-insertion-ratio): Document. * params.h (MAX_GCSE_INSERTION_RATIO): Define. * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define. * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps. * gcse.c (prune_insertions_deletions): New function. (compute_pre_data): Use it. From-SVN: r168747
Diffstat (limited to 'gcc/lcm.c')
-rw-r--r--gcc/lcm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/lcm.c b/gcc/lcm.c
index 31e82886df4..61c67e04ae7 100644
--- a/gcc/lcm.c
+++ b/gcc/lcm.c
@@ -1,6 +1,6 @@
/* Generic partial redundancy elimination with lazy code motion support.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
@@ -451,6 +451,8 @@ pre_edge_lcm (int n_exprs, sbitmap *transp,
*insert = sbitmap_vector_alloc (num_edges, n_exprs);
*del = sbitmap_vector_alloc (last_basic_block, n_exprs);
+ sbitmap_vector_zero (*insert, num_edges);
+ sbitmap_vector_zero (*del, last_basic_block);
compute_insert_delete (edge_list, antloc, later, laterin, *insert, *del);
sbitmap_vector_free (laterin);