diff options
author | Richard Guenther <rguenther@suse.de> | 2010-04-30 13:23:25 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-04-30 13:23:25 +0000 |
commit | b6050cb77f23aaeedb3f4e223dbebe33143ff774 (patch) | |
tree | be3483c93bb03a35ae38aa67b8535394a43e2974 /gcc | |
parent | ccb253b36cc1bef88d135159a10d35395644ac51 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/passes.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/20100430-1_0.c | 14 |
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 (); +} |