re PR middle-end/53321 (LTO bootstrap failed with bootstrap-profiled)
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 4 Jul 2012 13:49:19 +0000 (15:49 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 4 Jul 2012 13:49:19 +0000 (15:49 +0200)
PR middle-end/53321
* ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375
to not call cgraph_propagate_frequency if something was changed.

testsuite/ChangLog:

PR middle-end/53321
* g++.dg/torture/pr53321.C: New test.

From-SVN: r189261

gcc/ChangeLog
gcc/ipa.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr53321.C [new file with mode: 0644]

index 6f8a34f33389b998476a59170fc4567b6395f3c6..3c3ba0ed321d0ac4e4fb699ed40c9f9900f2c0d4 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/53321
+       * ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375
+       to not call cgraph_propagate_frequency if something was changed.
+
 2012-07-04  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/53433
@@ -31,7 +37,7 @@
        as in free_lang_data_in_type.
 
 2012-07-04  Tobias Grosser <tobias@grosser.es>
-       Michael Matz  <matz@suse.de>
+           Michael Matz  <matz@suse.de>
 
        * Makefile.in (OBJS): Add graphite-optimize-isl.o.
        (graphite-optimize-isl.o): Add dependencies.
index f5cce1ba41a740cd51ce090a18c1f46f95680e0c..09351a79c2eaea0bb22d58f1a1b1e39887449cf5 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -449,11 +449,6 @@ symtab_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
   verify_symtab ();
 #endif
 
-  /* If we removed something, perhaps profile could be improved.  */
-  if (changed && optimize && inline_edge_summary_vec)
-    FOR_EACH_DEFINED_FUNCTION (node)
-      cgraph_propagate_frequency (node);
-
   return changed;
 }
 
index 3d1fda9e16ca6096394ef12c499fddfe329800e6..2833385b50a6a04a0b50f4d2e82653fbd94e6964 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/53321
+       * g++.dg/torture/pr53321.C: New test.
+
 2012-07-04  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/53844
diff --git a/gcc/testsuite/g++.dg/torture/pr53321.C b/gcc/testsuite/g++.dg/torture/pr53321.C
new file mode 100644 (file)
index 0000000..40a2de7
--- /dev/null
@@ -0,0 +1,36 @@
+// { dg-do compile }
+// { dg-require-profiling "-fprofile-generate" }
+// { dg-options "-fprofile-generate" }
+
+typedef long unsigned int size_t;
+
+extern "C"
+{
+  extern void *memcpy (void *__dest, __const void *__src, size_t __n);
+}
+
+extern char *src, *sources;
+extern int n_sources;
+
+static void
+find_source (const char *file_name)
+{
+  memcpy (src, sources, n_sources * sizeof (*sources));
+}
+
+extern const char *gcov_read_string (void);
+
+static void read_graph_file (void)
+{
+  find_source (gcov_read_string ());
+}
+
+static void process_file (void)
+{
+  read_graph_file ();
+}
+
+int main ()
+{
+  process_file ();
+}