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
This commit is contained in:
Uros Bizjak 2012-07-04 15:49:19 +02:00
parent 23af816cc9
commit 3f1ae7424c
4 changed files with 48 additions and 6 deletions

View 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.

View File

@ -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;
}

View 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

View File

@ -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 ();
}