* lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into
commit4df870fdeec85907db3dcabf1992cf8b63e1d562
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 3 Aug 2013 19:54:18 +0000 (3 19:54 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 3 Aug 2013 19:54:18 +0000 (3 19:54 +0000)
tree03ce7f28fa403515aaa2237e480f2c85c5013a0b
parentdda4f0ece17a96da6fbeddab8326ccd502171fa1
* lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into
boundaries.
* lto-streamer-out.c (tree_is_indexable): Results decls and
parm decls are not indexable.
(DFS_write_tree_body): Do not follow args and results.
(hash_tree): Likewise.
(output_functions): Rearrange so struct function is needed
only when real body is output; be able to also ouptut abstract
functions; output DECL_ARGUMENTS and DECL_RESULT.
(lto_output): When not in WPA, ale store abstract functions.
(write_symbol): Do not care about RESULT_DECL.
(output_symbol_p): Handle correctly sbtract decls.
* lto-streamer-in.c (input_function): Rearrange so struct
function can be NULL at entry; allow streaming of
functions w/o body; store DECL_ARGUMENTS and DECL_RESULT.
* ipa.c (symtab_remove_unreachable_nodes): Silence confused
sanity check during LTO.
* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Skip
RESULT_DECl and DECL_ARGUMENTS.
* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
Likewise.

* lto.c (lto_materialize_function): Do not push struct function.
* lto-partition.c (get_symbol_class): Handle abstracts correctly.
(may_need_named_section_p): Even abstract origins may need
named section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201468 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa.c
gcc/lto-cgraph.c
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c
gcc/lto/ChangeLog
gcc/lto/lto-partition.c
gcc/lto/lto.c
gcc/tree-streamer-in.c
gcc/tree-streamer-out.c