diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2012-07-04 15:49:19 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-07-04 15:49:19 +0200 |
commit | 3f1ae7424c7600eb1033e871d6095a5fe3f81555 (patch) | |
tree | 6c9e74b6518a79df559a867dacf83d7c6d47ae70 /gcc | |
parent | 23af816cc9efadb9f038a66c8757446e9ce4deeb (diff) | |
download | gcc-3f1ae7424c7600eb1033e871d6095a5fe3f81555.zip gcc-3f1ae7424c7600eb1033e871d6095a5fe3f81555.tar.gz gcc-3f1ae7424c7600eb1033e871d6095a5fe3f81555.tar.bz2 |
re PR middle-end/53321 (LTO bootstrap failed with bootstrap-profiled)
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ipa.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/torture/pr53321.C | 36 |
4 files changed, 48 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f8a34f..3c3ba0e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. @@ -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; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3d1fda9..2833385 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 index 0000000..40a2de7 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr53321.C @@ -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 (); +} |