summaryrefslogtreecommitdiff
path: root/gcc/lto-streamer-out.c
Commit message (Collapse)AuthorAgeFilesLines
* * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.hubicka2010-08-211-1/+1
| | | | | | | | | | | * lto-streamer-out.c (lto_output): Likewise. * passes.c (ipa_write_optimization_summaries): Initialize statement uids. * lto.c (lto_1_to_1_map): Be prepared for node to have no file data. (lto_wpa_write_files): Update comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163438 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-08-201-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vec.h (FOR_EACH_VEC_ELT): Define. * c-decl.c: Use it. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cgraph.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * config/bfin/bfin.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * dominance.c: Likewise. * dse.c: Likewise. * dwarf2out.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * function.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * ggc-common.c: Likewise. * gimplify.c: Likewise. * graphite-blocking.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * implicit-zee.c: Likewise. * ipa-prop.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-emit.c: Likewise. * lambda-code.c: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-opts.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-symtab.c: Likewise. * matrix-reorg.c: Likewise. * opts.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * sese.c: Likewise. * stor-layout.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-data-ref.c: Likewise. * tree-emutls.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-loop-linear.c: Likewise. * tree-mudflap.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. gcc/ada/ * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. gcc/c-family/ * c-common.c: Use FOR_EACH_VEC_ELT. * c-gimplify.c: Likewise. * c-pragma.c: Likewise. gcc/cp/ * call.c: Use FOR_EACH_VEC_ELT. * class.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * error.c: Likewise. * except.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * repo.c: Likewise. * semantics.c: Likewise. * typeck2.c: Likewise. gcc/fortran/ * trans-openmp.c: Use FOR_EACH_VEC_ELT. gcc/java/ * class.c: Use FOR_EACH_VEC_ELT. * expr.c: Likewise. * jcf-parse.c: Likewise. * resource.c: Likewise. gcc/lto/ * lto.c: Use FOR_EACH_VEC_ELT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163401 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call tofroydnj2010-08-191-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitmap_bit_p. * config/bfin/bifn.c (bfin_discover_loop): Likewise. * dominance.c (iterate_fix_dominators): Likewise. * dse.c (set_usage_bits): Likewise. (set_position_unneeded, record_store): Likewise. * gimple-fold.c (get_maxval_strlen): Likewise. * haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise. * ipa-inline.c (update_caller_keys): Likewise. * ipa-split.c (verify_non_ssa_vars): Likewise. * ipa-type-escape.c (mark_type, close_type_seen): Likewise. (close_type_exposed_parameter, close_type_full_escape): Likewise. (close_addressof_down): Likewise. * ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise. (setup_allocno_left_conflicts_size): Likewise. (ira_reassign_conflict_allocnos): Likewise. (ira_reassign_pseudos): Likewise. * ira-emit.c (change_loop): Likewise. * loop-invariant.c (mark_regno_live, mark_regno_death): Likewise. * lto-streamer-out.c (write_symbol): Likewise. * predict.c (expr_expected_value_1): Likewise. * regstat.c (regstat_bb_compute_ri): Likewise. * sel-sched.c (create_block_for_bookkeeping): Likewise. (track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise. * stmt.c (expand_case): Likewise. * tree-eh.c (emit_eh_dispatch): Likewise. * tree-into-ssa.c (prune_unused_phi_nodes): Likewise. * tree-loop-distribution.c (make_nodes_having_upstream_mem_writes): Likewise. (rdg_flag_vertex, rdg_flag_loop_exits): Likewise. (rdg_build_components): Likewise. * tree-object-size.c (collect_object_sizes_for): Likewise. * tree-sra.c (convert_callers): Likewise. * tree-ssa-coalesce.c (live_track_add_partition): Likewise. * tree-ssa-live.c (mark_all_vars_used_1): Likewise. * tree-ssa-pre.c (bitmap_set_replace_value): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163378 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-streamer-out.c (write_symbol): Fix visibilities of externalhubicka2010-07-241-15/+26
| | | | | | | references. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162497 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:ak2010-07-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-07-10 Andi Kleen <ak@linux.intel.com> PR lto/44992 * lto-opts.c (lto_write_options): Add NULL file_data argument to lto_get_section_name. * lto-section-out.c (lto_destroy_simple_output_block): Likewise. * lto-streamer-out.c (produce_asm): Likewise. (copy_function): Likewise. (produce_symtab): Likewise. (produce_asm_for_decls): Likewise. * lto-streamer.c (lto_get_section_name): Add file_data argument. Rewrite to add random postfix to LTO sections. * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions. (lto_get_section_name): Add file_data argument to prototype. lto: 2010-07-10 Andi Kleen <ak@linux.intel.com> PR lto/44992 * lto.c: Include splay-tree.h (lto_resolution_read): Change to walk file_ids tree and parse extra file_id in resolution file. (lto_section_with_id): Add. (create_subid_section_table): Add. (lwstate): Add. (lto_create_files_from_ids): Add. (lto_file_read): Change to handle sub file ids and create list of file_datas. Add output argument for count. (get_section_data): Pass file_data to lto_get_section_name. (lto_flatten_file): Add. (read_cgraph_and_symbols): Handle linked lists of file_datas. lto-plugin: 2010-07-10 Andi Kleen <ak@linux.intel.com> PR lto/44992 * lto-plugin.c (sym_aux): Add. (plugin_symtab): Remove slots. Add aux and id. (parse_table_entry): Change to use aux instead of slots. (LTO_SECTION_PREFIX): Add. (translate): Improve buffer allocation. Change to append symbols to existing out buffer. (get_section): Remove. (process_symtab): Add. (free_2): Free symtab->aux. (write_resolution): Handle aux instead of slots. Print sub id to resolution file. (claim_file_handler): Clear lto_file. Replace get_symtab/translate calls with call to process_symtab. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-14 Richard Guenther <rguenther@suse.de>rguenth2010-07-141-0/+19
| | | | | | | | | | | * lto-streamer-in.c (maybe_fixup_handled_component): Remove. (maybe_fixup_decls): Likewise. (input_gimple_stmt): Do not fixup anything. * lto-streamer-out.c (output_gimple_stmt): Make sure all non-automatic variable uses are wrapped inside a MEM_REF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162185 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpoolhubicka2010-07-101-0/+4
| | | | | | | nodes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162025 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-streamer.c (write_symbol_vec): Rename to ...hubicka2010-07-061-129/+135
| | | | | | | | | | | | | | (write_symbol) ... this one; write only symbol given and when present in cache. Sanity check that what is defined is present in cgraph/varpool with body/finalized decl. (write_symbols_of_kind): Remove. (produce_symtab): Take outputblock and sets; use cgraph/varpool/alias pairs to produce symtab. (produce_asm_for_decls): Update call of produce_symtab; don't do so when doing WPA streaming. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161868 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-07-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro. * function.h (struct_function): Change type of local_decls field to a VEC. (add_local_decl): New function. (FOR_EACH_LOCAL_DECL): New macro. * cfgexpand.c (init_vars_expansion): Adjust for new type of cfun->local_decls. (estimated_stack_frame_size): Likewise. (expand_used_vars): Likewise. * cgraphbuild.c (build_cgraph_edges): Likewise. * function.c (instantiate_decls_1): Likewise. * ipa-struct-reorg.c (build_data_structure): Likewise. * ipa-type-escape.c (analyze_function): Likewise. * lto-streamer-in.c (input_function): Likewise. * lto-streamer-out.c (output_function): Likewise. * tree-ssa-live.c (remove_unused_locals): Likewise. * tree.c (free_lang_data_in_decl): Likewise. (find_decls_types_in_node): Likewise. * omp-low.c (remove_exit_barrier): Likewise. (expand_omp_taskreg): Likewise. (list2chain): Rename to... (vec2chain): ...this. Adjust. * cgraphunit.c (assemble_thunk): Call add_local_decl. * tree-cfg.c (replace_by_duplicate_decl): Likewise. * gimple-low.c (record_vars_into): Likewise. * tree-inline.c (remap_decls): Likewise. (declare_return_variable): Likewise. (declare_inline_vars): Likewise. (copy_forbidden): Adjust for new type of cfun->local_decls. (add_local_variables): New function. (expand_call_inline): Call it. (tree_function_versioning): Likewise. gcc/cp/ * decl.c (cp_finish_decl): Call add_local_decl. * optimize.c (clone_body): Adjust for new type of cfun->local_decls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161862 138bc75d-0d04-0410-961f-82ee72b054a4
* * timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,hubicka2010-07-031-2/+2
| | | | | | | | | | | | | | | | | TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars. * cfgexpand.c (gimple_expand_cfg): Use new timevars. * var-tracking.c (vt_find_locations, variable_tracking_main_1): Likewise. * lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out): Update timevars.V * timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove. (TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN, TV_IPA_LTO_DECL_OUT): New. * lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161779 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-14 Richard Guenther <rguenther@suse.de>rguenth2010-06-141-53/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lto-streamer.c (cached_bp): Remove. (bitpack_delete): Likewise. (bitpack_create): Likewise. (bp_get_next_word): Likewise. (bp_pack_value, bp_unpack_value): Move ... * lto-streamer.h (bp_pack_value, bp_unpack_value): ... here. Re-implement. (struct bitpack_d): Likewise. (bitpack_create, lto_output_bitpack, lto_input_bitpack): New inline functions. * lto-streamer-out.c (lto_output_bitpack): Remove. (pack_ts_base_value_fields): Adjust. Avoid conditional bitpacking. (pack_value_fields): Adjust. (lto_write_tree): Likewise. (output_gimple_stmt): Likewise. (output_function): Likewise. * lto-streamer-in.c (input_gimple_stmt): Adjust. (input_function): Likewise. (unpack_ts_base_value_fields): Adjust. Avoid conditional bitpacking. (lto_input_bitpack): Remove. (lto_materialize_tree): Adjust. * Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency. * lto-cgraph.c (lto_output_edge): Adjust. (lto_output_node): Likewise. (lto_output_varpool_node): Likewise. (lto_output_ref): Likewise. (input_node): Likewise. (input_varpool_node): Likewise. (input_ref): Likewise. (input_edge): Likewise. (output_node_opt_summary): Likewise. (input_node_opt_summary): Likewise. * ipa-pure-const.c (pure_const_write_summary): Likewise. (pure_const_read_summary): Likewise. * ipa-prop.c (ipa_write_indirect_edge_info): Likewise. (ipa_read_indirect_edge_info): Likewise. (ipa_write_node_info): Likewise. (ipa_read_node_info): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160760 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-13 Richard Guenther <rguenther@suse.de>rguenth2010-06-131-1/+2
| | | | | | | | | | | | | | | | | | | | * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Do not stream but initialize TYPE_CANONICAL to NULL. (lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL. * gimple.c (gimple_types_compatible_p): Disregard TYPE_STRUCTURAL_EQUALITY_P. (gimple_register_type): Use TYPE_CANONICAL as cache. * lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL before registering common types. * config/i386/i386.c (ix86_function_arg_boundary): Do not use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT. * tree.h (TYPE_CANONICAL): Clarify documentation. lto/ * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160679 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-05-28 Richard Guenther <rguenther@suse.de>rguenth2010-05-281-2/+3
| | | | | | | | | | | | | | | PR lto/44312 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields): Stream fixed-point constants mode. (unpack_ts_type_value_fields): Fix width of TYPE_MODE and TYPE_PRECISION. * lto-streamer-out.c (pack_ts_fixed_cst_value_fields): Stream fixed-point constants mode. (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE and TYPE_PRECISION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159993 138bc75d-0d04-0410-961f-82ee72b054a4
* * diagnostic-core.h: New. Contents moved from diagnostic.h andjsm282010-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | toplev.h. * diagnostic.c: Don't include toplev.h. (progname): Define. Moved from toplev.c. (seen_error): New function. * diagnostic.h: Include diagnostic-core.h. (diagnostic_t, emit_diagnostic): Don't declare here. * toplev.c (progname): Move to toplev.c. (emit_debug_global_declarations, compile_file, finalize, do_compile, toplev_main): Use seen_error. * toplev.h: Include diagnostic-core.h. (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG, internal_error, warning, warning_at, error, error_n, error_at, fatal_error, pedwarn, permerror, sorry, inform, inform_n, verbatim, fnotice, progname): Move to diagnostic-core.h. * builtins.c: Include diagnostic-core.h instead of diagnostic.h. (expand_builtin_expect): Use seen_error. * c-decl.c: Include diagnostic-core.h instead of diagnostic.h. (c_make_fname_decl, c_write_global_declarations): Use seen_error. * c-format.c: Include diagnostic-core.h instead of diagnostic.h. * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h. * c-lang.c: Include diagnostic-core.h instead of diagnostic.h. * c-lex.c (c_lex_with_flags, interpret_float): Don't increment errorcount for errors. * c-opts.c (c_common_finish): Use seen_error. * cgraph.c: Include diagnostic-core.h instead of diagnostic.h. * cgraphunit.c (verify_cgraph_node, verify_cgraph, cgraph_output_pending_asms, cgraph_optimize): Use seen_error. * coverage.c: Include diagnostic-core.h instead of diagnostic.h. (get_coverage_counts): Use seen_error. * dwarf2out.c (dwarf2out_finish): Use seen_error. * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup, gimplify_body): Use seen_error. * ipa-inline.c (cgraph_early_inlining): Use seen_error. * ipa-pure-const.c (gate_pure_const): Use seen_error. * ipa-reference.c (gate_reference): Use seen_error. * jump.c: Include diagnostic-core.h instead of diagnostic.h. * lambda-code.c: Include diagnostic-core.h instead of diagnostic.h. * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h. * lto-compress.c: Include diagnostic-core.h instead of diagnostic.h. * lto-section-in.c: Include diagnostic-core.h instead of diagnostic.h. * lto-streamer-out.c: Include diagnostic-core.h instead of diagnostic.h. * lto-streamer.c: Include diagnostic-core.h instead of diagnostic.h. (gate_lto_out): Use seen_error. * matrix-reorg.c: Include diagnostic-core.h instead of diagnostic.h. * omega.c: Include diagnostic-core.h instead of diagnostic.h. * omp-low.c: Include diagnostic-core.h instead of diagnostic.h. (gate_expand_omp, lower_omp_1): Use seen_error. * passes.c: Include diagnostic-core.h instead of diagnostic.h. (rest_of_decl_compilation, rest_of_type_compilation, gate_rest_of_compilation, ipa_write_summaries): Use seen_error. * tree-cfg.c (label_to_block_fn): Use seen_error. * tree-inline.c (optimize_inline_calls): Use seen_error. * tree-mudflap.c (mudflap_finish_file): Use seen_error. * tree-optimize.c (gate_all_optimizations, gate_all_early_local_passes, gate_all_early_optimizations): Use seen_error. * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error. * varpool.c: Include diagnostic-core.h instead of diagnostic.h. (varpool_remove_unreferenced_decls, varpool_assemble_pending_decls): Use seen_error. * Makefile.in (DIAGNOSTIC_CORE_H): Define. (TOPLEV_H, DIAGNOSTIC_H): Update. (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o, lto-streamer-out.o, lto-section-in.o, lto-streamer.o, c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o, builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o, coverage.o, lambda-code.o): Update dependencies. cp: * call.c: Include diagnostic-core.h instead of diagnostic.h. * cp-lang.c: Don't include diagnostic.h * name-lookup.c: Include diagnostic-core.h instead of diagnostic.h. (cp_emit_debug_info_for_using): Use seen_error. * optimize.c: Include diagnostic-core.h instead of diagnostic.h. * parser.c: Include diagnostic-core.h instead of diagnostic.h. * pt.c (iterative_hash_template_arg): Use seen_error. * repo.c: Include diagnostic-core.h instead of diagnostic.h. * typeck2.c: Include diagnostic-core.h instead of diagnostic.h. * Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o, cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update dependencies. lto: * lto.c: Include diagnostic-core.h instead of diagnostic.h. (read_cgraph_and_symbols, lto_main): Use seen_error. * Make-lang.in (lto/lto.o): Update dependencies. objc: * objc-act.c: Include diagnostic-core.h instead of diagnostic.h. * Make-lang.in (objc/objc-act.o): Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159947 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.h (struct function): Add can_throw_non_call_exceptions bit.ebotcazou2010-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lto-streamer-in.c (input_function): Stream it in. * lto-streamer-out.c (output_function): Stream it out. * function.c (allocate_struct_function): Set it. (expand_function_end): Substitute cfun->can_throw_non_call_exceptions for flag_non_call_exceptions. * cfgbuild.c (control_flow_insn_p): Likewise. (make_edges): Likewise. * cfgexpand.c (expand_stack_alignment): Likewise. * combine.c (distribute_notes): Likewise. * cse.c (cse_extended_basic_block): Likewise. * except.c (insn_could_throw_p): Likewise. * gcse.c (simple_mem): Likewise. * ipa-pure-const.c (check_call): Likewise. (check_stmt ): Likewise. * lower-subreg.c (lower-subreg.c): Likewise. * optabs.c (emit_libcall_block): Likewise. (prepare_cmp_insn): Likewise. * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise. * postreload.c (rest_of_handle_postreload): Likewise. * reload1.c (reload_as_needed): Likewise. (emit_input_reload_insns): Likewise. (emit_output_reload_insns): Likewise. (fixup_abnormal_edges): Likewise. * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise. * store-motion.c (find_moveable_store): Likewise. * tree-eh.c (stmt_could_throw_p): Likewise. (tree_could_throw_p): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. * config/arm/arm.c (arm_expand_prologue): Likewise. (thumb1_expand_prologue): Likewise. * config/rx/rx.md (cbranchsf4): Likewise. (cmpsf): Likewise. * config/s390/s390.c (s390_emit_prologue): Likewise. * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions. (inline_forbidden_into_p): New predicate. (expand_call_inline): Use it to forbid inlining. (tree_can_inline_p): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159847 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2010-05-181-0/+1
| | | | | | | | | | | | | | | | PR lto/44184 * lto-streamer-out.c (output_gimple_stmt): Output number of labels in a GIMPLE_ASM. * lto-streamer-in.c (input_gimple_stmt): Read number of labels in a GIMPLE_ASM. testsuite/ PR lto/44184 * gcc.dg/lto/20100518_0.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159531 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-streamer-out.c (lto_output): Fix --enable-checking=releasejakub2010-05-171-0/+2
| | | | | | | build. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159473 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_clone_node): Take decl argument and inserthubicka2010-05-161-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clone into hash when it is different from orig. (cgraph_create_virtual_clone): Update use of cgraph_clone_node. * cgraph.h (cgraph_clone_node): Update prototype. * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map. (lto_cgraph_encoder_delete): Delete body map. (lto_cgraph_encoder_size): Move to header. (lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New. (lto_output_node): Do not take written_decls argument; output clone_of pointer. (add_node_to): Add include_body_argument; call lto_set_cgraph_encoder_encode_body on master of the clone. (add_references): Update use of add_node_to. (compute_ltrans_boundary): Likewise. (output_cgraph): Do not create written_decls bitmap. (input_node): Take nodes argument; stream in clone_of correctly. (input_cgraph_1): Update use of input_node. * lto-streamer-out.c (lto_output): Use encoder info to decide what bodies to output. * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_decide_recursive_inlining): Update call of cgraph_clone_node. * lto-streamer.h (lto_cgraph_encoder_d): Add body. (lto_cgraph_encoder_size): Define here. (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159466 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited ↵hubicka2010-05-101-1/+6
| | | | | | change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159234 138bc75d-0d04-0410-961f-82ee72b054a4
* * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocatehubicka2010-05-101-0/+1
| | | | | | | | | | | | | | encoders. * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here. * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool. (lto_streamer_cache_create): Init alloc pool. (lto_streamer_cache_delete): Free alloc pool. * lto-streamer.h: Include alloc pool. (lto_streamer_cache_d): Use alloc pool. * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159230 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-cgraph.c (output_varpool): Forward declare; work on encoder.hubicka2010-05-051-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (lto_varpool_encoder_new, lto_varpool_encoder_delete, lto_varpool_encoder_encode lto_varpool_encoder_lookup, lto_varpool_encoder_deref, lto_varpool_encoder_size, lto_varpool_encoder_encode_initializer_p, lto_set_varpool_encoder_encode_initializer): New functions. (lto_output_cgraph): Take vset parameter too; compute varpool encoder; call output_varpool. (input_varpool_node): Do not always set analyzed. (input_cgraph_1): Return vector of cgraph nodes. (input_varpool_1): Return vector of varpools. (input_cgraph): Free the vectors. * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers): output only initializers needed. (lto_output): Only call output_cgraph. (produce_asm_for_decls): Call lto_varpool_encoder_delete. * lto-section-out.c (lto_new_out_decl_state): Initialize state->varpool_node_encoder. * lto-streamer.h (lto_varpool_encoder_d): New. (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder. (lto_cgraph_encoder_delete, output_cgraph): Update prototype. (lto_varpool_encoder_deref, lto_varpool_encoder_lookup, lto_varpool_encoder_encode, lto_varpool_encoder_delete, lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new): Declare. (output_varpool, input_varpool): Remove declarations. * lto.c (lto_1_to_1_map): Partition only needed nodes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159062 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:steven2010-04-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * toplev.c: Include varray.h for statistics dumping. * tree.h: Do not declare varray_head_tag. * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c, regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c, c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c, gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c, lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c, tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c, c-common.c, c-common.h, reg-stack.c, basic-block.h, tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not include varray.h. * Makefile.in: Update for abovementioned changes. objc/ChangeLog: * objc-act.c: Do not include varray.h. objcp/ChangeLog: * objcp-decl.c: Do not include varray.h. cp/ChangeLog: * optimize.c, parser.c,mangle.c, cp-tree.h: DO not include varray.h. * Make-lang.in: Don't include varray.h dependency in CXX_TREE_H. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158933 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-symtab.c (lto_symtab_entry_def) Add vnode.hubicka2010-04-291-57/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (lto_varpool_replace_node): New. (lto_symtab_resolve_symbols): Resolve varpool nodes. (lto_symtab_merge_decls_1): Prefer decls with varpool node. (lto_symtab_merge_cgraph_nodes_1): Merge varpools. * cgraph.h (varpool_node_ptr): New type. (varpool_node_ptr): New vector. (varpool_node_set_def): New structure. (varpool_node_set): New type. (varpool_node_set): New vector. (varpool_node_set_element_def): New structure. (varpool_node_set_element, const_varpool_node_set_element): New types. (varpool_node_set_iterator): New type. (varpool_node): Add prev pointers, add used_from_other_partition, in_other_partition. (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add, varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set, varpool_get_node, varpool_remove_node): Declare. (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p, varpool_node_set_size): New inlines. * cgraph.c (dump_cgraph_node): Dump asm names of aliases. * tree-pass.h (varpool_node_set_def): Forward declare. (ipa_opt_pass_d): Summary writting takes vnode sets too. (ipa_write_optimization_summaries): Update prototype. * ipa-cp.c (ipcp_write_summary): Update. * ipa-reference.c (ipa_reference_write_summary): Update. * lto-cgraph.c (lto_output_varpool_node): New static function. (output_varpool): New function. (input_varpool_node): New static function. (input_varpool_1): New function. (input_cgraph): Input varpool. * ipa-pure-const.c (pure_const_write_summary): Update. * lto-streamer-out.c (lto_output): Update, output varpool too. (write_global_stream): Kill WPA hack. (produce_asm_for_decls): Update. (output_alias_pair_p): Handle variables. (output_unreferenced_globals): Output only needed partition of varpool. * ipa-inline.c (inline_write_summary): Update. * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph. * lto-section-in.c (lto_section_name): Add varpool and jump funcs. * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element, varpool_node_set_new, varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set, debug_varpool_node_set): New functions. * passes.c (rest_of_decl_compilation): when in LTO do not finalize. (execute_one_pass): Process new decls too. (ipa_write_summaries_2): Pass around vsets. (ipa_write_summaries_1): Likewise. (ipa_write_summaries): Build vset; be more selective about cgraph nodes to add. (ipa_write_optimization_summaries_1): Pass around vsets. (ipa_write_optimization_summaries): Likewise. * varpool.c (varpool_get_node): New. (varpool_node): Update doubly linked lists. (varpool_remove_node): New. (dump_varpool_node): More dumping. (varpool_enqueue_needed_node): Update doubly linked lists. (decide_is_variable_needed): Kill ltrans hack. (varpool_finalize_decl): Kill lto hack. (varpool_assemble_decl): Skip decls in other partitions. (varpool_assemble_pending_decls): Update doubly linkes lists. (varpool_empty_needed_queue): Likewise. (varpool_extra_name_alias): Likewise. * lto-streamer.c (lto_get_section_name): Add vars section. * lto-streamer.h (lto_section_type): Update. (output_varpool, input_varpool): Declare. * lto.c (lto_varpool_node_sets): New. (lto_1_to_1_map): Partition varpool too. (globalize_context_t, globalize_cross_file_statics, lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node, lto_scan_statics_in_remaining_global_vars): Remove. (lto_promote_cross_file_statics): Rewrite. (get_filename_for_set): Take vset argument. (lto_wpa_write_files): Pass around vsets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158854 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test forebotcazou2010-04-281-5/+6
| | | | | | | | | | record or union type with RECORD_OR_UNION_TYPE_P predicate. (lto_input_ts_type_tree_pointers): Likewise. * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. (lto_output_ts_type_tree_pointers): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158841 138bc75d-0d04-0410-961f-82ee72b054a4
* Uniquization of constants at the Tree levelebotcazou2010-04-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (DECL_IN_CONSTANT_POOL): New macro (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p bit to the end. (tree_output_constant_def): Declare. * gimplify.c (gimplify_init_constructor): When using block copy, uniquize the constant constructor on the RHS. * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with DECL_IN_CONSTANT_POOL flag. * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise. * varasm.c (make_decl_rtl): Deal with variables belonging to the global constant pool. (assemble_variable): Deal with symbols belonging to the tree constant pool. (get_constant_section): Add ALIGN parameter and simplify. (build_constant_desc): Build a VAR_DECL and attach it to the symbol. (assemble_constant_contents): Use the expression of the VAR_DECL. (output_constant_def_contents): Use the alignment of the VAR_DECL. (tree_output_constant_def): New global function. (mark_constant): Use the expression of the VAR_DECL. (place_block_symbol): Use the alignment of the VAR_DECL and the size of its expression. (output_object_block): Likewise and assemble the expression. ada/ * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize constant constructors before taking their address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158838 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_create_node): Set node frequency to normal.hubicka2010-04-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cgraph_clone_node): Copy function frequency. * cgraph.h (node_frequency): New enum (struct cgraph_node): Add. * final.c (rest_of_clean_state): Update. * lto-cgraph.c (lto_output_node): Output node frequency. (input_overwrite_node): Input node frequency. * tre-ssa-loop-ivopts (computation_cost): Update. * lto-streamer-out.c (output_function): Do not output function frequency. * predict.c (maybe_hot_frequency_p): Update and handle functions executed once. (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of attribute lookup. (probably_never_executed_bb_p, optimize_function_for_size_p): Update. (compute_function_frequency): Set noreturn functions to be executed once. (choose_function_section): Update. * lto-streamer-in.c (input_function): Do not input function frequency. * function.c (allocate_struct_function): Do not initialize function frequency. * function.h (function_frequency): Remove. (struct function): Remove function frequency. * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove. (try_update): Update. * tree-inline.c (initialize_cfun): Do not update function frequency. * passes.c (pass_init_dump_file): Update. * i386.c (ix86_compute_frame_layout): Update. (ix86_pad_returns): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158732 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;hubicka2010-04-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | add write_optimization_summary, read_optimization_summary. (ipa_write_summaries_of_cgraph_node_set): Remove. (ipa_write_optimization_summaries): Declare. (ipa_read_optimization_summaries): Declare. * ipa-cp.c (pass_ipa_cp): Update. * ipa-reference.c (pass_ipa_reference): Update. * ipa-pure-const.c (pass_ipa_pure_const): Update. * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish): Update. * ipa-inline.c (pass_ipa_inline): Update. * ipa.c (pass_ipa_whole_program): Update. * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update. * passes.c (ipa_write_summaries_1): Do not test wpa. (ipa_write_optimization_summaries_1): New. (ipa_write_optimization_summaries): New. (ipa_read_summaries): Do not test ltrans. (ipa_read_optimization_summaries_1): New. (ipa_read_optimization_summaries): New. * lto.c (lto_wpa_write_files): Update. (read_cgraph_and_symbols): Be more verbose. (materialize_cgraph): Likewise. (do_whole_program_analysis): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158616 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/12909jason2010-03-031-0/+13
| | | | | | | | * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias. * lto-streamer-in.c (lto_input_tree): Read it. * lto-streamer-out.c (output_unreferenced_globals): Write it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157204 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...jason2010-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | (TYPE_TRANSPARENT_AGGR): this, for union and record. * calls.c (initialize argument_information): Handle it. * c-common.c (handle_transparent_union_attribute): Use new name. * c-decl.c (finish_struct): Ditto. * c-typeck.c (type_lists_compatible_p): Ditto. (convert_for_assignment): Use new name and also handle record. * function.c (aggregate_value_p): Handle it. (pass_by_reference): Ditto. (assign_parm_data_types): Ditto. * print-tree.c (print_node): Ditto. * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto. * lto-streamer-out.c (pack_ts_type_value_fields): Ditto. * tree.c (first_field): New fn. gcc/cp/ * mangle.c (write_type): Mangle transparent record as member type. * semantics.c (begin_class_definition): Recognize decimal classes and set TYPE_TRANSPARENT_AGGR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156106 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-13 Richard Guenther <rguenther@suse.de>rguenth2010-01-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155853 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-10 Rafael Avila de Espindola <espindola@google.com>espindola2010-01-111-4/+7
| | | | | | | | | | | | | * gcc.dg/lto/20100108_0.c: New. 2010-01-10 Rafael Avila de Espindola <espindola@google.com> * lto-streamer-out.c (output_unreferenced_globals): Output static variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155800 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-01-04 Rafael Avila de Espindola <espindola@google.com>espindola2010-01-041-1/+6
| | | | | | | | | | | | | * gcc.dg/lto/20100104_0.c: New. 2010-01-04 Rafael Avila de Espindola <espindola@google.com> * lto-streamer-out.c (output_unreferenced_globals): Output the full tree of an unreferenced global var. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155619 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove asterisk in LTO section name.hjl2010-01-011-11/+4
| | | | | | | | | | | | | | 2010-01-01 H.J. Lu <hongjiu.lu@intel.com> PR lto/42531 * lto-streamer-out.c (produce_asm): Revert the last change. (copy_function): Likewise. * lto-streamer.c (lto_get_section_name): Skip any leading asterisk in name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155555 138bc75d-0d04-0410-961f-82ee72b054a4
* PR lto/42531davek2009-12-301-3/+10
| | | | | | | | | | * lto-streamer-out.c (produce_asm): Skip any leading asterisk when using DECL_ASSEMBLER_NAME to generate a section name. (copy_function): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155528 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-19 Richard Guenther <rguenther@suse.de>rguenth2009-12-191-2/+4
| | | | | | | | | | | | PR lto/42401 * lto-streamer-out.c (tree_is_indexable): Local statics are indexable. (lto_output_tree_ref): Adjust assert. * g++.dg/lto/20091219_0.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155361 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-15 Richard Guenther <rguenther@suse.de>rguenth2009-12-151-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET and BINFO_VPTR_FIELD. (free_lang_data_in_type): Do not free TYPE_STUB_DECL if we generate debug information. (free_lang_data_in_decl): Do not free DECL_SIZE_UNIT, DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT. (free_lang_data): Do not disable debuginfo. * lto-streamer-out.c (write_symbol_vec): Deal with non-constant DECL_SIZE. (pack_ts_base_value_fields): Write types with false TREE_ASM_WRITTEN. (lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL. * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream TYPE_STUB_DECL. * dwarf2out.c (add_pure_or_virtual_attribute): Check for DECL_CONTEXT. (gen_type_die_for_member): Test for TYPE_STUB_DECL. * opts.c (decode_options): Do not disable var-tracking for lto. * doc/invoke.texi (-flto): Document -flto vs. -g experimental status. (-fwhopr): Document experimental status. lto/ * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET. (lto_post_options): Do not disable debuginfo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155259 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-11 Richard Guenther <rguenther@suse.de>rguenth2009-12-111-28/+13
| | | | | | | | | | | PR lto/41658 PR lto/41657 * lto-streamer-out.c (write_global_stream): Do not make decls weak but resort to TREE_ASM_WRITTEN to avoid multiple definitions. Make sure to mark all decls that we have written. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155174 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-04 Richard Guenther <rguenther@suse.de>rguenth2009-12-041-3/+6
| | | | | | | | | | | * lto-streamer-out.c (pack_ts_decl_common_value_fields): Revert previous change. (lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR. * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154980 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-12-02 Richard Guenther <rguenther@suse.de>rguenth2009-12-021-1/+3
| | | | | | | | * lto-streamer-out.c (pack_ts_decl_common_value_fields): Do not pretend we have value exprs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154921 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove trailing white spaces.hjl2009-11-251-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-11-25 H.J. Lu <hongjiu.lu@intel.com> * alias.c: Remove trailing white spaces. * alloc-pool.c: Likewise. * alloc-pool.h: Likewise. * attribs.c: Likewise. * auto-inc-dec.c: Likewise. * basic-block.h: Likewise. * bb-reorder.c: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * builtins.def: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-cppbuiltin.c: Likewise. * c-decl.c: Likewise. * c-format.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-parser.c: Likewise. * c-pretty-print.c: Likewise. * c-tree.h: Likewise. * c-typeck.c: Likewise. * caller-save.c: Likewise. * calls.c: Likewise. * cfg.c: Likewise. * cfganal.c: Likewise. * cfgexpand.c: Likewise. * cfghooks.c: Likewise. * cfghooks.h: Likewise. * cfglayout.c: Likewise. * cfgloop.c: Likewise. * cfgloop.h: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphbuild.c: Likewise. * cgraphunit.c: Likewise. * cif-code.def: Likewise. * collect2.c: Likewise. * combine.c: Likewise. * convert.c: Likewise. * coverage.c: Likewise. * crtstuff.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * dbgcnt.c: Likewise. * dbgcnt.def: Likewise. * dbgcnt.h: Likewise. * dbxout.c: Likewise. * dce.c: Likewise. * ddg.c: Likewise. * ddg.h: Likewise. * defaults.h: Likewise. * df-byte-scan.c: Likewise. * df-core.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * df.h: Likewise. * dfp.c: Likewise. * diagnostic.c: Likewise. * diagnostic.h: Likewise. * dominance.c: Likewise. * domwalk.c: Likewise. * double-int.c: Likewise. * double-int.h: Likewise. * dse.c: Likewise. * dwarf2asm.c: Likewise. * dwarf2asm.h: Likewise. * dwarf2out.c: Likewise. * ebitmap.c: Likewise. * ebitmap.h: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * except.c: Likewise. * except.h: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * final.c: Likewise. * flags.h: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * fwprop.c: Likewise. * gcc.c: Likewise. * gcov-dump.c: Likewise. * gcov-io.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * genchecksum.c: Likewise. * genconfig.c: Likewise. * genflags.c: Likewise. * gengtype-parse.c: Likewise. * gengtype.c: Likewise. * gengtype.h: Likewise. * genmddeps.c: Likewise. * genmodes.c: Likewise. * genopinit.c: Likewise. * genpreds.c: Likewise. * gensupport.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * ggc-zone.c: Likewise. * ggc.h: Likewise. * gimple-iterator.c: Likewise. * gimple-low.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple.c: Likewise. * gimple.def: Likewise. * gimple.h: Likewise. * gimplify.c: Likewise. * graphds.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * gthr-nks.h: Likewise. * gthr-posix.c: Likewise. * gthr-posix.h: Likewise. * gthr-posix95.h: Likewise. * gthr-single.h: Likewise. * gthr-tpf.h: Likewise. * gthr-vxworks.h: Likewise. * gthr.h: Likewise. * haifa-sched.c: Likewise. * hard-reg-set.h: Likewise. * hooks.c: Likewise. * hooks.h: Likewise. * hosthooks.h: Likewise. * hwint.h: Likewise. * ifcvt.c: Likewise. * incpath.c: Likewise. * init-regs.c: Likewise. * integrate.c: Likewise. * ipa-cp.c: Likewise. * ipa-inline.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa-struct-reorg.h: Likewise. * ipa-type-escape.c: Likewise. * ipa-type-escape.h: Likewise. * ipa-utils.c: Likewise. * ipa-utils.h: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-emit.c: Likewise. * ira-int.h: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * jump.c: Likewise. * lambda-code.c: Likewise. * lambda-mat.c: Likewise. * lambda-trans.c: Likewise. * lambda.h: Likewise. * langhooks.c: Likewise. * lcm.c: Likewise. * libgcov.c: Likewise. * lists.c: Likewise. * loop-doloop.c: Likewise. * loop-init.c: Likewise. * loop-invariant.c: Likewise. * loop-iv.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-compress.c: Likewise. * lto-opts.c: Likewise. * lto-section-in.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-streamer.h: Likewise. * lto-symtab.c: Likewise. * lto-wpa-fixup.c: Likewise. * matrix-reorg.c: Likewise. * mcf.c: Likewise. * mode-switching.c: Likewise. * modulo-sched.c: Likewise. * omega.c: Likewise. * omega.h: Likewise. * omp-low.c: Likewise. * optabs.c: Likewise. * optabs.h: Likewise. * opts-common.c: Likewise. * opts.c: Likewise. * params.def: Likewise. * params.h: Likewise. * passes.c: Likewise. * plugin.c: Likewise. * postreload-gcse.c: Likewise. * postreload.c: Likewise. * predict.c: Likewise. * predict.def: Likewise. * pretty-print.c: Likewise. * pretty-print.h: Likewise. * print-rtl.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * read-rtl.c: Likewise. * real.c: Likewise. * recog.c: Likewise. * reg-stack.c: Likewise. * regcprop.c: Likewise. * reginfo.c: Likewise. * regmove.c: Likewise. * regrename.c: Likewise. * regs.h: Likewise. * regstat.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * resource.c: Likewise. * rtl.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sbitmap.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-int.h: Likewise. * sched-rgn.c: Likewise. * sched-vis.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-dump.h: Likewise. * sel-sched-ir.c: Likewise. * sel-sched-ir.h: Likewise. * sel-sched.c: Likewise. * sel-sched.h: Likewise. * sese.c: Likewise. * sese.h: Likewise. * simplify-rtx.c: Likewise. * stack-ptr-mod.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * stringpool.c: Likewise. * stub-objc.c: Likewise. * sync-builtins.def: Likewise. * target-def.h: Likewise. * target.h: Likewise. * targhooks.c: Likewise. * targhooks.h: Likewise. * timevar.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * toplev.h: Likewise. * tracer.c: Likewise. * tree-affine.c: Likewise. * tree-affine.h: Likewise. * tree-browser.def: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-chrec.h: Likewise. * tree-complex.c: Likewise. * tree-data-ref.c: Likewise. * tree-data-ref.h: Likewise. * tree-dfa.c: Likewise. * tree-dump.c: Likewise. * tree-dump.h: Likewise. * tree-eh.c: Likewise. * tree-flow-inline.h: Likewise. * tree-flow.h: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-loop-linear.c: Likewise. * tree-mudflap.c: Likewise. * tree-nested.c: Likewise. * tree-nomudflap.c: Likewise. * tree-nrv.c: Likewise. * tree-object-size.c: Likewise. * tree-optimize.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-pass.h: Likewise. * tree-phinodes.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-coalesce.c: Likewise. * tree-ssa-copy.c: Likewise. * tree-ssa-copyrename.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-live.h: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-operands.c: Likewise. * tree-ssa-operands.h: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-ter.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa.c: Likewise. * tree-ssanames.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vectorizer.c: Likewise. * tree-vectorizer.h: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * tree.def: Likewise. * tree.h: Likewise. * treestruct.def: Likewise. * unwind-compat.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2.c: Likewise. * value-prof.c: Likewise. * value-prof.h: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * vec.c: Likewise. * vec.h: Likewise. * vmsdbgout.c: Likewise. * web.c: Likewise. * xcoffout.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154645 138bc75d-0d04-0410-961f-82ee72b054a4
* (patch by Richard Guenther)hubicka2009-11-111-3/+3
| | | | | | | | | | * lto-streamer-out.c (output_function): Output head of argument list earlier. * lto-streamer-in.c (input_function): Re-map arguments into merged declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154105 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-10 Martin Jambor <mjambor@suse.cz>jamborm2009-11-101-0/+2
| | | | | | | | | | | | | | | | | | | | * tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field. (execute_all_ipa_stmt_fixups): Declare. * ipa-cp.c (pass_ipa_cp): Added stmt_fixup value. * ipa-inline.c (pass_ipa_inline): Likewise. * ipa-pure-const.c (pass_ipa_pure_cons): Likewise. * ipa-reference.c (pass_ipa_reference): Likewise. * ipa.c (pass_ipa_whole_program_visibility): Likewise. * lto-streamer-out.c (pass_ipa_lto_gimple_out): Likewise. (pass_ipa_lto_finish_out): Likewise. * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Likewise. * passes.c (execute_ipa_stmt_fixups): New function. (execute_all_ipa_stmt_fixups): New function. * lto-streamer-in.c (input_function): Call execute_all_ipa_stmt_fixups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154064 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-25 Richard Guenther <rguenther@suse.de>rguenth2009-10-251-0/+1
| | | | | | | | | * lto-streamer-in.c (unpack_ts_decl_common_value_fields): Stream DECL_RESTRICTED_P. * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153542 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-22 Richard Guenther <rguenther@suse.de>rguenth2009-10-221-0/+1
| | | | | | | | | | | | PR lto/41791 * lto-streamer-out.c (lto_output_location): Stream the system header flag. * lto-streamer-in.c (lto_input_location): Likewise. * g++.dg/lto/20091022-2_0.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153459 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-cp.c (ipcp_write_summary, ipcp_read_summary): New functions.hubicka2009-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (pass_ipa_cp): Register them. (ipcp_init_stage): Analyze all functions for whopr/lto. (ipcp_propagate_stage): Skip external calls. (ipcp_iterate_stage): Call ipa_update_after_lto_read if needed. * ipa-reference.c (write_node_summary_p): Fix thinko about availability. * cgraphunit.c (ipa_passes): When in lto, ne er produce new summaries; when in ltrans, skip executing of ipa passes since everything should've been done. * ipa-inline.c (cgraph_decide_inlining): Remove FIXMEs. (inline_generate_summary): Likewise. (inline_read_summary): New function. (inline_write_summary): New function. (pass_ipa_inline): Register new hooks. * ipa-prop.c: Inlcude lto-streamer.h (ipa_edge_args_vector): Update declaration. (ipa_count_arguments, ipa_compute_jump_functions, ipa_free_edge_args_substructures): Move ipa_edge_args_vector into ggc. (ipa_write_jump_function, ipa_read_jump_function, ipa_write_node_info, ipa_read_node_info): New static functions. (ipa_prop_write_jump_functions, ipa_prop_read_jump_functions): Update. (duplicate_array): Use xmalloc. (duplicate_ggc_array): New. (ipa_edge_duplication_hook): Use it. (ipa_update_after_lto_read): New function. * ipa-prop.h (ipa_prop_write_jump_functions, ipa_prop_read_jump_functions): Declare. (ipa_pass_through_data, ipa_ancestor_jf_data, ipa_member_ptr_cst, jump_func_value, ipa_member_ptr_cst, ipa_edge_args): Add GTY markers. (ipa_edge_args_vector): Move into GGC. (ipa_check_create_edge_args): Update. (ipa_update_after_lto_read): New. * passes.c (ipa_write_summaries_1): When in wpa, do not write summaries. (ipa_read_summaries): When in ltrans, so not read summaries. * lto-streamer.c (lto_get_section_name): Add LTO_section_jump_functions. * lto-streamer.h (LTO_section_jump_functions): New section. (produce_asm): Declare. * lto-cgraph.c (output_cgraph): Output edges in reverse order. * lto-streamer-out.c (produce_asm): Export. * lto-streamer-in.c: Include tree-pass.h (input_function): Free dominance info when done. (lto_read_body): Push ipa_inline in ltrans stage. * gengtype.c (open_base_files): Add ipa-prop.h into includes. * Makefile.in (GTFILES): Add ipa-prop.h * lto.c (lto_fixup_jump_functions): New function. (lto_fixup_decls): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153449 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-16 Richard Guenther <rguenther@suse.de>rguenth2009-10-161-0/+1
| | | | | | | | | | | PR lto/41713 * lto-streamer-out.c (lto_output_tree_ref): Handle DEBUG_EXPR_DECL the same as VAR_DECL. * gfortran.dg/lto/20091016-1_0.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152902 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-09 Richard Guenther <rguenther@suse.de>rguenth2009-10-091-8/+7
| | | | | | | | | | | | | | | | | | | | | | | PR lto/41638 * target-def.h (TARGET_BUILTIN_DECL): Define. (TARGET_INITIALIZER): Add TARGET_BUILTIN_DECL. * target.h (struct gcc_target): Add builtin_decl target hook. * doc/tm.texi (TARGET_BUILTIN_DECL): Document. * lto-streamer-in.c (lto_get_builtin_tree): Fix handling of target builtins. * lto-streamer-out.c (lto_output_tree_pointers): Use sorry, not gcc_unreachable. (lto_output_builtin_tree): Sorry if the target does not support streaming target builtins. * config/rs6000/rs6000.c (TARGET_BUILTIN_DECL): Define. (rs6000_builtin_decl): New function. * config/i386/i386.c (TARGET_BUILTIN_DECL): Define. (ix86_builtin_decl): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152606 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/41573matz2009-10-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * builtins.c (fold_builtin_isascii): Use fold_build2. (fold_builtin_isdigit): Ditto. * except.c (duplicate_eh_regions_1): Tolerate NULL labels. * tree-cfg.c (struct rus_data, remove_useless_stmts_warn_notreached, remove_useless_stmts_cond, remove_useless_stmts_tf, remove_useless_stmts_tc, remove_useless_stmts_bind, remove_useless_stmts_goto, remove_useless_stmts_label, remove_useless_stmts_1, remove_useless_stmts, pass_remove_useless_stmts): Remove. * tree-pass.h (pass_remove_useless_stmts): Don't declare. * passes.c (init_optimization_passes): Don't add pass_remove_useless_stmts. * tree-eh.c (lower_eh_constructs_2): Handle empty cleanups. * tree.c (free_lang_data_in_decl): Don't clear DECL_INITIAL of static constants. * lto-symtab.c (lto_symtab_register_decl): Accepts DECL_INITIAL for static constants. * lto-streamer-out.c (output_gimple_stmt): Handle GIMPLE_NOP. * lto-streamer-in.c (input_gimple_stmt): Handle GIMPLE_NOP. testsuite/ * gcc.dg/tree-ssa/foldstring-1.c: Use fre dump. * gcc.dg/tree-ssa/useless-1.c: Use gimple dump. * gcc.dg/pr41573.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152563 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge lto branch into trunk.dnovillo2009-10-031-0/+2548
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152434 138bc75d-0d04-0410-961f-82ee72b054a4