aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-04-30 13:23:25 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-04-30 13:23:25 +0000
commitb6050cb77f23aaeedb3f4e223dbebe33143ff774 (patch)
treebe3483c93bb03a35ae38aa67b8535394a43e2974 /gcc
parentccb253b36cc1bef88d135159a10d35395644ac51 (diff)
downloadgcc-b6050cb77f23aaeedb3f4e223dbebe33143ff774.zip
gcc-b6050cb77f23aaeedb3f4e223dbebe33143ff774.tar.gz
gcc-b6050cb77f23aaeedb3f4e223dbebe33143ff774.tar.bz2
re PR lto/43946 (SPEC2000 GCC fails to build with -fprofile-generate -O2 -ffast-math -flto -fwhole-program)
2010-04-30 Richard Guenther <rguenther@suse.de> PR lto/43946 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data first after all lowering passes. * gcc.dg/lto/20100430-1_0.c: New testcase. From-SVN: r158935
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/passes.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/lto/20100430-1_0.c14
4 files changed, 26 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4d295e3..31be263 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43946
+ * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
+ first after all lowering passes.
+
2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
* toplev.c: Include varray.h for statistics dumping.
diff --git a/gcc/passes.c b/gcc/passes.c
index 7a5d16f..f482437 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -748,6 +748,7 @@ init_optimization_passes (void)
/* Interprocedural optimization passes. */
p = &all_small_ipa_passes;
+ NEXT_PASS (pass_ipa_free_lang_data);
NEXT_PASS (pass_ipa_function_and_variable_visibility);
NEXT_PASS (pass_ipa_early_inline);
{
@@ -756,7 +757,6 @@ init_optimization_passes (void)
NEXT_PASS (pass_inline_parameters);
NEXT_PASS (pass_rebuild_cgraph_edges);
}
- NEXT_PASS (pass_ipa_free_lang_data);
NEXT_PASS (pass_early_local_passes);
{
struct opt_pass **p = &pass_early_local_passes.pass.sub;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 886e810..e4ff4a6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43946
+ * gcc.dg/lto/20100430-1_0.c: New testcase.
+
2010-04-30 Jakub Jelinek <jakub@redhat.com>
PR debug/43942
diff --git a/gcc/testsuite/gcc.dg/lto/20100430-1_0.c b/gcc/testsuite/gcc.dg/lto/20100430-1_0.c
new file mode 100644
index 0000000..d2e79c6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/20100430-1_0.c
@@ -0,0 +1,14 @@
+/* { dg-lto-do link } */
+/* { dg-lto-options {{-O2 -fprofile-arcs -flto -r -nostdlib}} } */
+
+void
+expand_stmt_with_iterators_1 (void)
+{
+ extern void expand_expr_stmt (void);
+ expand_expr_stmt ();
+}
+void
+iterator_expand (void)
+{
+ expand_stmt_with_iterators_1 ();
+}