diff options
author | Richard Guenther <rguenther@suse.de> | 2010-01-13 10:07:47 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-01-13 10:07:47 +0000 |
commit | 688a482d6359352c16efb6eee97a29894eb3ba37 (patch) | |
tree | 76a66b356728d78d55e273dfdd2f9ffb112f4a4b /gcc/lto-streamer-out.c | |
parent | 288de41a81d13fcc90d611d3c2b9c1fe7b0d09a7 (diff) | |
download | gcc-688a482d6359352c16efb6eee97a29894eb3ba37.zip gcc-688a482d6359352c16efb6eee97a29894eb3ba37.tar.gz gcc-688a482d6359352c16efb6eee97a29894eb3ba37.tar.bz2 |
re PR middle-end/42678 (ICE with lto1 in expand_mult, at expmed.c:3253)
2010-01-13 Richard Guenther <rguenther@suse.de>
PR lto/42678
* tree-pass.h (PROP_gimple_lcx): New.
* cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
* passes.c (init_optimization_passes): Move pass_lower_complex_O0
before the final cleanup_eh.
(dump_properties): Dump PROP_gimple_lcx.
* tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
(tree_lower_complex_O0): Remove.
(gate_no_optimization): Run if PROP_gimple_lcx is not set.
(pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
tree_lower_complex, schedule TODO_update_ssa.
* lto-streamer-out.c (output_function): Stream the functions
properties.
* lto-streamer-in.c (input_function): Likewise.
(lto_read_body): Do not override them here.
* gfortran.dg/lto/20100110-1_0.f90: New testcase.
From-SVN: r155853
Diffstat (limited to 'gcc/lto-streamer-out.c')
-rw-r--r-- | gcc/lto-streamer-out.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index fe43dce..d5431ba 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1872,6 +1872,9 @@ output_function (struct cgraph_node *node) lto_output_bitpack (ob->main_stream, bp); bitpack_delete (bp); + /* Output current IL state of the function. */ + output_uleb128 (ob, fn->curr_properties); + /* Output the static chain and non-local goto save area. */ lto_output_tree_ref (ob, fn->static_chain_decl); lto_output_tree_ref (ob, fn->nonlocal_goto_save_area); |